Ten dokument nie wyjaśnia wszystkich wątpliwości? Szczegółowa dokumentacja techniczna API DoCelu.pl
Sprawdź toczące się dyskusje na Forum API DoCelu.pl
Ten dokument nie wyjaśnia wszystkich wątpliwości? Szczegółowa dokumentacja techniczna API DoCelu.pl
Sprawdź toczące się dyskusje na Forum API DoCelu.pl
Istnieją dwa podstawowe sposoby pobrania informacji o wyszukanych POI.
Pierwszym jest zdefiniowanie funkcji callBack, która zostanie wywołana w momencie wyszukiwania POI. Funkcje te przyjmują dwa parametry:
retStatus = {
failed: false, //wartość boolowska, czy pobranie danych zawiodło
errDesc: null, //ciąg znaków, opis ewntualnego błędu
exception: null //ewentualny obiekt wyjątku XMLHttpRequest
}
response = {
amount: 2, //liczba wszystkich POI pasujacych do wyników wyszukiwania
pois: [ ... ] //tablica ze stroną wyszukanych POI
}
Funkcja ta może zwrócić wartość boolowską false, co spowoduje, że wyniki nie będą wyświetlone na mapie. Zwrócenie każdej innej wartości bądź nulla spowoduje, że wyszukane POI zostaną zaprezentowane na mapie.
Dla każdego typu wyszukiwania przypisujemy odpowiednią funkcję callBack. Możemy do każdego typu przypisać tę samą funkcję lub inną. Przypisania dopisujemy poprzez odpowiedni wpis w konfiguracji mapy.
//definicja funkcji callBack
function searchPoiCallBack(ret, response) { ... };
//definicja drugiej funkcji callBack
function searchPoiByAddressCallBack(ret, response) { ... };
//obiekt konfiguracyjny
var config = {
"callBacks" : {
//wyszukiwanie po danych adresowych
"searchPoiByAddress" : searchPoiByAddressCallBack,
//wyszukiwanie w prostokącie
"searchPoiInRectangle" : searchPoiCallBack,
//wyszukiwanie w promieniu
"searchPoiWithinRadius" : searchPoiCallBack
}
};
Taki obiekt konfiguracyjny możemy przekazać do funkcji loadMap() lub po załadownaiu mapy do funkcji loadConfig().
Drugim sposobem jest wywołanie bezparametrowej metody getPoisFromSearchLayer(). Metoda ta zwraca tablicę POI już dodanych do warstwy wyszukiwania i widocznych na mapie.
Na przykładzie wyszukamy banki w Gdańsku po załadowaniu mapy:
DoCelu.loadMap(document.getElementById('map'), null, function() {
DoCelu.searchPoiByAddress("Gdańsk", null, null, "Bank", null, 0, 40);
});
Po kliknięciu w przycisk wyświetlimy nazwy POI z warstwy wyszukiwania.
var pois = DoCelu.getPoisFromSearchLayer();
var $poiList = jQuery('#poiList').html('<ol/>');
for (var i in pois) {
$poiList.find('ol').append('<li>' + pois[i].name + '</li>');
};
Przykładowy kod i efekt jego zastosowania:
<div id="map" style="width:800px; height:600px; "></div>
<script type="text/javascript">
//<![CDATA[
jQuery(document).ready(function() {
DoCelu.loadMap(document.getElementById('map'), null, function() {
DoCelu.searchPoiByAddress("Gdańsk", null, null, "Bank", null, 0, 40);
});
jQuery('#test').mousedown(function() {
var pois = DoCelu.getPoisFromSearchLayer();
var $poiList = jQuery('#poiList').html("<ol/>");
for (var i in pois) {
$poiList.find('ol').append("<li>" + pois[i].name + "</li>");
};
});
});
//]]>
</script>
Ten dokument nie wyjaśnia wszystkich wątpliwości? Szczegółowa dokumentacja techniczna API DoCelu.pl
Sprawdź toczące się dyskusje na Forum API DoCelu.pl
Ten materiał nie ma jeszcze żadnej opinii. Twoja może być pierwsza!