2. 11. 2008

Reverzní geokódování v Google Maps

Troška teorie ze startu. Geokódování je proces, kdy se adrese (např. Ostrava 17. Listopadu 25) přiřadí číselné souřadnice. Nejčastěji jsou tyto souřadnice zeměpisná šířka a délka (GPS).

Reverzní geokódování je samozřejmě proces opačný, kdy nějakému bodu (souřadnicím) přiřadíte konkrétní adresu. Oba tyto procesy umí Google Maps API.

Geokódování adres, s využitím Javascriptu, Google Maps už nějaký ten čas dokáže. Nově však přidal možnost geokódování přes HTTP. Metodu GET můžete předat celkem 6 parametrů, tři nejdůležitější jsou:

  • q – samotná adresa
  • key – Váš API klíč
  • output – JSON nebo XML (KML)

XML se souřadnicemi Ostravy naleznete na adrese:

http://maps.google.com/maps/geo?q=Ostrava&output=xml

Reverzní geokódování je možné pouze prostřednictvím javascript objektu GClientGeocoder. Operace getLocations požaduje dva parametry, první z nich jsou souřadnice a druhý handler, tedy funkce – která se má zavolat po dokončení operace. Malá příklad dle dokumentace:

var map;
var geocoder;

function initialize() {
 map = new GMap2(document.getElementById("map_canvas"));
 map.addControl(new GLargeMapControl);
 GEvent.addListener(map, "click", getAddress);
 geocoder = new GClientGeocoder();
}

function getAddress(overlay, latlng) {
 if (latlng != null) {
  geocoder.getLocations(latlng, showAddress);
 }
}

function showAddress(response) {
 alert(response.name);
}
#gis, #google, #mapy
  • http://www.streetview.cz streetview

    Diky za info, bude se hodit.