Layer / Vector wieder entfernen

Hallöle,

irgendwie habe ich gerade wieder scheuklappen auf.
Also, ich plotte einen Wegpunkt auf die Karte, dessen Koordinate per XMLHttpRequest aus einer Datenbank ziehe.
Nach 1 Sekunde wiederholt sich dieser Vorgang. Nach jedem neuen Punkt wird die Karte auf den Punkt zentriert, so dass man dem Wegpunkt auf seinem Weg “folgen kann”. Eigentlich sollte immer nur ein Punkt erscheinen, aber er addiert die Punkte quasi. Nach 10 Sekunden habe ich also 10 Marker auf der Karte, und das möchte ich nicht.

Nun habe ich gedacht, ich könnte einfach bei jedem Schleifendurchlauf das Layer / den Marker entfernen.

Dies habe mich mit:

map.removeLayer(layer);

versucht.
Aber das resultiert nur in Fehlermeldungen durch den IE

map.removeLayer(layer);
→ ungültiges Argument

map.removeLayers(layer);
Das Objekt unterstützt diese Eigenschaft oder Methode nicht.

Wie kann ich das Layer nun entfernen bzw. den Marker?

Würde mich über Feedback freuen :slight_smile:

Ohne mich naeher mit dem Thema auszukennen:

(Fettung durch mich)

Koennte es sich um einen Tippfehler handeln?

Wie legst Du denn den Marker an?

Ich würde den Marker in einen Vektor-Layer einbauen und dann mit der move-Funktion verschieben:

Initialisierung:

var markerlayer = new OpenLayers.Layer.Vector("Marker");
marker = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(laenge,breite)....);
markerlayer.addFeatures([marker]);

Verschieben:

 marker.move(new OpenLayers.LonLat(x,y)...);

Da hätte ich ein Beispiel, das einen Marker pro Klick um 1/5 Grad nach NO hüpfen lässt.

Grüße, Max