Sur l’API de Google map, le code proposé ressemble à cela :
[pastacode manual= »%20function%20initialize()%20%7B%0D%0A%20%20%20%20%20%20if%20(GBrowserIsCompatible())%20%7B%0D%0A%20%20%20%20%20%20%20%20var%20map%20%3D%20new%20GMap2(document.getElementById(%22map_canvas%22))%3B%0D%0A%20%20%20%20%20%20%20%20map.setCenter(new%20GLatLng(37.4419%2C%20-122.1419)%2C%2013)%3B%0D%0A%20%20%20%20%20%20%20%20map.setUIToDefault()%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%7D » provider= »manual » lang= »php »/]
Si vous avez de l’AJAX dans vos pages ou que que voulez utiliser le onload du body pour autre chose, cela risque de coincer.
Voici donc l’astuce :
[pastacode manual= »function%20pageFermeture()%20%7B%0D%0A%09GUnload()%3B%0D%0A%7D%0D%0A%20%20%20%20if%20(window.onload)%0D%0A%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F%2FHang%20on%20to%20any%20existing%20onload%20function.%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20gmapExistingOnload%20%3D%20window.onload%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20window.onload%3Dfunction(ev)%7B%0D%0A%20%20%20%20%20%20%20%20%2F%2FRun%20any%20onload%20that%20we%20found.%0D%0A%20%20%20%20%20%20%20%20if%20(gmapExistingOnload)%0D%0A%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20gmapExistingOnload(ev)%3B%0D%0A%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20if%20(GBrowserIsCompatible())%20%7B%0D%0A%0D%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20custom%20init%20(must%20be%20specified%20in%20the%20page%20calling%20this%20view)%0D%0A%20%20%20%20%20%20%20%20%20%20%2F%2FgMapsInit()%3B%0D%0A%09%09%20%20initialisation_gmap()%3B%0D%0A%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%7D%3B » provider= »manual » lang= »php »/]
Mise à jour du 10 mars 2010, voici une autre façon de faire :
[pastacode manual= »function%20addLoadEvent(func)%20%7B%20%0D%0A%09var%20oldonload%20%3D%20window.onload%3B%20%0D%0A%09if%20(typeof%20window.onload%20!%3D%20’function’)%7B%20%0D%0A%09%09window.onload%20%3D%20func%20%0D%0A%09%7D%20else%20%7B%20%0D%0A%09%09window.onload%20%3D%20function()%20%7B%20%0D%0A%09%09%09oldonload()%3B%20%0D%0A%09%09%09func()%3B%20%0D%0A%09%09%7D%20%0D%0A%09%7D%20%0D%0A%7D%20%0D%0AaddLoadEvent(initialize)%3B » provider= »manual » lang= »php »/]
Amusez-vous bien 🙂
as-tu la page en ligne quelque part ? Sinon tu peux me l’envoyer pour que je regarde ton code source ?
@florent
Je rencontre quelques soucis..
Je souhaite afficher une carte et un parcours et les actualiser toute les x secondes grâce à ajax prototype.
L’actualisation se passe bien mais la map ne s’affiche plus du tout ..
Je n’ai bien juste qu’à ajouter addLoadEvent(function) pour chaque fonction voulue dans window.unload ?
@MacFly
Oui tout à fait.
Bonjour,
Avez vous réussi à utiliser cette méthode ?
Reste plus qu’à trouver comment l’utiliser O:-)
merci merci ^^
Voilà les codes et en plus une nouvelle façon de faire.
Ca a l’air intéressant, mais si on pouvais voir le code se serait encore mieux
😉