Ho risolto dichiarando la variabile Y globale e assegnandogli il valore della variabile "i"...
Pero' ora il problema e' nella logica del programma.
Cerco di spiegarmi con un esempio
Il risultato finale che dovrei avere, e' di questo tipo
Codice PHP:
GEvent.addListener(marker1,'click',function(){
marker1.openInfoWindowHtml(html1);
});
GEvent.addListener(marker2,'click',function(){
marker2.openInfoWindowHtml(html2);
});
GEvent.addListener(marker2,'click',function(){
marker2.openInfoWindowHtml(html3);
});
GEvent.addListener(marker2,'click',function(){
marker2.openInfoWindowHtml(html4);
});
In quanto ogni marker (punto sulla mappa) ha associato un testo differente.
Come posso fare in modo che la mia parte di codice (che posto di nuovo qui) possa funzionare in questo modo?
Attualmente mi prende solo l'ultimo valore della variabile "i"...ovvero 4
Codice PHP:
function initialize(address) {
var geocoder = new GClientGeocoder();
var text = [];
var y=0;
geocoder.getLatLng(
address,
function(point) {
if (!point) {
alert(address + " not found");
} else {
var map = new GMap2(document.getElementById("cw_google_maps"));
map.setCenter(point, 13);
GDownloadUrl("file_xml.php", function(data) {
var xml = GXml.parse(data);
var markers = xml.documentElement.getElementsByTagName("marker");
for (i=0; i < markers.length; i++) {
y=+i;
var icon_tienda = new GIcon();
icon_tienda.image= markers[i].getAttribute("image");
icon_tienda.iconSize = new GSize(markers[i].getAttribute("size"));
icon_tienda.iconAnchor = new GPoint(37, 59);
icon_tienda.infoWindowAnchor = new GPoint(31, 8);
text[i] = markers[i].getAttribute("text");
var latlng = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lng")));
window['marker_final'+i]=new GMarker(new GLatLng(parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lng"))),{clickable:true, icon:icon_tienda, title:text});
map.addOverlay(window['marker_final'+i]);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>> PARTE DA MODIFICARE <<<<<<<<<
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
GEvent.addListener(window['marker_final'+i],
"click",
function() {
window['marker_final'+y].openInfoWindowTabsHtml(text[y]);
}
);
}
});
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
FINE PARTE DA MODIFICARE
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
}
});
}