- Home
- Categorie
- Coding e Sistemistica
- Javascript & Framework
- [google maps] convertire indirizzo in coordinate
-
[google maps] convertire indirizzo in coordinate
Salve a tutti, ho un form con tre campi (fromAddress,toAddress, locale), dove vorrei convertire il campo toAddress in geoCoords.
Ci riesco, ma non so come inserirlo nella funzione successiva questo il codice:function setDirections(fromAddress, toAddress, locale) { geocoder.getLatLng(toAddress, function(point){ if (!point){ // Indirizzo non trovato! alert(toAddress + " non trovato!"); }else{ alert("trovato") } }); document.getElementById('directions').style.display = "block"; gdir.load("from: " + fromAddress + " to: " + toAddress, { "locale": locale }); alert(point) }
l'ultima parte dello script, ho messo alert(point) ma mi restituisce undefined, come dovrei fare per tramndare questa variabile da una parte all'altra del codice???
Grazie, ciao.
-
il problema dovrebbe essere nello scope della variabile point, dato che in questo caso dovrebbe essere interno alla funzione...
prova a settare una variabile che salvi quella "point" e poi vedi il valore della nuova variabile...
<script> point_ = ""; function setDirections(fromAddress, toAddress, locale) { geocoder.getLatLng(toAddress,function(point){ if (!point) { // Indirizzo non trovato! alert(toAddress + " non trovato!"); } else { alert("trovato"); point_ = point; } }); document.getElementById('directions').style.display = "block"; gdir.load("from: " + fromAddress + " to: " + toAddress,{ "locale": locale }); alert(point_); } </script>
non ti assicuro niente dato che mancandomi il resto del codice, non ho potuto testarla!
fammi sapere!
-
no, nulla, mi dispiace, mi esce la finestra di alert senza la variabile Praticamente point_ =
Grazie, ciao.
-
ti restituisce "point" quando fai l'alert "trovato"?
io ho ricreato il codice....e a me restituisce "point" backuppato al di fuori della funzione, con la corretta latitudine e longitudine!
-
niente, mi restituisce solo "trovato"
-
riusciresti a mettere il codice completo???
io ho il mio, ma potrebbe essere diverso...nel frattempo te lo posto!
<script> var map = null; var geocoder = null; function initialize() { if (GBrowserIsCompatible()) { map = new GMap2(document.getElementById("map_canvas")); map.setCenter(new GLatLng(0, 0), 13); geocoder = new GClientGeocoder(); } } function showAddress(address) { if (geocoder) { geocoder.getLatLng(address,function(point) { if (!point) { alert(address + " not found"); } else { map.setCenter(point, 13); ciccio = point; } }); } } ciccio = ""; document.onclick = function(){alert(ciccio)}; </script> <form action="#" onsubmit="showAddress(this.address.value); return false"> <p> <input type="text" size="60" name="address" value="1600 Amphitheatre Pky, Mountain View, CA" /> <input type="submit" value="Go!" /> </p> <div id="map_canvas" style="width: 500px; height: 300px"></div> </form> <script> initialize(); </script>
per controllare Latitudine e Longitudine, clicca in un punto qualsiasi!
-
Perdonami, forse mi sono spiegato male.
io mi sono creato questo:h tt p: // code.google.com/apis/maps/documentation/examples/directions-advanced.html
il problema però, sta nel fatto che se io nel campo To: digito "Roma", lui elabora informazioni stradali per Roma.
Se io sempre nel campo To: digito "41.88592102814744,12.45849609375" mi elabora sempre informazioni stradali per Roma,allora io vorrei fare che: nel campo To: digito "Roma", lui mi trasforma il valore del campo to in coordinate, e poi fa le ricerche.
Spero di non aver creato confusione.
Grazie.
-
Ah....ora ho capito!!!!
maps.google.com/maps/geo?q=indirizzo&output=csv&key=la_tua_chiave
questo ti restituisce un cvs con le coordinate e altre informazioni sul luogo, lo devi poi parsare e estrapolare ciò che ti serve!
ma perchè cerchi prima le coordinate e poi il luogo???
P.S.
a questo punto dovrai usare ajax!fammi sapere se ho capito giusto!
-
ma comunque....il codice che ho messo....lo fa già!
ho ricontrollato ora, e cercando, ad esempio, Biella, mi da le coordinate di biella, ma lo fa in seguito alla ricerca....
per farlo prima, devi chiamare la pagina che ho scritto prima, leggerla ed estrapolare i dati che ti interessano, io ho trovato molto comodo fare il tutto(lettura ed estrapolazione) in PHP....
-
ah, ok, quindi prima fa la ricerca, e poi ti restituisce le coordinate,
mentre se io volessi evitare ajax, un metodo per passare la variabile point alla funzione, non esiste???
-
che io sappia no, o ricarichi la pagina, ma non credo sia la cosa migliore, o usi ajax!!
Se c'è qualcuno che può smentirmi....lo faccia...dato che sta cosa interessa anche a me!