Comment faire pour modifier le centre de la carte en Leaflet.js
Le code suivant initialise une notice de la carte. La fonction d'initialisation des centres de la carte basée sur la localisation de l'utilisateur. Comment puis-je changer le centre de la carte pour un nouveau poste après l'appel de la fonction d'initialisation?
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});
}
Vous devez vous connecter pour publier un commentaire.
Par exemple:
map.panTo([40.737, -73.923])
fonctionne aussi bien!map.flyTo([40.737, -73.923], 8)
si vous souhaitez agrandir et d'animer ainsipanTo()
,flyTo()
,setView()
- tous me prendre pour le en haut à gauche de la carte, et pas le centre.Vous pouvez également utiliser:
Tout dépend ce comportement que vous souhaitez.
map.panTo()
fera un pan de l'emplacement avec zoom/pan animation, tandis quemap.setView()
immédiatement le nouveau point de vue à l'emplacement souhaité/niveau de zoom.map.setView([40.737, -73.923], 8)
ou un objetmap.setView({lat:40.737, lng:-73.923}, 8)
map.setView(latlng, map.getZoom(), { animation: true });
Utilisation
map.panTo();
ne fait rien si le point est dans la vue actuelle. Utilisationmap.setView()
à la place.J'ai eu une polyligne et j'ai du centre de la carte vers un nouveau point en polyligne à chaque seconde. Vérifier le code :
BON: https://jsfiddle.net/nstudor/xcmdwfjk/
MAUVAIS: https://jsfiddle.net/nstudor/Lgahv905/
Vous pouvez également utiliser:
Ceci permettra de définir le niveau d'affichage pour l'adapter les limites de la carte en dépliant.