Как изменить центр карты в листовке
следующий код инициализирует карту листовка. Функция инициализации центрирует карту на основе местоположения пользователя. Как изменить центр карты на новую позицию после вызова функции инициализации?
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});
}
3 ответов:
вы также можете использовать:
map.setView(new L.LatLng(40.737, -73.923), 8);Это просто зависит от того, какое поведение вы хотите.
map.panTo()будет панорамирование к месту с зумом / панорамированием анимации, в то время какmap.setView()немедленно установите новый вид в нужное место / уровень масштабирования.
использовать
map.panTo();ничего не делает, если точка находится в текущем представлении. Используйте .у меня была полилиния, и я должен был центрировать карту до новой точки в полилинии каждую секунду. Проверьте код : Хорошо: https://jsfiddle.net/nstudor/xcmdwfjk/
mymap.setView(point, 11, { animation: true });плохо:https://jsfiddle.net/nstudor/Lgahv905/
mymap.panTo(point); mymap.setZoom(11);
Comments