Estoy desarrollando una aplicación donde el usuario puede ver y editar una cuadrícula de calles de una ciudad. Las calles se presentan como características en una capa vectorial, y el usuario tiene que ser capaz de modificar los elementos (tanto los atributos y la geometría - que es LineString de la función). La edición de una geometría está limitado a arrastrar los puntos finales de la cadena de línea, al menos por ahora.
El truco está en que los nuevos puntos finales deben intersectarse con la geometría actual de la función, de modo que el usuario puede arrastrar un camino para iniciar desde fuera de la cuadrícula de calles. También, la modificación de la geometría debe afectar a los vecinos de geometrías, si los hubiere. Es decir, si otro camino comienza donde termina, ambos deben tener su punto de inicio/finalización cambiado.
No creo que OpenLayers apoya esta fuera de la caja, así que ¿cómo debo empezar a implementar este?