Cerca nel blog

Pubblicità

banner-125x125 banner-125x125 banner-125x125banner-125x125

Feed RSS e Newsletter

Puoi seguire il mio blog abbonandoti al feed RSS, se non sai cos'è un feed RSS prova a guardare questo video... Spiega tutto!

Icona Feed RSS

Twitter

PayPal

Se ti piace questo blog puoi pensare ad una donazione.

Tutti i fondi ricevuti saranno utilizzati per il mio sollazzo personale. :-)

Ultimi commenti...

Napolux: @ Meteo diretta: Lo venderanno caro immagino

Meteo diretta: venderanno il loro dominio? :P

Dario Salvelli: Forse la colpa è di Six Apart? ;)

Napolux: @ Dario Salvelli: Beh, per i tempi era un sistema molto avanzato. Ovviamente poi non è riuscito a...

Dario Salvelli: “Davvero ben fatto” mi sembra esagerato, io l’ultima volta che ci ho messo piede...

Reverse Geocoding in Google Maps

venerdì 14 novembre 2008
1 Star2 Stars3 Stars4 Stars5 Stars (1 voti, media: 3,00)
Loading ... Loading ...

Google ha recentemente introdotto il reverse Geocoding all'interno delle API di Google Maps. Ne avevo parlato qualche tempo fa, e ora è giunto il momento di giocare con un esempietto... :P

Sono partito da questo esempio tratto dalla documentazione e da una richiesta fatta da Federico qui: poter ricavare un URL preciso (da passare agli amici ad esempio) semplicemente cliccado sulla mappa.

Vediamo un po' di codice.

Per prima cosa creiamo la Google Maps con il suo bel geocoder e qualche controllo.

var geocoder = null;
var map = null

function load()
{
if (GBrowserIsCompatible())
{
// Dichiaro la mappa
map = new GMap2(document.getElementById("map"));

// Imposto centro su Roma (LAT 41.90, LONG 12.49)
map.setCenter(new GLatLng(41.90, 12.49), 16);

// Visualizza controlli - TIPO MAPPA
map.addControl(new GMapTypeControl());

// Visualizza controlli - ZOOM GRANDE
map.addControl(new GLargeMapControl());

// Inizializzo geocoder
geocoder = new GClientGeocoder();

// Al click sulla mappa eseguo reverseGeocode
GEvent.addListener(map, "click", reverseGeocode);
}
}
Trovate i vecchi tutorial su Google Maps che spiegano nel dettaglio come creare una mappa da zero a questo indirizzo.

La funzione reverseGeocode() si occuperà di richiedere l'indirizzo al server di Google passando le coordinate del punto che abbiamo cliccato sulla mappa.

function reverseGeocode(overlay, latlng)
{
// Se riesco a recuperare il punto in cui ho cliccato
if (latlng)
{
geocoder.getLocations(latlng, function(addresses) {
if(addresses.Status.code != G_GEO_SUCCESS)
{
alert("Impossibile recuperare l'indirizzo per il punto cliccato");
}
else
{
// Creo l'oggetto address
address = addresses.Placemark[0];

// Recupero la stringa dell'indirizzo
var myHtml = address.address;

// Apro alert contenente l'indirizzo e un link a maps.google.it
map.openInfoWindow(latlng, myHtml + "<br /><br /><a target=\"_blank\" href=\"http://maps.google.it/?q=" +  myHtml + "\">LINK!</a>");
}
});
}
}

Al click, come è facile intuire, creeremo un infoWindow sulla mappa che conterrà l'indirizzo cliccato e un link a maps.google.it completo di indirizzo.

Provare per credere (l'esempio è centrato sulla città di Roma).

Interessante notare come il reverse geocoder sia attivo in gran parte del mondo. Cliccando in mare ad esempio ci verrà restituito il continente più vicino alla zona di mare cliccata.

Per il codice completo dell'esempio fate riferimento al file sorgente linkato poco sopra.

Buon divertimento!

Questo articolo è stato pubblicato venerdì, 14 novembre 2008 alle ore 09:10 Se non vuoi perdere nemmeno un articolo del mio blog abbonati al feed RSS. Se non sai cos'è un feed RSS puoi guardare questo video, spiega tutto!

In alternativa puoi abbonarti alla newsletter, riceverai un'email ogni volta che verrà pubblicato un nuovo post. Il tuo indirizzo email sarà gestito da Feedburner.

  

7 Commenti a “Reverse Geocoding in Google Maps”

  1. capobecchino scrive:

    Interessante davvero sta funzione … mo sto cercando qualcosa che ti dica tramite la connessione dove ti trovi (più o meno ovviamente) tramite chiamate php, un gps in sostanza da implementare su meemi.

    ma come al solito, grazie del piccolo tutorial :)

  2. Napolux scrive:

    @ capobecchino:
    Dicesi IP Geocoding… :P

    Qualcosa si trova.

  3. Add Google Maps 2.1: reverse geocoding - The Developer Inside scrive:

    [...] ho letto sul blog di Napolux il suo articolo su reverse geocoding mi sono ricordato che avevo già modificato lo script add google maps per usarlo. In più ho [...]

  4. capobecchino scrive:

    @napolux: Lo dico che sei un genio ed un grande, con sempre la risposta giusta al momento giusto :)

  5. Napolux scrive:

    @ capobecchino:
    L’hai detto tu e per una volta condivido le tue affermazioni… :oops: :oops: :oops: :oops: :oops:

    :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen:

  6. capobecchino scrive:

    e lo confermo ;)

  7. Marco scrive:

    Ciao!
    Ho trovato molto interessante il tuo articolo.
    Ma ho una questione assai dolente.
    Esiste un modo per effettuare un reverse geocoding passando semplicemente coordinate gps e senza bisogno di effettuare un click sulla mappa.
    Il motivo è molto semplice, vorrei sviluppare un applicazione per palmari, e farmi trasmettere le coordinate gps al server aziendale.
    Da qui prendere le coordinate e, anche senza bisogno di un motore cartografico, sapere l’indirizzo.
    Dici che è possibile??????
    grazie