Gonzo: Schleife will nicht (mehr)

Beitrag lesen

Ich habe eine Schleife. DIese Schleife durchläuft eine XML-Datei und darin alle <markers> Tags.

Ich wähle mit "x" immer mit bei welchem Eintrag ich gerade bin.

Der Index, sprich "x" ist immer "2", auch beim ersten Durchlauf!

(Bitte sorge doch dafür, dass der Code beim nächsten Mal sauber formatiert im Forum ankommt. Es gibt hier eine Vorschau-Funktion und die saubere Formatierung erhöht die Lesbarkeit und damit die Antwortwahrscheinlichkeit ungemein.)

for (var x = 0; x < markers.length; x++) {

geocoder.getLatLng(adresse,
     function(point) {

map.addOverlay(createMarker(point, x, adresse,imageURL));

}
   );

//map.addOverlay(createMarker(latlng, i, tooltext,imageURL));

}

Dein Problem dürfte sein, dass du in getLatLng() eine Funktion definierst (function(point))und versuchst, in dieser Funktion auf eine Variable zuzugreifen, die gewissermaßen nur außerhalb der Funktion existiert, nämlich x.

Wenn du mal genau hinschaust, wirst du sehen, dass der Unterschied zu der von dir auskommentierten, vermutlich funktionierenden Vorversion ist, dass dort die Zählvariable i, anders als x, nicht in einer Funktionsdefinition steckt.

Ich weiß nicht, welchen Zweck die Funktion geocoder.getLatLng() erfüllen soll, wann ihr Funktionsparameter aufgerufen wird und woher der Parameter point kommt. Überlege dir, ob die Möglichkeit besteht, an der Quelle von point oder in adresse den Inhalt von x abzulegen (den Inhalt, nicht x selbst), oder ob es eine Möglichkeit gibt, auf die Funktion funktion(point) zu verzichten.