Estoy incrustando Google Maps en mi sitio web. Una vez que se carga Google Maps, necesito iniciar algunos procesos de JavaScript.
¿Hay alguna forma de detectar automáticamente cuando Google Maps se ha cargado por completo, incluidas las descargas de mosaicos y todo?
Existe un tilesloaded()método que se supone que realiza exactamente esta tarea, pero no funciona .
                    
                        javascript
                                html
                                google-maps
                                
                    
                    
                        Trigonometría
fuente
                
                fuente

google.maps.event.addListenerOnce(map, 'tilesloaded', function() {Respuestas:
Esto me molestó por un tiempo con GMaps v3.
Encontré una manera de hacerlo así:
El evento "inactivo" se activa cuando el mapa pasa al estado inactivo: todo se cargó (o no se pudo cargar). Encontré que es más confiable que tilesloaded / limits_changed y usando el
addListenerOncemétodo, el código en el cierre se ejecuta la primera vez que se activa "inactivo" y luego se desconecta el evento.Consulte también la sección de eventos en la Referencia de Google Maps.
fuente
Estoy creando aplicaciones móviles HTML5 y me di cuenta que el
idle,bounds_changedytilesloadedeventos de fuego cuando se crea y se hace (aunque no es visible) el mapa del objeto.Para hacer que mi mapa ejecute el código cuando se muestra por primera vez, hice lo siguiente:
fuente
Uncaught ReferenceError: map is not defined. He intentado ejecutar el script con retraso y al final de mis otros scripts, pero parece que nada funciona.Si está utilizando la API de Maps v3, esto ha cambiado.
En la versión 3, esencialmente desea configurar un escucha para el
bounds_changedevento, que se activará al cargar el mapa. Una vez que se haya activado, elimine el oyente ya que no desea recibir información cada vez que cambien los límites de la ventana gráfica.Esto puede cambiar en el futuro a medida que evolucione la API V3 :-)
fuente
tilesloadedevento.En 2018:
https://developers.google.com/maps/documentation/javascript/events
fuente
Si está utilizando componentes web , entonces tienen esto como ejemplo:
fuente
GMap2::tilesloaded()sería el evento que estás buscando.Ver GMap2.tilesloaded para referencias.
fuente
Donde la variable
mapes un objeto de tipo GMap2:fuente
En mi caso, la imagen de mosaico cargada desde la URL remota y el
tilesloadedevento se activaron antes de representar la imagen.Lo resolví siguiendo el camino sucio.
fuente
Puede verificar el
GMap2.isLoaded()método cadanmilisegundos para ver si el mapa y todos sus mosaicos se cargaron (window.setTimeout()owindow.setInterval()son sus amigos).Si bien esto no le dará el evento exacto de la finalización de la carga, debería ser lo suficientemente bueno como para activar su Javascript.
fuente