Карта листовки-событие ‘load’ не запускается

#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");
}