在LeafletJS地图上缩放以适合所有标记

时间:2016-07-02 01:03:53

标签: javascript leaflet

将一系列标记添加到LeafletJS地图后,是否可以让Leaflet进行缩放并重新对齐它以显示每个标记?我看到many similar questions与Google地图有关,但没有传单。

类似的东西:

map.fitAllMarkers();

我还注意到several functions in Leaflet来获取地图的边界,但我不确定如何将这些用于预期效果。

2 个答案:

答案 0 :(得分:3)

您还可以利用专门制作的featureGroup.getBounds()方法让地图符合您的标记范围:

var fg = L.featureGroup([arrayOfMarkers]).addTo(map);

map.fitBounds(fg.getBounds());

演示:http://jsfiddle.net/3v7hd2vx/28/

答案 1 :(得分:1)

最后,这实际上很简单,但并没有统一到一个功能中。首先,您需要创建Leaflet bounds对象:

var bounds = new L.LatLngBounds();

然后,对于地图上的每个标记:

bounds.extend(markerObject.getLatLng());

最后,将新边界应用于地图:

mapObject.fitBounds(bounds);