Bonjours les gens,
Je suis actuellement en train d’implémenter GoogleMap dans une appli web. Là, il n’y a aucun problème, j’ai mes marqueurs, toussa. Maintenant pour aller encore plus loin, je veux leur faire afficher une infobulle (pas celle du tooltip) dès qu’on clique sur un des pointeurs.
J’arrive parfaitement à faire afficher l’infobulle à l’évènement clic. MAIS, le contenu textuel ne suit pas.
J’essaie de mettre cette instruction:
for(var k=0; k<point.length; k++)
{
GEvent.addListener(marker[k],'click', map.openInfoWindow(point[k], document.createTextNode(comments[k])));
}
Et malgré ça, le contenu de ma TextNode contient une valeur indéfinie quelque soit la valeur de k.
Et je suis obligé de faire un code en dure de cette façon :
for(var k=0; k<point.length;k++)
{
switch(k)
{
case 0 : GEvent.addListener(marker[k],'click', function (latlng) { map.openInfoWindow(latlng, document.createTextNode(comments[0]))});
break;
case 1 : GEvent.addListener(marker[k],'click', function (latlng) { map.openInfoWindow(latlng, document.createTextNode(comments[1]))});
break;
case 2 : GEvent.addListener(marker[k],'click', function (latlng) { map.openInfoWindow(latlng, document.createTextNode(comments[2]))});
break;
case 3 : GEvent.addListener(marker[k],'click', function (latlng) { map.openInfoWindow(latlng, document.createTextNode(comments[3]))});
break;
}
}
Malheureusement, je ne connais pas le maximum et donc il se peut que l’utilisateur veut afficher une centaine de positions.
En cherchant dans le SDK de googleMap, l’évènement “click” d’un GMarker passe qu’un seul paramètre qui n’est autre que les coordonnées de géolocalisation (soit GLatLng()).
Avez vous une idée de comment je pourrais bypasser ce problème ?