J'intègre Google Maps à mon site Web. Une fois Google Maps chargé, je dois lancer quelques processus JavaScript.
Existe-t-il un moyen de détecter automatiquement lorsque Google Maps est entièrement chargé, y compris les téléchargements de tuiles et tout?
Il tilesloaded()
existe une méthode censée accomplir exactement cette tâche, mais elle ne fonctionne pas .
javascript
html
google-maps
Trigonométrie
la source
la source
google.maps.event.addListenerOnce(map, 'tilesloaded', function() {
Réponses:
Cela me dérangeait pendant un certain temps avec GMaps v3.
J'ai trouvé un moyen de le faire comme ceci:
L'événement "inactif" est déclenché lorsque la carte passe à l'état inactif - tout est chargé (ou n'a pas pu être chargé). Je l'ai trouvé plus fiable que Tilesloaded / bounds_changed et en utilisant la
addListenerOnce
méthode, le code dans la fermeture est exécuté la première fois que "inactif" est déclenché et ensuite l'événement est détaché.Voir également la section des événements dans la référence Google Maps.
la source
Je crée des applications mobiles html5 et j'ai remarqué que
idle
,bounds_changed
ettilesloaded
les événements incendie lors de la création et rendu l'objet de la carte (même si ce n'est pas visible).Pour que ma carte exécute du code lors de son premier affichage, j'ai fait ce qui suit:
la source
Uncaught ReferenceError: map is not defined
. J'ai essayé d'exécuter le script avec un retard et à la fin de mes autres scripts mais rien ne semble fonctionner.Si vous utilisez l'API Maps v3, cela a changé.
Dans la version 3, vous souhaitez essentiellement configurer un écouteur pour l'
bounds_changed
événement, qui se déclenchera lors du chargement de la carte. Une fois que cela s'est déclenché, supprimez l'écouteur car vous ne voulez pas être informé à chaque fois que les limites de la fenêtre d'affichage changent.Cela pourrait changer à l'avenir alors que l'API V3 évolue :-)
la source
tilesloaded
événement.En 2018:
https://developers.google.com/maps/documentation/javascript/events
la source
Si vous utilisez des composants Web , ils ont ceci comme exemple:
la source
GMap2::tilesloaded()
serait l'événement que vous recherchez.Voir GMap2.tilesloaded pour les références.
la source
Lorsque la variable
map
est un objet de type GMap2:la source
Dans mon cas, Tile Image chargée à partir d'une URL distante et
tilesloaded
événement a été déclenchée avant le rendu de l'image.J'ai résolu de suivre le chemin sale.
la source
Vous pouvez vérifier la
GMap2.isLoaded()
méthode toutes lesn
millisecondes pour voir si la carte et toutes ses tuiles ont été chargées (window.setTimeout()
ouwindow.setInterval()
sont vos amis).Bien que cela ne vous donne pas l'événement exact de la fin du chargement, il devrait être suffisant pour déclencher votre Javascript.
la source