您的位置:首页 > 编程语言 > Go语言

自动缩放地图到合适级别

2012-01-17 13:46 316 查看
这里说的自动缩放,指的是地图上已经加入了很多Gmarker点,而这些点任何地方都有,我们为了要它们在地图上能够都显示出来,必须要个Google Map设置一个合适的缩放级别和中心点,这里用的方法是Google Map API的GLatLngBounds。

假设我们创建的Google Map对象为gmap = new GMap2(),我们添加所有GMarker都保存在一个名字为markers的数组里,它们的点遍布各地,我们要做的就是要这些点都在地图上显示出来,也就是自动缩放地图(set auto zoom)。

首先我们bounds = new GLatLngBounds();,然后我们使用一个循环把所有的GMarker中的GLatLng对象传给bounds,即:bounds.extend(markers[i].getLatLng()),做完循环之后我们就可以通过以下的代码set auto zoom了:

gmap.setCenter(bounds.getCenter(),gmap.getBoundsZoomLevel(bounds);

结合起来就是下面的setAutoZoom的函数:

function setAutoZoom(gmap,markers){

var i=markers.length,bounds = new GLatLngBounds();

while(i--){

bounds.extend(new GLatLng(markers[i].y,markers[i].x));

}

gmap.setCenter(bounds.getCenter(),gmap.getBoundsZoomLevel(bounds));

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  google function api