Estoy desarrollando una aplicación donde el usuario puede ver y editar una cuadrícula de una ciudad. Las calles se presentan como entidades en una capa vectorial, y el usuario debe poder modificar los elementos (tanto los atributos como la geometría, que es LineString) de la entidad. La edición de una geometría se limita a arrastrar los puntos finales de LineString, al menos por ahora.
El truco es que los nuevos puntos finales deben cruzarse con la geometría actual de la entidad, de modo que el usuario no pueda arrastrar un camino para comenzar desde fuera de la cuadrícula de la calle. Además, la modificación de la geometría debería afectar a las geometrías vecinas, si existen. Es decir, si otro camino comienza donde termina uno, ambos deben cambiar su punto de inicio / finalización.
No creo que OpenLayers admita esto de forma inmediata, ¿cómo debo comenzar a implementar esto?