自动缩放地图到合适级别
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 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 map限制地图缩放级别和显示范围
- [cocos2d-x]TiledMap地图的学习-双指缩放,单指拖动,双击自动放大
- (转)高德地图多个Marker标记自动缩放全部显示在屏幕中
- OpenLayers中地图缩放级别的设置方…
- Google Map API如何自动缩放级别教程
- 高德地图多个Marker标记自动缩放全部显示在屏幕中
- 设置 百度地图 的显示的地图中心 和缩放级别
- Google Maps API V3学习【限制地图缩放级别和显示范围 包含V2版本程序】
- 高德地图多个Marker标记自动缩放全部显示在屏幕中
- OpenLayers3根据范围设置地图缩放级别
- 高德获取地图缩放级别
- Google Maps API V3学习【限制地图缩放级别和显示范围 包含V2版本程序】
- google地图创建一个标记,删除标记,放出源码,很好的融合到你的项目中,自动搜索地址,点击创建,点击标记删除,取得经纬度和缩放级别,取得结果放到表单,写到数据库(原创)
- google map限制地图缩放级别和显示范围
- 百度地图API二:根据标注点坐标范围计算显示缩放级别zoom自适应显示地图
- android百度地图中的地图缩放级别
- 百度地图API 级别自动缩放
- openlayers中设置地图缩放级别