O código a seguir inicializa um mapa de folheto. A função de inicialização centraliza o mapa com base na localização do usuário. Como mudo o centro do mapa para uma nova posição após chamar a função de inicialização?
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
fonte
fonte
map.flyTo([40.737, -73.923], 8)
se você quiserpanTo()
,flyTo()
,setView()
- todos eles me levar para o canto superior esquerdo do mapa, e não o centro.Você também pode usar:
Depende apenas do comportamento que você deseja.
map.panTo()
irá deslocar para o local com zoom / animação panorâmica, enquantomap.setView()
define imediatamente a nova visualização para o local / nível de zoom desejado.fonte
map.setView([40.737, -73.923], 8)
ou um objetomap.setView({lat:40.737, lng:-73.923}, 8)
map.setView(latlng, map.getZoom(), { animation: true });
O uso
map.panTo();
não faz nada se o ponto estiver na vista atual. Use em seumap.setView()
lugar.Eu tinha uma polilinha e precisava centralizar o mapa em um novo ponto da polilinha a cada segundo. Verifique o código: BOM: https://jsfiddle.net/nstudor/xcmdwfjk/
RUIM: https://jsfiddle.net/nstudor/Lgahv905/
fonte
Você também pode usar:
Isso definirá o nível de visualização para caber nos limites do folheto do mapa.
fonte