Jak ustawić widok, aby wyświetlić wszystkie znaczniki na mapie w Mapbox lub Leaflet ? Jak działa Google Maps API bounds
?
Na przykład:
var latlngbounds = new google.maps.LatLngBounds();
for (var i = 0; i < latlng.length; i++) {
latlngbounds.extend(latlng[i]);
}
map.fitBounds(latlngbounds);
markers.getBounds().pad(<percentage>)
jeśli chcesz rozszerzyć granice o określoną wartość procentową, ale możesz również przekazać opcję wypełnienia do fitBounds, aby ustawić wypełnienie w pikselach.markers.getBounds(), {padding: L.point(20, 20)})
„Odpowiedź” nie zadziałała w moim przypadku z pewnych powodów. Oto, co ostatecznie zrobiłem:
źródło
LngLatLike
argument musi być określony jako instancja LngLat, obiekt {lng: <lng>, lat: <lat>} lub tablica [<lng>, <lat>]. Dowolny pomysł?źródło
Ulotka ma również LatLngBounds, która ma nawet funkcję rozszerzania, podobnie jak mapy Google.
http://leafletjs.com/reference.html#latlngbounds
Możesz więc po prostu użyć:
Reszta jest dokładnie taka sama.
źródło
Dla Leaflet używam
źródło
Możesz także zlokalizować wszystkie funkcje wewnątrz FeatureGroup lub wszystkich featureGroups, zobacz, jak to działa!
źródło
Aby dopasować się tylko do widocznych markerów, mam tę metodę.
źródło
Najlepszym sposobem jest użycie następnego kodu
źródło