上一节我们实现了Google地图的最简单的功能,就是一个方块的地图,其他什么都没有,使用过Google地图的人都知道,在Google地图上面的左上角有一个控制地图上下左右移动和缩放的控制器,在地图的右上角有地图,卫星,地形可供选择的三种类型。这一节我们就来加入这两个功能,很简单,使用map的添加控制器方法就可以了。
addControl()方法,需要一个参数
参数值:
GLargeMapControl,最大模式控制器;
GSmallMapControl,最小模式控制器;
GSmallZoomControl,只有放大和缩小的模式;
GScaleControl,只有地图缩放控制条的模式;
如果需要添加地图类型控制器,那就需要这个参数值
GMapTypeControl,添加地图类型控制器 允许在地图视图、卫星视图和地图卫星混合模式, 三个模式中切换
设置地图显示模式
setMapType()
内建 3 种模式, 分别是 G_NORMAL_MAP:地图模式,G_SATELLITE_MAP:卫星模式,G_HYBRID_MAP:混合模式:不设置默认是地图模式
上代码:
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
- <head>
- <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
- <title>Google Maps JavaScript API Example</title>
- <!--引用Google地图API-->
- <!--参数key就是你申请的密钥,v参数表示Google地图API的版本号;sensor参数指定你的应用程序是否正在使用传感器(如 GPS 定位器)确定用户的位置,没有的话就false -->
- <mce:script src="http://ditu.google.cn/maps?file=api&v=2&key=ABQIAAAAChdCrN7wC9izi2oT-RnZVBQJamtJgghXUNimK5S1pZ0gfcTvLxTipoO9NuARtlJJIzXyxbfbVzVaAA&sensor=false" mce_src="http://ditu.google.cn/maps?file=api&v=2&key=ABQIAAAAChdCrN7wC9izi2oT-RnZVBQJamtJgghXUNimK5S1pZ0gfcTvLxTipoO9NuARtlJJIzXyxbfbVzVaAA&sensor=false"
- type="text/javascript"></mce:script>
- <!--这里就是Google map API开发的JavaScript代码 -->
- <mce:script type="text/javascript"><!--
- function initialize() {
- //检查浏览器兼容性
- if (GBrowserIsCompatible()) {
- var map = new GMap2(document.getElementById("map_canvas"));
- //最大模式
- map.addControl(new GLargeMapControl());
- //缩小模式
- //map.addControl(new GSmallMapControl());
- //只有放大和缩小的模式
- // map.addControl(new GSmallZoomControl());
- //只有地图缩放控制条的模式
- // map.addControl(new GScaleControl());
- // 填加地图类型控制器 允许在地图视图、卫星视图和地图卫星混合模式, 三个模式中切换
- map.addControl(new GMapTypeControl());
- // 可以通过GMap2.setMapType()方法修改地图的显示模式
- // 内建 3 种模式, 分别是 G_NORMAL_MAP:地图模式,G_SATELLITE_MAP:卫星模式,G_HYBRID_MAP:混合模式:
- map.setMapType(G_NORMAL_MAP);
- map.setCenter(new GLatLng(39.9493, 116.3975), 13);
- }
- }
- // --></mce:script>
- </head>
- <!--Google 地图 API 建议使用函数闭包,API 事件处理系统 GEvent 将事件附加到 DOM 节点的方式几乎肯定会导致一些浏览器(尤其是 Internet Explorer)泄漏内存。Google 地图 API 的第 2 版引入了一种新方法 GUnload(),该方法将删除导致这些泄漏的多数循环引用。您应在页面的 onunload 事件中调用 GUnload(),以降低应用程序泄漏内存的可能性 -->
- <body onload="initialize()" onunload="GUnload()">
- <div id="map_canvas" style="width:800px;height:600px;"></div>
- </body>
- </html>
具体参考:http://code.google.com/intl/zh-CN/apis/maps/documentation/introduction.html