我有一个平移和缩放的传单地图。如何动态获取地图边缘的纬度/长度(放大/缩小+平移后)?
答案 0 :(得分:40)
正如你猜测的那样:
map.getBounds();
如果你想在平移和缩放后获得界限,请使用events,例如
map.on('moveend', function() {
alert(map.getBounds());
});
答案 1 :(得分:18)
上述答案是正确的,但不是很有帮助,不幸的是,传单文档没有详细介绍getBounds()调用。
如果将其添加到地图初始化功能,则可以看到显示的地图数据:
map.on('dragend', function onDragEnd(){
var width = map.getBounds().getEast() - map.getBounds().getWest();
var height = map.getBounds().getNorth() - map.getBounds().getSouth();
alert (
'center:' + map.getCenter() +'\n'+
'width:' + width +'\n'+
'height:' + height +'\n'+
'size in pixels:' + map.getSize()
)});
请注意,size是地图窗口的像素尺寸,其中边界是缩放的内部尺寸。尝试缩放,你会看到尺寸保持不变,但每个变焦等级的高度和双倍。
LatLngBounds对象下有很多方法,因此您应该能够找到其中一个可以为您提供所需信息的调用。