Pagine web

venerdì 24 luglio 2009 - 09.52

cable Profilo | Junior Member

Ciao a tutti,
devo fare un software che va a leggere dati (provenienti da un modulo GPS) dalla seriale e poi visualizza la posizione in google maps .
Almeno, io avevo pensato di fare così!
La stringa che mi arriva in seriale la scrivo su un file txt, apro una pagina google maps poi leggo la stringa dal file e la vado a scrivere nella barra di google maps...qui nasce il problema!
Io so come aprire la pagina

System.Diagniostics.Process.Start("http://maps.google.it")

ma poi non so come andare a scrivere le coordinare nella barra di google maps(che non è la barra degli indirizzi) e a dare l'invio per far si che mi visualizzi la posizione.
Inoltre devo fare questo procedimento in un loop perchè devo seguire la posizione di un veicolo più o meno in tempo reale(pensavo di ripetere il ciclo ogni 2 secondi).

Grazie in anticipo per ogni suggerimento

Mauro

luigidibiasi Profilo | Guru

Ciao,
tempo fà sviluppamo un software analogo .. spero che la soluzione che adottammo funzioni ancora...

Per impostare tramite url una posizione su google maps usa il link :

http://maps.google.it/maps?hl=it&ie=UTF8&ll=41.442726,12.392578&spn=16.421129,28.081055&t=h&z=5

Non ricordo esattamente i parametri che significato hanno ma credo che :

ll = LATITUDINE, LONGITUDINE
z = ZOOM
spn = ?? non ricordo

comunque se stai usando visual studio non avviare un processo per il browser così.. :
System.Diagniostics.Process.Start("http://maps.google.it")

perchè allo scadere di ogni intervallo aprirebbe una finestra nuova... ti conviene importare all'interno del progetto un controllo web browser e poi usare il metodo navigate per passargli l'url...

Tieni presente che questa soluzione è sporca perchè ad ogni intervallo ricarica la pagina web... per utilizzare al meglio google maps dovresti utilizzare le api che google mette a disposizione e implementare tutto come un'applicazione web.... (cerca google maps api su google)



Luigi Di Biasi
http://blogs.dotnethell.it/luigidibiasi/
http://www.dibiasi.it/

cable Profilo | Junior Member

Ciao,
effetivamente utilizzare un WebBrowser è molto meglio!
Come , date le coordinate, farmi restituire la posizione sulla cartina l'avevo già visto ,volevo farlo da software.
Purtroppo non ho nessuna esperienza in programmazione di applicazioni web , proverò a cercare qualcosa sulle API di google maps; per poterle utilizzare è sufficiente che mi copi la libreria e la importi nel progetto?
Non avendo esperienza, tu la vedi una cosa comunque fattibile studiando un pochino o la ritieni pesante?

Grazie 1000 della risposta e dei consigli.

Mauro

luigidibiasi Profilo | Guru

>Purtroppo non ho nessuna esperienza in programmazione di applicazioni
>web , proverò a cercare qualcosa sulle API di google maps; per
>poterle utilizzare è sufficiente che mi copi la libreria e la
>importi nel progetto?

Non so se le api sono disponibili anche per visual studio.. quando le usai io erano in javascript e quindi andavano richiamate in una pagina web.. dovresti provare a cercare informazioni..

>Non avendo esperienza, tu la vedi una cosa comunque fattibile>studiando un pochino o la ritieni pesante?

no no... non è difficile anzi.. google fà tutto il lavoro .. l'unico problema che potresti riscontrare e quello di leggere sul file TXT da una pagina web...

se riesci a richiamare uno script js dal controllo webbrowser inserito nel progetto staresti proprio a posto ...

una domanda.. perchè salvi nel file txt? hai bisogno di conservare informazioni?

>
>Grazie 1000 della risposta e dei consigli.
>
>Mauro

Luigi Di Biasi
http://blogs.dotnethell.it/luigidibiasi/
http://www.dibiasi.it/

cable Profilo | Junior Member

>l'unico problema che potresti riscontrare e quello di leggere sul file TXT da una pagina web...

>se riesci a richiamare uno script js dal controllo webbrowser inserito nel progetto staresti proprio a posto ...

mmm, vedrò sul da farsi. Non sono molto afferrato :((


>una domanda.. perchè salvi nel file txt? hai bisogno di conservare informazioni?

Ma, per ora non ho bisogno di storico ma è facile che poi debba inserirlo per poter visualizzare tutto il tracciato.Ho quindi pensato di inserirlo già da ora.

Grazie ancora
Mauro

luigidibiasi Profilo | Guru

ho fatto una prova... tra qualche minuto ti posto un progetto e vedi se va bene....
Luigi Di Biasi
http://blogs.dotnethell.it/luigidibiasi/
http://www.dibiasi.it/

cable Profilo | Junior Member

Eccezionale!
Fino alle 12 sono qui, se no ti faccio sapere lunedì.

Grazie ancora per l'interessamento.

luigidibiasi Profilo | Guru

Allora, ho preso spunto dal vecchio progetto di cui ti parlavo... poi lo modifichi come vuoi ...

un'unica cortesia... ricordati che ti devi creare la chiave di google per usare le api perchè quella inserita è associata al mio utente... e sai com'è .. declino ogni responsabilità sull'uso che ne fai :P

nelle due textbox devi inserire valori double in forma XXX.xxxx

se vuoi richiamare ad intervalli copia il codice del button nel timer...

fammi sapere se và... se diventi ricco e famoso ricordati di me :P



p.S: la posizione di partenza è casa mia:P la puoi impostare nella pagina web allegata

Luigi Di Biasi
http://blogs.dotnethell.it/luigidibiasi/
http://www.dibiasi.it/

cable Profilo | Junior Member

Si si, ho visto che serve creare una chiave di google.

Oggi pomeriggio non ci sono, lunedì lo guardo, lo provo e ti aggiorno.

Intanto grazie per la super velocità nella risposta.

Mauro

alexmed Profilo | Guru

Ciao
Io qualche tempo fà ho risolto così:
Le coordinate inserite nelle txtBox sono in formato sessagesimale (gradi° primi' e secondi'') quindi vengono convertite prima di passarle alla pagina in sessadecimale (gradi,centesimi).

Ecco il codice:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

A differenza del codice di Luigi non mi appoggio ad un file html esterno che potrebbe essere cancellato o modificato, e poi che mi appoggi a Maps Live e non a Google Maps che ti chiede il codice.

Qui:
Dim target As New Bitmap(Application.StartupPath & "\html\target3.png")
posso scegliere un immagine che rappresenta il punto.

Ciao

alexmed

cable Profilo | Junior Member

Ciao Luigi,
funziona abbastanza bene... dico abbastanza perchè ogni tanto capita che non mi apra la mappa ma magari è un problema di rete mio!
C'ho messo un pò ad ottenere la key di google maps perchè per averla mi chiedeva un URL, alla fine ho messo http://localhost e l'ha presa.

Ho modificato il codice Javascript per quanto riguarda la key e la posizione che visualizza quando apri il software, ora cercherò di capirci qualcosa sul resto del codice (magari i bottoni li tolgo tanto può usare lo zoom di google maps).

Se avessi ancora problemi e se la tua pazienza lo permette magari ti rompo ancora le scatole!
Intanto grazie 1000.

Mauro

PS per alex: non ho ancora guardato il codice che hai postato perchè ho provato quello di Luigi,nel pomeriggio ci guardo

Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5