Punkt aus Linestring entfernen und Linie neu zeichnen

Hallo zusammen :slight_smile:

Ich habe ein wenig mit OSM & Openlayer gespielt und mir folgendes Beispiel als Grundlage genommen:
http://openlayers.org/dev/examples/marker-shadow.html

Nun wollte ich es so abändern, dass man über einen Klick auf die Karte neue Marker setzt (beliebig viele) was auch sofort super klappte. Und dann habe ich es nach einem anderen Beispiel (finde den Link gerade nicht mehr) so erweitert, dass man auch eine Linie zwischen den Punkten ziehen konnte.

Das klappte alles super … ich konnte wunderbar die Linie ziehen durch Klicken auf die Karte und alles ist super. Nun würde ich im ersten Schritt gerne einfach durch das Drücken eines Buttons (der die Funktion RemoveLastPoint aufrufen soll) den jeweils letzten Punkt rausnehmen.

Für die Marker klappt das super, die verschwinden im Array und auch auf der Karte. Nur bei der Linie habe ich noch Probleme.

Die Linie bleibt auf der Karte stehen, obwohl das Array effektiv wirklich gelöscht wird. Weil wenn ich nach der Löschung wieder auf die Karte klicke wird der “Vorletzte” Punkt als Grundlage genommen und eine neue Linie gezogen. Nur ist halt die “alte” Linie auch noch in der Karte die eigentlich weg sollte / muss. Hier der Quellcode der kompletten Testdatei.

Meine Fragen sind nun:

  1. Wie kann ich das falsche Linienfragment von der Karte verschwinden lassen?
  2. Wie könnte ich eventuell auch Punkte durch Klick auf den Marker verschwinden lassen?

Wäre nett wenn man mir ein paar Denkanstöße oder Beispiele geben könnte um das zu realisieren :slight_smile:

Für die die es interessiert, hier nun meine eigene Lösung:

Jetzt werde ich weiter basteln und es ermöglichen einzelne Punkte zu verschieben (Drag) oder per Klick zu löschen … statt nur den letzten zu löschen :slight_smile:

Hallo crazyiven und herzlich willkommen im Forum. :slight_smile:

Ich finde deine Überlegungen und Lösungen sehr interessant und denke viele andere, die selbst nicht die Profiprogrammierer sind, ebenfalls. Würde mich freuen wenn du uns auch weiterhin mit deinen Lösungen (und dem dazugehörigen Code) auf dem Laufenden hältst.
Georg