2016-10-22 6 views
2

Ich versuche eine Funktion aufzurufen, nachdem eine Flugblatt-Map erfolgreich geladen wurde, und arbeite mit Flugblatt 1.0.1. Bezüglich der docs gibt es ein Kartenereignis mit dem Namen load, das besagt: Wird ausgelöst, wenn die Karte initialisiert wird (wenn ihre Mitte und Zoom zum ersten Mal festgelegt werden). So sollte diese snipped feuern, wenn die Karte geladen ist, aber das kommt nie:Leaflet map-event 'load' feuert nicht

function onMapLoad() { 
    alert("Map successfully loaded") 
}; 

mymap.on('load', onMapLoad); 

Es gibt keine Fehler oder Antwort, einfach nichts. Warum funktioniert das Kartenladeereignis nicht richtig?

Hier geht eine einfache JS FIDDLE.

Antwort

5

Setzen Sie den Ereignishandler mymap.on('load', onMapLoad);, bevor Sie die Karte tatsächlich laden (mit map.setView...).

So sollte Ihre eigentliche Code aussehen,

var mymap = L.map('mapid'); 
mymap.on('load', onMapLoad); 
mymap.setView([51.505, -0.09], 13); 

Quelle: Github Issue

+0

Link zu [jsFiddle] (https://github.com/Leaflet/Leaflet/issues/610). –