Wyszukiwanie adresu |
Funkcja search
Wyszukuje punkty adresowe zgodne z podanym adresem. Dane przekazywane do podstawianej w drugim parametrze funkcji zawierają listę dopasowanych punktów adresowych (geocodeInfoArray) zawierających:
Współrzędne geograficzne są zwracane tylko dla pierwszego elementu z listy wyników. Jeżeli któryś z elementów nie występuje w wynikowym punkcie adresowym, oznacza to, że został odrzucony podczas wyszukiwania.
Dostępne parametry:
address | {String} Adres do wyszukania w formacie "(miejscowość|kod)[,ulica [numer]][;kod|adm1[,adm2[,adm3]])]", co oznacza, że na początku znajduje się miejscowość albo kod pocztowy, następnie opcjonalnie po przecinku ulica z ewentualnym numerem i dalej opcjonalnie po średniku kod pocztowy albo lista do trzech obszarów administracyjnych (od najwyższego do najniższego poiomu) oddzielonych przecinkami. Wielkość liter nie ma znaczenia. |
callback | {Function} Funkcja obsługi wyników wyszukiwania. |
var map = new EMAPI.Map('mapa1','userId'); var finder = new EMAPI.Finder(map); //tworzenie nowej instancji EMAPI.Finder dal mapy 'map' finder.search("kowiesy", onfind); //wyszukiwanie miejscowosci Kowiesy i wywołanie //funkcji onfind do obsługi wyników wyszukiwania onfind= function(res) { alert(res.geocodeInfoArray[0].areaName0); //wywołanie okna z informacją zawierającą nazwę } //województwa szukanej miejscowości
Wyniki działania funkcji search przekazywane są w postaci macierzy.
Przykład:
{ "result":0, "geocodeInfoArray": [ { "city":"Kowiesy", "zip":"96-320", "street":"", "streetNumber":"", "areaName0":"Mazowieckie", "areaName1":"żyrardowski", "areaName2":"Mszczonów", "middlePoint":{"Longitude":20.5306243896484,"Latitude":51.8994674682617}, "boundingRect": { "TopLeft":{"Longitude":20.527961730957,"Latitude":51.8912010192871}, "BottomRight":{"Longitude":20.5423965454102,"Latitude":51.9019966125488} }, "geocodeType":0}, { "city":"Kowiesy", "zip":"08-311", "street":"", "streetNumber":"", "areaName0":"Mazowieckie", "areaName1":"sokołowski", "areaName2":"Bielany", "middlePoint":null, "boundingRect":null, "geocodeType":3 }, { "city":"Kowiesy", "zip":"96-111", "street":"", "streetNumber":"", "areaName0":"Łódzkie", "areaName1":"skierniewicki", "areaName2":"Kowiesy", "middlePoint":null, "boundingRect":null, "geocodeType":3 } ] };
Funkcja getCoordinates
Pobiera lokalizację na mapie jednego z punktów adresowych wyszukanych za pomocą funkcji search. Dane przekazywane do podstawianej w drugim parametrze funkcji zawierają element o strukturze zgodnej z przekazywaną przez funkcję search, przy czym zwracany jest odpowiedni kod błędu (result: 0 = ok, 1 = niepoprawny indeks pozycji w liście wyników).
Dostępne parametry:
index | {Integer} Pozycja żądanego elementu z listy wyników wyszukiwania (wartość z zakresu 0-[liczba wyników pomniejszona o 1]). |
callback | {Function} Funkcja obsługi wyniku wyszukiwania. |
Przykład ustawienia widoku mapy na wyszukaną miejscowość:
finder.getCoordinates(0, responseCoordinate); //pobranie lokalizacji pierwszego wyszukanego punktu //i przekazanie go do funkcji responseCoordinate responseCoordinate = function(response) { if (response.result == 0) { var bounds = new EMAPI.Bounds( response.boundingRect.TopLeft.Longitude, // response.boundingRect.BottomRight.Latitude, //współrzędne wierzchołków prostokąta response.boundingRect.BottomRight.Longitude, //prezentującego mapę response.boundingRect.TopLeft.Latitude); // map.setBounds(bounds); //ustawienie widoku mapy na wyszukaną miejscowość } }
Lista wyników funkcji search oraz mapa prezentująca pierwszą wyszukaną miejscowość.