El siguiente código inicializa un mapa de folleto. La función de inicialización centra el mapa según la ubicación del usuario. ¿Cómo cambio el centro del mapa a una nueva posición después de llamar a la función de inicialización?
function initialize() {
map = L.map('map');
L.tileLayer('http://{s}.tile.cloudmade.com/BC9A493B41014CAABB98F0471D759707/997/256/{z}/{x}/{y}.png', {
maxZoom: 18,
attribution: 'Map data © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="http://cloudmade.com">CloudMade</a>'
}).addTo(map);
map.locate({setView: true, maxZoom: 8});
}
javascript
leaflet
Joel James
fuente
fuente
map.flyTo([40.737, -73.923], 8)
si desea hacer zoom y animar tambiénpanTo()
,flyTo()
,setView()
- todos ellos me llevan a la parte superior izquierda del mapa, y no en el centro.También puedes usar:
Solo depende del comportamiento que desee.
map.panTo()
se desplazará a la ubicación con la animación de zoom / panorámica, mientras quemap.setView()
inmediatamente establecerá la nueva vista en la ubicación / nivel de zoom deseado.fuente
map.setView([40.737, -73.923], 8)
o un objetomap.setView({lat:40.737, lng:-73.923}, 8)
map.setView(latlng, map.getZoom(), { animation: true });
El uso
map.panTo();
no hace nada si el punto está en la vista actual. Úselo en sumap.setView()
lugar.Tenía una polilínea y tenía que centrar el mapa en un nuevo punto de la polilínea cada segundo. Verifique el código: BUENO: https://jsfiddle.net/nstudor/xcmdwfjk/
MALO: https://jsfiddle.net/nstudor/Lgahv905/
fuente
También puedes usar:
Esto establecerá el nivel de vista para que se ajuste a los límites del folleto del mapa.
fuente