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);
}