Ich entwickle eine Anwendung, mit der der Benutzer ein Straßenraster einer Stadt anzeigen und bearbeiten kann. Die Straßen werden als Features auf einer Vektorebene dargestellt, und der Benutzer muss in der Lage sein, die Elemente (sowohl die Attribute als auch die Geometrie - das ist LineString - des Features) zu ändern. Die Bearbeitung einer Geometrie beschränkt sich zumindest vorerst auf das Ziehen der Endpunkte des LineString.
Der Trick besteht darin, dass sich die neuen Endpunkte mit der aktuellen Geometrie des Features schneiden müssen, damit der Benutzer keine Straße ziehen kann, um von außerhalb des Straßenrasters zu beginnen. Das Ändern der Geometrie sollte sich gegebenenfalls auch auf die benachbarten Geometrien auswirken. Das heißt, wenn eine andere Straße dort beginnt, wo eine endet, sollte bei beiden der Start- / Endpunkt geändert werden.
Ich nehme nicht an, dass OpenLayers dies sofort unterstützt. Wie soll ich damit beginnen?
quelle
Antworten:
Vielleicht kann dies nützlich sein: https://github.com/jorix/OL-GhostNodes ,
siehe Beispiel: http://jorix.github.com/OL-GhostNodes/examples/ghost-nodes.html
quelle