2011-11-21 18 views
6

Estoy usando capas abiertas y puedo dibujar líneas usando DrawFeature y OpenLayers.Handler.Path. Ahora necesito proporcionar una opción para poder dibujar líneas horizontales/verticales. Lo que significa que cuando el usuario comienza a dibujar la línea y mueve el mouse a un ángulo, si el ángulo es menor de 45 grados con respecto al eje x, dibujará horizontal y si el ángulo es mayor de 45 grados comenzará a dibujar líneas verticales.¿Cómo dibujar líneas horizontales en openLayers?

¿Alguna idea sobre cómo hacer esto?

Respuesta

1

Eso es complicado. Supongo que deberías combinar controles múltiples

Intentaré dibujar dos vectores ocultos en el momento que quieras comenzar a dibujar. Un vector para el eje horizontal y otro para la vertical. Por supuesto que se cruzan en su punto de partida

La línea real que desea dibujar debe ajustarse a uno de estos vectores. http://dev.openlayers.org/docs/files/OpenLayers/Control/Snapping-js.html

Puede echar un vistazo a los ejemplos de desconexión rápida: http://www.openlayers.org/dev/examples/snap-grid.html, http://www.openlayers.org/dev/examples/wfs-snap-split.html

la única diferencia es que sólo se puede dibujar 'la red' si se conoce el origen. Comenzaría con un ejemplo que asume que sí.

Cuestiones relacionadas