Comment définir la vue pour voir tous les marqueurs sur la carte dans Mapbox ou Leaflet ? Comme le fait l'API Google Maps bounds
?
Par exemple:
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>)
si vous souhaitez étendre les limites d'un pourcentage donné, mais vous pouvez également passer l'option de remplissage à fitBounds afin de définir le remplissage en pixels.markers.getBounds(), {padding: L.point(20, 20)})
La «réponse» n'a pas fonctionné pour moi certaines raisons. Alors voici ce que j'ai fini par faire:
la source
LngLatLike
argument doit être spécifié comme une instance LngLat, un objet {lng: <lng>, lat: <lat>} ou un tableau de [<lng>, <lat>]. Une idée?la source
Leaflet a également LatLngBounds qui a même une fonction d'extension, tout comme Google Maps.
http://leafletjs.com/reference.html#latlngbounds
Vous pouvez donc simplement utiliser:
Le reste est exactement le même.
la source
Pour Leaflet, j'utilise
la source
Vous pouvez également localiser toutes les fonctionnalités à l'intérieur d'un FeatureGroup ou de tous les featureGroups, voyez comment cela fonctionne!
la source
Pour s'adapter uniquement aux marqueurs visibles, j'ai cette méthode.
la source
Le meilleur moyen est d'utiliser le code suivant
la source