Масштаб по размеру все маркеры в Mapbox или листовка

Как мне установить, чтобы просмотреть все маркеры на карте в Mapbox или листовки? Как Google API Карт делает с границы?

Е. Г:

var latlngbounds = new google.maps.LatLngBounds();
for (var i = 0; i < latlng.length; i++) {
  latlngbounds.extend(latlng[i]);
}
map.fitBounds(latlngbounds);
Решение
var group = new L.featureGroup([marker1, marker2, marker3]);

map.fitBounds(group.getBounds());

Вижу documetation для получения дополнительной информации.

Комментарии (9)

В 'ответить' Я't работа для меня некоторым причинам. Так вот что я делал:

////var group = new L.featureGroup(markerArray);//getting 'getBounds() not a function error.
////map.fitBounds(group.getBounds());
var bounds = L.latLngBounds(markerArray);
map.fitBounds(bounds);//works!
Комментарии (1)
var markerArray = [];
markerArray.push(L.marker([51.505, -0.09]));
...
var group = L.featureGroup(markerArray).addTo(map);
map.fitBounds(group.getBounds());
Комментарии (2)

Листовки также имеет LatLngBounds, что даже есть функция продлить, так как карты Google.

http://leafletjs.com/reference.html#latlngbounds

Так что вы могли бы просто использовать:

var latlngbounds = new L.latLngBounds();

Остальное <и>точно</я и GT; то же самое.

Комментарии (1)

Для листовки, Я'м через

    map.setView(markersLayer.getBounds().getCenter());
Комментарии (1)

Вы также можете найти все функции внутри FeatureGroup или все featureGroups, посмотрим, как это работает!

в

//Group1
m1=L.marker([7.11, -70.11]);
m2=L.marker([7.33, -70.33]);
m3=L.marker([7.55, -70.55]);
fg1=L.featureGroup([m1,m2,m3]);

//Group2
m4=L.marker([3.11, -75.11]);
m5=L.marker([3.33, -75.33]);
m6=L.marker([3.55, -75.55]);
fg2=L.featureGroup([m4,m5,m6]);

//BaseMap
baseLayer = L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png');
var map = L.map('map', {
  center: [3, -70],
  zoom: 4,
  layers: [baseLayer, fg1, fg2]
});

//locate group 1
function LocateOne() {
    LocateAllFeatures(map, fg1);
}

function LocateAll() {
    LocateAllFeatures(map, [fg1,fg2]);
}

//Locate the features
function LocateAllFeatures(iobMap, iobFeatureGroup) {
        if(Array.isArray(iobFeatureGroup)){         
            var obBounds = L.latLngBounds();
            for (var i = 0; i < iobFeatureGroup.length; i++) {
                obBounds.extend(iobFeatureGroup[i].getBounds());
            }
            iobMap.fitBounds(obBounds);         
        } else {
            iobMap.fitBounds(iobFeatureGroup.getBounds());
        }
}
.mymap{
  height: 300px;
  width: 100%;
}
<script src="https://unpkg.com/leaflet@1.3.1/dist/leaflet.js"></script>


<div id="map" class="mymap"></div>
locate group 1
locate All

в

Комментарии (0)

Лучший способ-это использовать следующий код

var group = new L.featureGroup([marker1, marker2, marker3]);

map.fitBounds(group.getBounds());
Комментарии (1)