2013-05-19 33 views
5

Google maps v3 api suggest ładowanie funkcji initialize za pomocą metody addDomListener() zamiast dołączania jej do znacznika body.przekazywanie zmiennej za pomocą funkcji initialize wewnątrz metody addDomListener

<script> 
    function initialize() { 
    // Map initialization 
    } 
    google.maps.event.addDomListener(window, 'load', initialize); 
</script> 
not: 
<body onload="initialize()"> 

Ale chciałbym przekazać zmienną za pośrednictwem funkcji inicjalizacji: f.e. zainicjować (37). Działa to tylko przy użyciu metody onload body, a nie metody addDomListener.

Oto moje pytanie: czy mogę to zrobić za pomocą metody addDomListener. Mówiąc prościej, poniższe nie działa, jak mogę to zrobić?

<script> 
    function initialize(countryID) { 
     // Map initialization 
     // Do stuff with countryID 
    } 
    google.maps.event.addDomListener(window, 'load', initialize(37)); 
</script> 

Odpowiedz

10

Użyj anonimowa funkcja:

google.maps.event.addDomListener(window, 'load', function(){initialize(37);}); 
+0

Works, dziękuję. –

+0

Możesz także przekazać zmienne takie jak to: google.maps.event.addDomListener (okno, 'load', function() {initialize (marker)}) ;, a więc twoja funkcja będzie wyglądała następująco 'function initialize (marker) { ' –

Powiązane problemy