基于Google Maps API等高线地形图专题网页的开发与应用

2013-08-02 01:02江苏省盐城经济技术开发区中学224007冯美顺
地理教学 2013年2期
关键词:专题地图剖面图等高线

江苏省盐城经济技术开发区中学(224007) 冯美顺 王 圣 王 霞

Google Maps API(以下简称API)是Google为开发者提供的Maps编程API,目前已升级为第3版。它允许开发者在不必建立自己的地图服务器的情况下,将Google地图嵌入到网站之中,从而实现嵌入Google地图的服务应用。此外,API还提供了大量实用工具以处理地图,通过各种服务向地图添加内容,使开发者能够开发出各种各样有趣的地图应用程序,等高线地形图专题网页(以下简称专题网页)就是一个基于API开发的,能应用于中学地理课堂教学的地图应用程序。

一、地形图专题网页的主要功能

根据中学地理等高线地形图的教学要求和Google地形图的特点,专题网页(网址http://www.yckz.cn/dl/contourmap.aspx)在开发中主要规划了以下功能:

1. 显示区域等高线地形图

专题网页中默认显示的是台湾南部某区域的等高线地形图,通过平移和缩放操作,还可以随意显示其它地区的等高线地形图,功能界面如下图1所示。

图1 显示区域等高线地形图

2. 标记地点

专题地图允许教师在地图上任意标记地点,并能自动显示标记点的海拔高度和点间的水平距离,功能界面如下图2所示。

图2 在等高线地形图上标记地点并自动显示海拔

3. 自动连接标记点并生成地形剖面图

如果教师在地图上标记了两个以上的地点,则这些点能自动连接成线。点击地图下的“生成剖面图”按钮,还可以自动绘制出沿路线的地形剖面图,功能界面如下图3所示。

图3 自动连接标记点并生成地形剖面图

二、专题网页的开发重点与解决技术

1. 把地图嵌入网页中

API是通过JavaScript将地图嵌入到网页中的,在网页上显示Google地图只需几个简单的步骤:

· 使用 script 标记载入 Google Maps API

· 定义 JavaScript 对象常量

· 编写创建“map”对象的JavaScript 函数

设定以台湾南部某地为中心的等高线地形图的主要代码如下:

以上代码中,script标记内的http://maps.googleapis.com/maps/api/js网址指向Google Maps API JavaScript文件所在的位置,该文件会载入使用API所需的全部符号与定义,由于专题地图无需传感器确定位置,所以还要把sensor参数的值设置为false。

API提供了四种地图类型,分别是道路地图、地球卫星图像、普通地图和卫星图以及地形图,Google地图网站默认的地图类型是道路地图(ROADMAP),专题网页选用的是地形图(TERRAIN)。

2. 标记地图上的地点

仅有上述代码还不能够支持教师在专题地图上自由标记地点的交互操作。在API中,地图上显示的每个对象都已包含了大量命名的事件,开发者可以通过在event命名空间中注册addListener事件侦听器,对用户操作做出响应。专题地图中,需要创建的用户操作响应是当他们在点击地图时,在所点击的位置创建一个标记。实现这样的操作效果,首先需要在初始化地图函数中添加地图事件侦听器,然后再构造出相应的事件处理程序。专题地图中添加的事件侦听器的语句如下,它的三个参数分别是地图、鼠标单击和添加标记函数。

google.maps.event.addListener(map, 'click',addMarker);

Google地图上的标记是指地图上的单个位置,它与专题网页中根据点自动连成的折线一样,都属于叠加层。API中的叠加层是地图上与经纬度坐标绑定的对象,会随用户拖动或缩放地图而移动。设置标记用google.maps.Marker方法,而把点连成折线则应使用google.maps.Polyline方法,示例代码如下。

google.maps.Marker方法中position属性将决定该标记在地图上的位置,因此必须指定一个LatLng对象(经纬度坐标)。google.maps.Polyline方法中,path属性值是必须指定的,不过与标记单个位置的点不同,它需要指定为LatLng对象的数组,并且只有当数组中包含两个以上的值时,折线才会显示。专题地图中,LatLng对象的值是由用户点击地图时产生的,并由参数location负责传递。

3. 显示海拔与距离

专题地图上点的海拔高度和折线的实际距离,是通过调用API的外部服务得到的,其中地面上点的海拔数据是由ElevationService服务提供的,而DistanceMatrixService则提供距离服务。通过构建海拔和距离服务对象,可实现在专题地图上显示海拔和水平距离的功能。服务对象构建的代码如下:

A P I中单独地点的海拔服务请求使用的是getElevationForLocations()方法,由于绘制地表剖面图需要取得剖面线上一系列点的海拔,因此需要调用getElevationAlongPath() 方法,在调用此方法时,必须传递一个沿剖面线提取多少个点的参数。调用getElevationAlongPath的代码格式如下。

为防止出现滥用服务的现象,API对海拔服务设置了评分限制,对距离服务虽没有设评分限制,但如果在特定时间内请求过多,也会返回OVER_QUERY_LIMIT(超过查询限制)的响应代码。

三、专题网页在教学中的应用

1. 判读山地地形部位

初中地理教材通过一幅“等高线示意”图,把直观的立体山体与该山体经过等高面切割后产生的等高线在平面上的投影相结合的方法,说明了等高线绘制的基本原理,既形象又直观,有利于学生对等高线地形图的理解,但要求学生能从等高线地形图上分析出山地不同部位的等高线形态特点,还是显得非常抽象。专题网页中的地形图,把等高线直接绘制在俯视的立体地形之上,使等高线与实际地形有机地结合在一起,缓坡、陡坡、山脊、山谷和鞍部等山地不同部位的等高线形态特点一目了然,非常直观(见上图1)。教师通过平移地图,还可以让学生观察更多感兴趣的区域等高线地形图(比如自己家乡的),进一步丰富和充实教学内容,提高学生的等高线地形图判读能力。

2. 计算(估算)高度和坡度

利用专题地图标记地点、自动连线、生成剖面和信息提示等功能,教师可引导学生根据等高线地形图绘制的基本原理,观察分析专题地图中标记地点的海拔高度、计算(估算)两点间的相对高度及坡度和绘制地形剖面图等,进一步培养学生从地图上获取地理信息、分析和运用地理数据的能力。此外,通过展示专题地图操作的交互性和信息反馈的新颖性特点,还让学生体验地理信息技术的魅力,激发他们学习地理知识的兴趣。

3. 分析地形对河流、聚落分布和工程建设等的影响

地形是地理环境的构成要素之一,与其它地理环境要素和人类活动的关系密切,通过切换和对比显示一些实际区域的地形图、道路交通地图和地球卫星图等不同的图像资料,能引导学生理论联系实际地分析地形对河流、聚落分布和工程建设等的影响。

(1)对河流的影响

通过观察某一地区的等高线地形图(图4),便可分析出河流常发育于山谷处,山脊常成为分水岭,河流的流向总是与等高线的弯曲方向相反、等高线密集的河谷,河流落差大等河流的水系与水文特征。

图4 地形对河流的影响

(2)对聚落分布的影响

聚落主要分布在平原地区,山区聚落规模通常较小,数量也少,且多分布在地势较低的河谷地带。观察台湾南部某一区域的等高线地形图(图5),可直观地了解聚落分布的这一特点,结合地形、河流和交通等条件还能进一步引导学生综合分析这一特点的成因。

图5 地形对聚落分布的影响

(3)对工程建设的影响

道路修筑和水库建坝等建设工程,均要充分考虑当地的地形条件。观察台湾南部某山区公路的分布图(图6),可以发现为了降低坡度和保证运输安全,上山的公路呈成“之”字形弯曲,而山上的公路基本上沿等高线延伸的山区道路修筑的特点。

图6 地形对山区公路修筑的影响

赫奇赫奇水库位于美国西部加利福尼亚州旧金山市附近,对比观察美国西部赫奇赫奇水库大坝的卫星图像与地形图(图7), 不仅能让学生感受水利工程的雄伟壮观,还能引导学生分析水库坝址选择的科学性。大坝建在等高线密集的河流峡谷处,既可减少工程量和投资,又能增加安全系数,库区范围是面积较大的宽阔河谷,提供了较大的容水空间,大坝以上有一定的集水面积,能为库区提供较充足水源。

图7 地形对水库建坝的影响

Google地图信息量巨大,把专题网页应用于地理课堂教学之中,不仅能丰富教学手段、充实教学内容,而且能增强学生的感性认识,有利于培养学生的地理逻辑思维能力,提升地理信息素养。

猜你喜欢
专题地图剖面图等高线
广东省风门坳锡矿地球化学特征与找矿标志
喷气式民航客机剖面图?
地形图的阅读
一种基于Fréchet距离的断裂等高线内插算法
基于数据库的专题地图编制问题探讨
基于数据库的专题地图编制问题探讨
基于CorelDRAW与MAPGIS的专题地图制作技巧
“等高线地形图的判读”专题测试
基于南方CASS的等高线内插功能的改进*1
SUPERMAP DESKPRO在地震专题地图中的制作方法