Ich bin loading the google maps API asynchronously, mit denen Sie einen Rückruf definieren können, um beim Laden der API ausgeführt werden. Gibt es eine Möglichkeit, Argumente an den Rückruf zu übergeben?Übergeben Sie Daten an Callback beim asynchronen Laden von Google Maps V3
EDIT:
Hier ist der Code mit ich arbeite. Ich habe ein globales Objekt namens master
, das die folgenden Funktionen speichert.
/**
* Load the Google Maps API
* https://developers.google.com/maps/documentation/javascript/tutorial#Loading_the_Maps_API
*/
loadGoogleMaps: function(){
var googleMaps = document.createElement("script");
googleMaps.type = "text/javascript";
googleMaps.src = "http://maps.googleapis.com/maps/api/js?key=[MYAPIKEY]&sensor=false&callback=master.mapInit";
document.body.appendChild(googleMaps);
}
Ich möchte eine Reihe von Standorten in mapInit
können passieren, so kann ich Markierungen auf der Karte hinzufügen, wenn es initialisiert wird. Ich möchte auch global auf den Verweis auf die Karte zugreifen können, damit ich die Karte nach ihrer Erstellung ändern kann.
/**
* Initialize the map
*/
mapInit: function(){
// Default map options
var mapOptions = {
zoom: 4,
center: new google.maps.LatLng(40, -95),
mapTypeId: google.maps.MapTypeId.ROADMAP
}
// Create map
var map = new google.maps.Map(document.getElementById("map"), mapOptions);
}
Vielleicht bin ich Missverständnis, aber ich versuche zu vermeiden, verschiedene Rückrufe zu haben. –
@Bryan Downing: Ich bin total verloren. Wenn Sie keinen weiteren Wrapper-Callback erstellen müssen, dann "NO" gibt es keine Möglichkeit, Argumente in der Google Maps API URL – zerkms
zu übergeben. Danke für Ihre Antwort. Ich bin im Grunde diesen Weg gegangen, aber ich wollte nicht die eigentlichen Argumente in 'wrapper()' haben. Ich habe grundsätzlich das gemacht, was Sie vorgeschlagen haben, aber ich habe einige der Daten gespeichert, die ich als Argumente für das DOM-Element und ein separates, global zugängliches Objekt übergeben hätte. –