similares caso conmigo Dibujé todos los marcadores de GeoJson datos. Así que escribí la función, que recibe varias llamadas al hacer clic en el botón. Solo prueba si se adapta a tus necesidades.
function bestFitZoom()
{
// declaring the group variable
var group = new L.featureGroup;
// map._layers gives all the layers of the map including main container
// so looping in all those layers filtering those having feature
$.each(map._layers, function(ml){
// here we can be more specific to feature for point, line etc.
if(map._layers[].feature)
{
group.addLayer(this)
}
})
map.fitBounds(group.getBounds());
}
El mejor uso de escribir esta función es que incluso estado de mapa/marcadores cambió, se pondrá último estado de marcadores/capas/corriente. Cada vez que se llame a este método, todas las capas serán visibles a un nivel de zoom modesto.
Ok, gracias por la ayuda. Entonces, si en el momento mi código que agrega la capa geoJSON se ve así: geojsonLayer.addGeoJSON (jsonData); map.addLayer (geojsonLayer); map.fitBounds (jsonGroup.getBounds()); Lo cambiaría a: geojsonLayer.addGeoJSON (jsonData); map.addLayer (geojsonLayer); var jsonGroup = new L.FeatureGroup (jsonData); map.fitBounds (jsonGroup.getBounds()); Y eso debería funcionar? – James
Lo siento, ha eliminado todo el formato de mi publicación anterior y no estoy seguro de cómo conservarlo cuando guardo el comentario. – James
Es bastante difícil de depurar en los comentarios. ¿Puedes pegar tu código en http://jsfiddle.net para mostrarme lo que tienes (o al menos parte de él)? – Jason