Tôi đang phát triển một ứng dụng nơi người dùng có thể xem và chỉnh sửa mạng lưới đường phố của một thành phố. Các đường phố được trình bày dưới dạng các tính năng trên một lớp vectơ và người dùng phải có thể sửa đổi các thành phần (cả thuộc tính và hình học - là LineString - của tính năng). Việc chỉnh sửa hình học được giới hạn trong việc kéo các điểm cuối của LineString, ít nhất là cho đến thời điểm hiện tại.
Mẹo nhỏ là các điểm cuối mới phải giao nhau với hình dạng hiện tại của tính năng, để người dùng không thể kéo đường để bắt đầu từ bên ngoài lưới đường. Ngoài ra, sửa đổi hình học sẽ ảnh hưởng đến hình học lân cận, nếu có. Đó là, nếu một con đường khác bắt đầu khi một điểm kết thúc, cả hai sẽ có điểm bắt đầu / điểm kết thúc thay đổi.
Tôi không cho rằng OpenLayers hỗ trợ việc này ngay lập tức vì vậy tôi nên bắt đầu thực hiện điều này như thế nào?