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

ber*_*436 29 leaflet

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

tmc*_*mcw 44

正如你可能猜到的那样:

map.getBounds();
Run Code Online (Sandbox Code Playgroud)

如果要在平移和缩放后获取边界,请使用事件,例如

map.on('moveend', function() { 
     alert(map.getBounds());
});
Run Code Online (Sandbox Code Playgroud)

  • 有关 getBounds 的更多信息,它返回一个 LatLngBounds。那里的方法和道具:https://www.wrld3d.com/wrld.js/latest/docs/leaflet/L.LatLngBounds/ (2认同)

Rog*_*ill 18

上面的答案是正确的,但不是很有帮助,不幸的是,传单文档没有提供有关getBound()调用的详细信息.

如果将其添加到map init函数,则可以看到显示的地图数据:

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()
    )});
Run Code Online (Sandbox Code Playgroud)

请注意,size是地图窗口的像素尺寸,其中边界是缩放的内部尺寸.尝试放大,你会看到大小保持不变,但高度并与双打变焦的每个级别.

LatLngBounds对象下有很多方法,所以你应该能够在那里找到一个可以为你提供所需信息的调用.