Ciao Stefano,
magari hai già risolto, ma scrivo lo stesso un altro paio di possibilità.
Il pan con comandi da tastiera è già implementato in uno dei controlli,
basta aggiungerlo alla mappa e l'utente potrà muoversi con le freccette
della tastiera.
Anche la panzoombar permette di spostarsi senza "interrompere" il
controllo drawing.
Potresti inoltre mettere fuori dalla mappa i controlli di pan, non so se
una di quelle barre è "spostabile" in un div, ma puoi sempre fare tu un
paio di funzioni, prendendo spunto dal codice dei controlli OL che fanno
il pan (il codice di OL è di facile lettura).
Infine, puoi suggerire all'utente di modificare il tracciato che stava
disegnando: disegna una parte, interrompe per zoomare (o altro) e poi
riprende in modalità modifica (con l'apposito controllo).
Ciao
Francesco
Stefano ha scritto:
hahahaha col cavolo che lo avevo visto!!! :)
grazie mille!!!
ho cercato ma evidentemente non mi è venuto in mente di cercare
attraverso le parole giuste..."snapping" ad esempio! :-)
è veramente eccezionale l'elenco di esempio di OL!
Il giorno 22 marzo 2011 11:33, G. Allegri <[email protected]
<mailto:[email protected]>> ha scritto:
Solo che il mio problema principale rimane unire insieme
tracce disegnate in tempi differenti! Esattamente come accade
su Potlatch(l'editor online di OSM)
Dalla tua prima emial mi sembra di capire che, anzitutto, vorresti
gestire uno snapping guidato, giusto? Avrai sicuramente visto
questo esempio: http://openlayers.org/dev/examples/snapping.html
Partendo da questo potresti integrarlo con delle regole per
guidare lo snapping in base agli attributi dei punti che
compongono la linea. Penso ad es. ad un progressivo per indicare
l'ordine di inserimento. Via via che lo snapping ti individua
possibili agganci, li puoi filtrare in base al fatto che siano
vertici col progressivo massimo rispetto alla linea di
appartenenza....
Sono idee buttate così, sicuramente esisteranno strade più
smart... Comunque mi hai dato la curiosità di esplorare meglio il
controllo OpenLayers.Control.Snapping ;)
giovanni
Il giorno 22 marzo 2011 10:59, G. Allegri <[email protected]
<mailto:[email protected]>> ha scritto:
Ciao Stefano.
Progetto interessante.
Ti butto lì un'altra ipotesi, giusto per condividere idee.
Per quanto la soluzione al riattacco delle spezzate sia
comunque utile in tanti altri casi, per il problema dello
spostamento sulla mappa io mi preoccuperei di trovare un
modo user-friendly per permettere all'utente di fare un
pan senza dover interrompere l'editazione della linea
attuale. Es., valutare ogni tot la posizione del mouse
rispetto agli estremi della mappa e, in base ad un offset
stabilito, eseguire un pan da codice. Oppure switchare in
modalità pan con un mouse click col tasto destro. O,
ancora, fare il pan con le frecce della tastiera...
giovanni
Il giorno 22 marzo 2011 10:41, Stefano
<[email protected]
<mailto:[email protected]>> ha scritto:
Buon giorno a tutti
Sto sviluppando un sistema di tracciatura di percorsi
e waypoint con interfaccia javascript utilizzando
Openlayers e jQuery.
Sono partito da uno degli esempi ufficiali disponibili
nella libreria di OL:
http://openlayers.org/dev/examples/editingtoolbar.html
L'applicativo permette poi con dei pulsanti di salvare
tutto quello che si è disegnato sopra la mappa,
inviando un pacchettone(fatto di punti e linee)
GeoJson al server, il quale lo converte in un semplice
file gpx.
Ma ho un problema: durante l'operazione di disegno di
una traccia, se la linea che traccio è più grande
della vista della mappa sono costretto a spezzarla!
cioè usare il pan per spostare la mappa e poi
disegnare un'altra linea, solo che in questo modo mi
ritrovo due oggetti geometrici(feature in OL)
differenti e separati, vorrei trovare un qualche modo
per proseguire una traccia dal suo ultimo punto inserito.
Ora la mia idea era di implementare un sistema che
individua la posizione del click iniziale di una linea
e permette di fonderla all'ultimo punto della linea
che si trova piu vicino, secondo una certa distanza
massima (in pixel).
Questo sarebbe utile non solo per poter disegnare
tracce molto lunghe ma anche per aggiungere segmenti
ad una traccia gia esistente.
Qualcuno di voi ha mai visto una cosa del genere
implementata utilizzando OL? mi basterebbe anche solo
un sito di esempio, xke io non riesco a trovare nulla
del genere eppure mi sembra una funzionalità abbstanza
utile! e sulla documentazione ufficiale non ho trovato
nulla!
grazie infinite
Stefano
_______________________________________________
Iscriviti all'associazione GFOSS.it:
http://www.gfoss.it/drupal/iscrizione
[email protected] <mailto:[email protected]>
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a
tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano
necessariamente
le posizioni dell'Associazione GFOSS.it.
502 iscritti all'11.2.2011
--
Name indicates what we seek.
An address indicates where it is.
A route indicates how we get there.
Jon Postel (1943-1998) RFC 791,"Internet
Protocol", 1981
_______________________________________________
Iscriviti all'associazione GFOSS.it:
http://www.gfoss.it/drupal/iscrizione
[email protected] <mailto:[email protected]>
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
502 iscritti all'11.2.2011
--
Name indicates what we seek.
An address indicates where it is.
A route indicates how we get there.
Jon Postel (1943-1998) RFC 791,"Internet Protocol", 1981
------------------------------------------------------------------------
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[email protected]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
502 iscritti all'11.2.2011
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[email protected]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
502 iscritti all'11.2.2011