传单map-event '不开火

Leaflet map-event 'load' does not fire

本文关键字:开火 map-event 传单      更新时间:2023-09-26

我试图调用一个函数后,传单地图已成功加载,与传单1.0.1工作。关于文档,有一个名为load的地图事件,它声明:在地图初始化时触发(当它的中心和缩放第一次设置时)。因此,如果map已经加载,这个片段应该会触发,但这种情况从未发生:

function onMapLoad() {
    alert("Map successfully loaded")
};
mymap.on('load', onMapLoad);

没有错误或响应,什么都没有。那么为什么map-load事件不能正常工作呢?

下面是一个简单的JS FIDDLE。

我建议您使用小册子1.0.1中的"whenReady"方法

var callBack = function () {
    console.log("Map successfully loaded");
    // do some stuff
};
mymap.whenReady(callBack);

在实际加载地图(使用map.setView...)之前放置mymap.on('load', onMapLoad);事件处理程序

所以你的实际代码应该是这样的,
var mymap = L.map('mapid');
mymap.on('load', onMapLoad);
mymap.setView([51.505, -0.09], 13);

来源:Github Issue

或者使用内联

var mymap = L.map('YOUR_MAP_ID').on('load', onMapLoad).setView([51.505, -0.09], 13);
function onMapLoad(){
  console.log("map loaded");
}