我正在尝试在成功加载传单映射后调用函数,使用传单1.0.1。关于docs,有一个名为load
的地图事件,其中指出:初始化地图时触发(当第一次设置其中心和缩放时)。因此,如果地图已加载,则此剪切应该触发,但这种情况永远不会发生:
function onMapLoad() {
alert("Map successfully loaded")
};
mymap.on('load', onMapLoad);
没有错误或反应,简单没有。那么为什么map-load事件不能正常工作呢?
这是一个简单的JS FIDDLE。
在实际加载地图之前放置mymap.on('load', onMapLoad);
事件处理程序(使用map.setView...
)。
所以你的实际代码应该是这样的,
var mymap = L.map('mapid');
mymap.on('load', onMapLoad);
mymap.setView([51.505, -0.09], 13);
资料来源:Github Issue
我建议你使用Leaflet 1.0.1中提供的“whenReady”方法
var callBack = function () {
console.log("Map successfully loaded");
// do some stuff
};
mymap.whenReady(callBack);
或者使用内联
var mymap = L.map('YOUR_MAP_ID').on('load', onMapLoad).setView([51.505, -0.09], 13);
function onMapLoad(){
console.log("map loaded");
}