JavaScript, Google map identificer markere
Hej eksperter.Jeg er ved at udvikle en Google Maps JavaScript applikation. Jeg har vha. JavaScript genereret et kort hvor jeg har centreret viewet til at vise hele Danmark. Jeg har gemt adressedata i et array (addressArray). Arrayet bliver brugt til at finde ud af hvor hver enkelt adresse skal placeres på kortet. Dette virker fint. Jeg er også i stand til at vise en tekst ud for hver enkelt marker på kortet, når der klikkes på en den.
Nu til problemet.
Når brugeren klikker på en bestemt marker, vil jeg gerne vise præcis hvad det er for en adresse. Jeg kan godt få hver enkelt tekst frem. De bliver bare ikke plaveret de rigtige steder. I eksemplet herunder bliver en adresse i Kolding f.eks. placeret på en marker som er placeret i Odense osv.
Hvordan får jeg nedenstående kode rettet, så jeg kan vise hver adresse fra arrayet ved den rigtige marker?
Linien "map.openInfoWindow(marker.getLatLng(), addressArray[i - 1]);" viser ikke adressen ved den marker den skal fordi jeg bruger variablen "i" som er den der tæller en op sammen med mit loop. Hvis jeg i stedet vidste hvordan jeg kunne sørge for det var den rigtige marker der fik teksten.
Hvordan kan jeg ændre koden, så den gør det?
function displayTypemap(addressArray)
{
//Initialize the map
initialize();
var gmarkers = [];
if (addressArray.length == 0)
{
//alert("No data.");
}
else
{
if (geocoder)
{
for (i = 0; i <= addressArray.length - 1; i++)
{
geocoder.getLatLng(addressArray[i], function(latlng)
{
if (!latlng)
{
alert(addressArray[i] + " not found");
}
else
{
//Make new marker object
var marker = new GMarker(latlng);
//Add marker object to map
map.addOverlay(marker);
//Make a marker listener
GEvent.addListener(marker, "click", function(overlay, latlng)
{
//Create a textnode when user clicks on a marker
map.openInfoWindow(marker.getLatLng(), addressArray[i - 1]);
});
}
} );
}
}
}
}
