Geocode con Goole Maps

Mattepuffo's logo
Geocode con Goole Maps

Geocode con Goole Maps

In genere siamo abituati a creare le mappe dando latitude e longitudine.

Nella magiori parte dei casi, però, non abbiamo queste informazioni, ma abbiamo l'indirizzo:

Via Mattepuffo 35, Roma

tanto per fare un esempio.

Per fare visualizzare sulla mappa queste via, dobbiamo impostare il codice in modo che dall'indirizzo risalga a latitude e longitudine.

Per fare questo possiamo usare un oggetto google.maps.Geocoder.

Ecco la funzione:

function createMap(address) {
    var geocoder = new google.maps.Geocoder();
    geocoder.geocode({
        'address': address
    }, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            var options = {
                zoom: 12,
                center: results[0].geometry.location,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            };
            var map = new google.maps.Map(document.getElementById('map'), options);
            var marker = new google.maps.Marker({
                position: results[0].geometry.location,
                map: map
            });
        } else {
            alert("Problema nella ricerca dell'indirizzo: " + status);
        }
    });
}

In pratica usiamo la funzione geocode sull'indirizzo che passiamo come parametro e poi facciamo il resto.

Se il geocoding ha avuto successo impostiamo le classiche opzioni della mappa e poi creiamo l'oggetto google.maps.Map per rappresentare la mappa, e impostiamo il marker sull'indirizzo.

Sennò impostiamo un alert con l'errore.

Considerate che l'indirizzo, per essere visualizzato bene, richiede un minimo di info, come la città ad esempio.

Quindi potete richiamare la funzione nel modo seguente:

createMap('Via Mattepuffo 35, Roma');

Ciao!


Condividi

Commentami!