lae*_*aef 5 javascript leaflet
在向 LeafletJS 地图添加一系列标记后,是否可以让 Leaflet 缩放并重新对齐它的焦点以显示每个标记?我看到许多类似的问题与谷歌地图有关,但没有与传单有关。
就像是:
map.fitAllMarkers();
Run Code Online (Sandbox Code Playgroud)
我还注意到Leaflet 中的几个函数来获取地图的边界,但我不确定如何使用这些函数来达到预期的效果。
您还可以利用特意制作的featureGroup.getBounds()方法使地图适合标记的范围:
var fg = L.featureGroup([arrayOfMarkers]).addTo(map);
map.fitBounds(fg.getBounds());
Run Code Online (Sandbox Code Playgroud)
演示:http : //jsfiddle.net/3v7hd2vx/28/
最后,这实际上非常简单,尽管没有统一为一个函数。首先,您需要创建一个 Leaflet 边界对象:
var bounds = new L.LatLngBounds();
Run Code Online (Sandbox Code Playgroud)
然后,对于地图上的每个标记:
bounds.extend(markerObject.getLatLng());
Run Code Online (Sandbox Code Playgroud)
最后,将新边界应用到地图:
mapObject.fitBounds(bounds);
Run Code Online (Sandbox Code Playgroud)