Как настроить вид для отображения всех маркеров на карте в Mapbox или Leaflet ? Как Google Maps API работает с bounds
?
Например:
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>)
если хотите расширить границы на заданный процент, но вы также можете передать параметр заполнения для fitBounds, чтобы установить отступ в пикселях.markers.getBounds(), {padding: L.point(20, 20)})
«Ответ» не сработал для меня по некоторым причинам. Итак, вот что я в итоге сделал:
источник
LngLatLike
аргумент должен быть указан как экземпляр LngLat, объект {lng: <lng>, lat: <lat>} или массив [<lng>, <lat>]. Любая идея?источник
Leaflet также имеет LatLngBounds, у которого даже есть функция расширения, как и в картах Google.
http://leafletjs.com/reference.html#latlngbounds
Итак, вы можете просто использовать:
В остальном точно так же.
источник
Для Leaflet я использую
источник
Вы также можете найти все функции внутри FeatureGroup или всех featureGroups, посмотреть, как это работает!
источник
Чтобы уместить только видимые маркеры, у меня есть этот метод.
источник
Лучше всего использовать следующий код
источник