2012-07-05 10 views
16

Hola, estoy usando tablas de fusión de google y google maps, la cosa es que mis marcadores aparecen correctamente, pero quiero insertar algunas imágenes en la ventana de información. Entonces, la cuestión es que realizo consultas para encontrar la ubicación de esos marcadores, y esos marcadores pueden tener muchas categorías (es por eso que no pude usar una tabla fusionada). Y cuando el usuario hace clic en el marcador, la ventana de información muestra y muestra la información en el marcador. Solía ​​incluir solo un texto de las categorías, pero quiero recuperar el icono de cada categoría para mostrarlo en la ventana de información. El problema es que la segunda consulta tarda más tiempo que el tiempo necesario para mostrar la ventana de información. así que hice un arreglo cojos, añadíEventos de infowindow de Google Maps en abierto

$('#infoWindowsCatDer').append(info); 

al final de la segunda consulta, así que supongo que se puede ver el problema, ¿qué ocurre si las ventanas se lleva un poco más de tiempo para mostrar que la consulta. Esto es algo que debería ser manejado por eventos ¿verdad?

¿Hay un evento para

lastWindow.open(map); 

Así que cuando la ventana de información es completamente abierta se puede anexar las imágenes?

+0

Usted no tiene suficientes detalles técnicos del proveedor sobre lo que estás intentando. En particular, ¿cómo estás ejecutando tu segunda consulta? ¿Estás utilizando la API Fusion Table JSON? –

Respuesta

30

El objeto InfoWindow desencadena el evento domready evento cuando está conectado (completamente cargado) al DOM. Esto se puede ver en los documentos de la API: https://developers.google.com/maps/documentation/javascript/reference#InfoWindow

A continuación, podría tener un oyente como el siguiente para cargar contenido en el infoWindow después de que se haya cargado en sí:

google.maps.event.addListener(referenceToInfoWindow, 'domready', function(){ 
    //code to dynamically load new content to infowindow 
    //for example: 
    // var existing_content = referenceToInfoWindow.getContent(); 
    // var new_content = "..."; 
    // referenceToInfoWindow.setContent(existing_content + new_content); 
}); 
+0

Gracias, me gustaría que haya visto esto antes, lol, gracias –

+0

¿Respondí a su pregunta? O hay algo que aún falta? –

+0

No lo he intentado todavía, pero lo estoy probando en este momento –

Cuestiones relacionadas