將一系列標記添加到LeafletJS地圖後,是否可以讓Leaflet縮放並重新對焦以顯示每個標記?我看到many similar questions用於Google地圖,但沒有用於Leaflet。縮放以適合LeafletJS地圖上的所有標記
喜歡的東西:
map.fitAllMarkers();
我也注意到several functions in Leaflet拿到地圖的界限,但我不知道如何使用那些預期的效果。
將一系列標記添加到LeafletJS地圖後,是否可以讓Leaflet縮放並重新對焦以顯示每個標記?我看到many similar questions用於Google地圖,但沒有用於Leaflet。縮放以適合LeafletJS地圖上的所有標記
喜歡的東西:
map.fitAllMarkers();
我也注意到several functions in Leaflet拿到地圖的界限,但我不知道如何使用那些預期的效果。
最後,這實際上很簡單,但沒有統一到一個函數中。首先,你需要創建一個小冊子範圍對象:
var bounds = new L.LatLngBounds();
然後,對於地圖上的每個標記:
bounds.extend(markerObject.getLatLng());
最後,應用新邊界的地圖:
mapObject.fitBounds(bounds);
您也可以利用特意製作的featureGroup.getBounds()
方法使地圖符合您標記的範圍:
var fg = L.featureGroup([arrayOfMarkers]).addTo(map);
map.fitBounds(fg.getBounds());