获取可见的传单地图的边界框?

时间:2014-04-08 21:01:54

标签: leaflet

我有一个平移和缩放的传单地图。如何动态获取地图边缘的纬度/长度(放大/缩小+平移后)?

2 个答案:

答案 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对象下有很多方法,因此您应该能够找到其中一个可以为您提供所需信息的调用。