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

2.11.2008

, ,

Sdílej

Komentuj článek

V komentářích je možné používat Texy! syntaxi. Tato stránka podporuje Gravatary. Kromě této diskuze se můžeš zapojit do Google Groups.
Všechny komentáře jsou moderovány, takže tvůj příspěvek musím nejprve schválit. Komentáře můžeš sledovat zde