Pour ceux qui aiment s'amuser avec Google
Maps/HTML/JavaScript/Ajax blah...
Je vous recommande la lecture de ce site web : http://www.econym.demon.co.uk/googlemaps/
Bon aujourd'hui ce fut lutte avec l'API de Google Maps et TPhoto. En
effet, pour les besoins du job, nous avons besoin d'ajouter une photo sur
une map google. Pour ce faire nous utilisons la class TPhoto.
Néanmoins, cela marche très bien mais avec beaucoup de GMarker j'avais beaucoup de problème sur le resize de la
photo liée au marqueur.
=>Genre "NULL pointer" ;-)
A la vue du code normal :
function TPhoto(){} TPhoto.prototype.initialize=function(map){ [snip initilization] GEvent.bind(map, "zoomend", this, function(){this.setPosition(map)}); GEvent.bind(map, "moveend", this, function(){this.setPosition(map)}); } TPhoto.prototype.setPosition=function(a) { [blah] } TPhoto.prototype.setOpacity=function(b) { [blah] } GMap2.prototype.addTPhoto=function(a) { a.initialize(this); } GMap2.prototype.removeTPhoto=function(a) { var b = document.getElementById(a.id); this.getPane(G_MAP_MAP_PANE).removeChild(b); delete(b); }Lorsque l'on supprime une instance de TPhoto, on ne 'unbind' pas les évenements 'zoomend' et 'moveend' de la map.
GMap2.prototype.removeTPhoto=function(a) { var b = document.getElementById(a.id); this.getPane(G_MAP_MAP_PANE).removeChild(b); GEvent.clearNode(this); delete(b); }D'où le patch :
--- tphoto.2.05.js.orig 2007-03-06 18:09:04.000000000 +0100 +++ tphoto.2.05.js 2007-03-06 18:09:29.000000000 +0100 @@ -42,6 +42,7 @@ GMap2.prototype.addTPhoto=function(a){ GMap2.prototype.removeTPhoto=function(a){ var b=document.getElementById(a.id); this.getPane(G_MAP_MAP_PANE).removeChild(b); + GEvent.clearNode(this); delete(b); }Téléchargeable là