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

Rispondere a