2011-11-21 23 views
6

Sto usando gli openlay e sono in grado di disegnare linee usando DrawFeature e OpenLayers.Handler.Path. Ora ho bisogno di fornire un'opzione per poter disegnare linee orizzontali/verticali. Il che significa che quando l'utente inizia a disegnare la linea e sposta il mouse su un angolo, se l'angolo è inferiore a 45 gradi rispetto all'asse x, disegna solo in orizzontale e se l'angolo supera i 45 gradi inizierà a disegnare linee verticali.Come disegnare linee orizzontali in openLayers?

Qualche idea su come fare questo?

risposta

1

Questo è un problema. Immagino che dovresti in qualche modo combinare più controlli

Proverei a disegnare due vettori nascosti nel momento in cui vuoi iniziare a disegnare. Un vettore per l'asse orizzontale e uno per la verticale. Ovviamente si intersecano al punto di partenza

La linea effettiva che si desidera tracciare deve essere agganciata a uno di questi vettori. http://dev.openlayers.org/docs/files/OpenLayers/Control/Snapping-js.html

È possibile dare un'occhiata agli esempi di aggancio: http://www.openlayers.org/dev/examples/snap-grid.html, http://www.openlayers.org/dev/examples/wfs-snap-split.html

l'unica differenza è che si può solo disegnare 'griglia' se si conosce l'origine. Vorrei iniziare con un esempio che presume che tu faccia.

Problemi correlati