#javascript #leaflet #onload
#javascript #листовка #onload
Вопрос:
Я пытаюсь вызвать функцию после успешной загрузки карты листовки, работая с leaflet 1.0.1. Что касается документов, существует событие map с именем, load
в котором указано: Запускается при инициализации карты (когда ее центр и масштаб установлены в первый раз). Таким образом, это обрезанное должно сработать, если карта загрузилась, но этого никогда не происходит:
function onMapLoad() {
alert("Map successfully loaded")
};
mymap.on('load', onMapLoad);
Нет ошибки или ответа, просто ничего.
Итак, почему событие map-load не работает должным образом?
Здесь используется простая JS-СКРИПКА.
Ответ №1:
Поместите mymap.on('load', onMapLoad);
обработчик события перед фактической загрузкой карты (с помощью map.setView...
).
Итак, ваш фактический код должен выглядеть следующим образом,
var mymap = L.map('mapid');
mymap.on('load', onMapLoad);
mymap.setView([51.505, -0.09], 13);
Источник: Проблема с Github
Ответ №2:
Я предлагаю вам использовать метод «whenReady», доступный в листовке 1.0.1
var callBack = function () {
console.log("Map successfully loaded");
// do some stuff
};
mymap.whenReady(callBack);
Ответ №3:
Или используйте встроенный
var mymap = L.map('YOUR_MAP_ID').on('load', onMapLoad).setView([51.505, -0.09], 13);
function onMapLoad(){
console.log("map loaded");
}