Estou desenvolvendo um aplicativo em que o usuário pode visualizar e editar uma grade de ruas de uma cidade. As ruas são apresentadas como recursos em uma camada vetorial, e o usuário precisa modificar os elementos (os atributos e a geometria - que é LineString - do recurso). A edição de uma geometria é limitada a arrastar os pontos finais do LineString, pelo menos por enquanto.
O truque é que os novos pontos finais devem se cruzar com a geometria atual do recurso, para que o usuário não possa arrastar uma estrada para começar fora da grade da rua. Além disso, a modificação da geometria deve afetar as geometrias vizinhas, se houver. Ou seja, se outra estrada começar onde a pessoa termina, ambas devem ter seu ponto de partida / chegada alterado.
Não acho que o OpenLayers suporte isso imediatamente, como devo começar a implementar isso?