Soy loading the google maps API asynchronously lo que le permite definir una devolución de llamada a ejecutar cuando se carga la API. ¿Hay alguna manera de que pueda pasar argumentos a la devolución de llamada?Pasar datos a la devolución de llamada cuando se carga asincrónicamente google maps V3
EDIT:
Aquí está el código que estoy trabajando. Tengo un objeto global llamado master
que almacena las siguientes funciones.
/**
* 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);
}
Quiero ser capaz de pasar una serie de lugares en mapInit
para que pueda añadir marcadores al mapa cuando se inicializa. También me gustaría poder acceder globalmente a la referencia al mapa para poder modificar el mapa después de su creación.
/**
* 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);
}
Tal vez estoy malentendido, pero estoy tratando de evitar tener diferentes devoluciones de llamada. –
@Bryan Downing: estoy totalmente perdido entonces. Si no necesita crear otra envoltura-devolución de llamada, entonces "NO" no hay forma de pasar argumentos directamente en la url API de google maps – zerkms
Gracias por su respuesta. Básicamente seguí esta ruta, pero no quería tener los argumentos reales dentro de 'wrapper()'. Básicamente hice lo que sugirió, pero almacené algunos de los datos que habría pasado como argumentos sobre el elemento DOM y un objeto separado accesible a nivel mundial. –