6. 6.控件的方法:
addControl(GControl)添加一个 google 地图的控件
RemoveControl(GControl)删除一个 google 地图的控件
7. 示例:
var map = new Map2(document.getElementByIdx_x("map"),
{size:GSize(200,200), backgroundColor:"#FF0000"});
map.addControl(new GSmallMapControl());//添加一个地图左侧的缩放
按钮控件
map.addControl(new GMapTypeControl());//添加地图类型控件包括普
通地图、卫星地图、混合地图
map.setCenter(new GLatLng(37.4419, -122.1419), 13); //实例化一
个维度为 37.4419、经度为 -122.1419 的经纬度实例,然后设置地图的中心。地
图缩放值为 13
// Add 10 markers in random locations on the map
var bounds = map.getBounds();//得到地图四周的边界值
var southWest = bounds.getSouthWest();//西南的经纬度
var northEast = bounds.getNorthEast();//东北的经纬度
var lngSpan = northEast.lng() - southWest.lng();//经度差
var latSpan = northEast.lat() - southWest.lat();//维度差
//实例化一个在本张地图中的一个经纬度
var point = new GLatLng(southWest.lat() + latSpan *
Math.random(),
southWest.lng() + lngSpan * Math.random());
var marker = new GMarker(point);//实例化一个标点
14. 此类用于和 Google 服务器建立直接通讯,以获取用户指定地址的地理位
置信息。另外,地理解析器可维护自己的地址缓存,可以无需与服务器通讯而回
答重复的查询。注意:目前中国地图地址解析器只支持市/县/区级别的地址。
getLatLng(address, callback) 给 Google 服务器发送请求,对指定的
地址进行地址解析。如果地址已成功定位,则用 GLatLng 点调用用户指定的回
调函数。否则,向回调函数提供一个 null 点。如果地址不明确,则仅向回调函
数传递最匹配的点。(自 2.55 开始)
getLocations(address, callback) 给 Google 服务器发送请求,对指定
的地址进行地址解析。 包含状态代码的答复,如果答复成功,则向用户指定的回
调函数传递一个或多个 Placemark 对象。 GClientGeocoder.getLatLng 方法
与
不同,回调函数可以通过检查 Status 字段的代码值确定失败原因。(自 2.55
开始)
示例:
var map = new GMap2(document.getElementByIdx_x("map"));
var geocoder = new GClientGeocoder();
var address="五道口";
geocoder.getLatLng(address,function(point) {
if (!point)
{
alert(address + " not found");
}
else
{
map.setCenter(point, 13);
var marker = new GMarker(point);
map.addOverlay(marker);
marker.openInfoWindowHtml(address);
15. alert(point);
}
});
三:下面是 Google API 自带控件
GLargeMapControl:放大缩小调节杆
GMapTypeControl:地图和卫星图片的切换功能
GSmallMapControl:GLargeMapControl 的精简版 ,去掉了缩放的调节
杆保留了缩放按钮
GSmallZoomControl:只包括缩放按钮,去掉了 GLargeMapControl 里其
他的所有控制
GScaleControl:比例尺控件
四:减少浏览器内存泄露
Google Maps API 鼓励使用闭包/Closures,Maps API 的第二版引入一个
GUnload()函数,用于最大限度地消除可能引发内存泄露的循环引用。您应该在
页面的 unload 事件中调
用 GUnload()函数来降低您的应用程序内存泄露的风险:<body
onunload="GUnload()">这个函数确实可以消除 Google 地图在 Internet
Explorer 下的内存泄露,但是如果您比较关心内存消耗问题,您仍旧应该用
Drip 之类的工具测试您自己网站的内存泄露情况。
五:浏览器兼容性
Google Maps API 支持的浏览器种类与 Google 地图网站相同。因为不同的
应用程序在遇到不兼容的浏览器的时候需要表现不同的行为,所以 Maps API 提
供了一个全局方法 (GBrowserIsCompatible())来检查兼容性,但是,发现一个