Grazie mille, provo poi ti so dire. Gianni Bologna ----- Original Message ----- From: "Andrea P." <[EMAIL PROTECTED]> To: "Gianni B." <[EMAIL PROTECTED]> Cc: <[EMAIL PROTECTED]> Sent: Wednesday, May 07, 2008 10:08 PM Subject: Re: [Gfoss] R: Re: R: Re: Gestione segnalazioni all'interno dimappe.
> Beh, > > comunque una buona comprensione del javascript devi svilupparla. > > Io i prodotti che usi non li conosco, e non dispongo di un esempio che > sia ti possa aiutare molto. > > pero', posso darti qualche buon suggerimento. > > Innazi tutto , devi cercare di usare un javascript che ti mantenga > compatibile con IE e con Firefox, per non penalizzare troppi utenti. > In genere basta che funzioni con Firefox, che e' un po' piu' esigente di > IE e se funziona su Firefox di solito funziona anche su IE (non sempre > e' vero, ma in genere e' cosi'). > > Poi individua un sito internet con un buon manuale in linea di > javascript, ad esempio: > http://javascript.html.it/guide/leggi/25/guida-javascript-di-base/ > Cosi' trovi subito le sintassi che ti possono servire. > > Poi posso darti qualche riga di codice, che pero' dovrai adattare e > completare per svolgere qualcuno dei compiti . > > con questa chiamata javascript, chiedi al browser di aprire una > finestra, "url_chiamata_con_parametri", > > open(url_chiamata_con_parametri,'','width=500,height=300,scrollbars=no,resiz able=no'); > > nella variabile url_chiamata_con_parametri ci metti la url che vuoi > invocare e anche i parametri che gli passi, ad esempio le coordinate > geografiche, qualcosa del tipo: > > url_chiamata_ritorno = > '/finestra_form.html?coordinataX=1600000&coordinataY=4600000'; > > Tale codice devi metterlo in un evento javascript 'onClick' , in maniera > che quando cliccki con il mouse su un punto scateni l'evento che ti > aprira' una finestra 'finestra_form.html'. > > Forse un compito un po' inusuale e' quello di dover recuperare dei > parametri nella pagina html invocata. > Per questo alcune righe di codice utile sono queste: > > --> parametri = document.location.search; > con questa memorizzi in una variabile la stringa con cui avevi invocato > la pagina. > > ecco un pezzetto di codice per parserizzare la stringa ed estrarre cosi' > le coordinate (piu' o meno) > > var parametri = document.location.search; > parametriMaiuscoli = parametri.toUpperCase(); > var pos = 0; > var pos1 = 0; > var pos2 = 0; > var pos = parametriMaiuscoli.indexOf("COORDINATAX="); > > // qui dovresti aggiungere il codice verificare che effettivamente sia > stata trovata con un if..., tenendo presente che se non la trova pos > varra' -1. > > poi individui la posizione a cui termina la prima coordinata (ovvero ove > compare il separatore &) > > pos2 = parametriMaiuscoli.indexOf("&",pos1); // cerca & a partire da pos1. > > a questo punto estrai la coordinata X estranedo una substring tra pos1 e > pos2. > > var coordX = parametriMaiuscoli.substring(pos1,pos2); > > ... > ripeti il parsing per trovare anche la coordinataY che sai essere subito > dopo la coordinata X, e hai recuperato dai parametri le due coordinate. > Le metti un un paio di campi text di una form che componi in javascript > nella pagina e poi il resto lo fai scrivere all'utente. > > poi spedisci il tutto a una piccola web-app che hai fatto in php, jsp o > nel linguaggio che piu' ti aggrada. > > Di piu' non posso dirti. > Un punto forse problematico e' capire ove inserire in p.mapper il codice > gestore di evento per scatenare l'apertura della finestra. > Per questo pero' occorre conoscere p.mapper e non posso aiutarti. > > Saluti, > > Andrea P. > > > Gianni B. ha scritto: > > Ho pensato di utilizzare Mapserver 5.0 + P.mapper 3.2. > > Ho visto inoltre che P.Mapper ha una funzione nel menu a icone sulla > > sinistra, lo "show_coordinates" > > e cliccando un punto qualsiaisi della mappa dovrebbe restituirmi le > > coordinate. > > Solo che non mi funziona. Ho seguito scrupolosamente le poche istruzioni per > > utilizzare questo comado, > > ma non sono riuscito a farlo funzionare. Questo potrebbe fare al caso mio, > > no? > > Dato che non ho una gran dimestichezza con javascript, si potreebe avere > > qualche esempio?? > > > > Gianni > > Bologna > > > > ----- Original Message ----- > > From: "Andrea P." <[EMAIL PROTECTED]> > > To: <[EMAIL PROTECTED]> > > Sent: Tuesday, May 06, 2008 6:39 PM > > Subject: Re: [Gfoss] R: Re: R: Re: Gestione segnalazioni all'interno > > dimappe. > > > > > > Capisco, > > > > allora e' molto piu' semplice di quello che pensavo.... > > > > metti in linea un qualsiasi gis-server, > > mapserver o geoserver o altro. > > Scegli l'interfaccia che meglio ti aggrada, ad esempio p-mapper, > > ma potresti usare anche altre soluzioni. > > > > Poi ti scrivi uno script in javascript che a fronte di un click sulla > > mappa (un evento javascript). > > Recupera le coordinate geografiche, > > fa comparire una finestrella e precompila una form in html. > > > > nella form ci metti le coordinate geografiche, e chiedi all'utente di > > inserire uno o piu' testi e eventualmente selezionare da una combo-list > > un livello di gravita' della segnalazione. > > > > poi a fronte del submit sulla form registri il tutto lato server su un > > dbms oppure, ancora piu' semplice lo appendi su un file di testo, > > oppure meno semplice ma piu' efficare, > > fai in modo che lo scirpt lato server compili una email e la invii a una > > destinazione. > > Cosi' registrano subito l'avento. > > Infine trascrivi le coordinate su un bel db in postgres cosi' al > > prossimo connect l'evento compare a video. > > > > > > E' molto piu' semplice a farsi che a dirsi. > > > > feci una cosa del genere in un prototipo di un sistema per fare inserire > > a utenti remoti informazioni di stratigrafia in un sistema che > > registrava le coordinate geografiche del punto in cui era stato fatto il > > sondaggio. > > Quindi evento + coordinate geografiche inserite da remoto. > > > > La parte gis e' solo a supporto, serve solo per permettere a un utente > > di individuare il punto ove e' avvenuto l'evento identificandolo in una > > mappa dinamica. Per cui non hai bisogno di grandi e sofisticate > > funzionalita'' gis, ma ti basta le funzioni base, il resto e' solo una > > form alfanumerica da riempire e spedire a un server. > > > > > > Una unica raccomandazione: > > fai in maniera che il sistema rifiuti di attivare la finestrella con la > > form di inserimento se l'utente non e' almeno a scala 1:10.000 o migliore, > > altrimenti la segnalazione dell'evento rischia di avere delle coordinate > > geografiche troppo imprecise e per un livello comunale non va bene. > > > > > > Saluti, > > > > Andrea P. > > > > Gianni B. ha scritto: > >> Vorrei evitare di fare installare a degli utenti (è un servizio per i > >> cittadini di un comune) un software aggiuntivo, > >> anche se gratuito. In pratica non devono inserire delle geometrie ma solo > > un > >> breve testo (segnalazione guasto, ecc), > >> in modo che chi eroga il servizio può predisporre un intervento per > >> risolvere l'eventuale guasto. > >> Per adesso me lo immagino così : un punto con una simbologia particolare e > >> cliccandoci sopra compare il messaggio lasciato dall'utente. > >> Nel frattempo ho dato un occhiata anche a Cartoweb3 col plugin edition ma > > mi > >> pare che si possano inserire solo geometrie, > >> o mi sbaglio?? > >> > >> Ora continuo le mie prove. > >> Grazie. > >> > >> Gianni > >> Bologna > > > > _______________________________________________ > > Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione > > [email protected] > > http://www.faunalia.com/cgi-bin/mailman/listinfo/gfoss > > Questa e' una lista di discussione pubblica aperta a tutti. > > I messaggi di questa lista non rispecchiano necessariamente > > le posizioni dell'Associazione GFOSS.it. > > > _______________________________________________ Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione [email protected] http://www.faunalia.com/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. I messaggi di questa lista non rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it.
