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
Wyszukuje ulice w miejscowości.
W celu przechwycenia wyniki wyszukiwania i prezentacji ich np. w HTML'u należy zdefiniować w konfiguracji funkcję callBack. Jeśli nie zostanie ona zdefiniowana pierwszy wyszukany wynik zostanie zaprezentowany na mapie.
Funkcja callback przyjmuje dwa parametry:
ret = {
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 = {
"city" : { ... }, //obiekt miasta w którym szukaliśmy -
//opis w funkcjonalności wyszukiwania miast
"count" : 11, //łączna liczba pasujących wyników
"resultsPerPage" : 5, //liczba pobranych wyników
"pageNo" : 0, //numer strony pobranych wyników
"streetPrefix" : "Tr", //Szukana fraza
"data": [ ... ] //dane wyszukanych ulic
}
street = {
"roadId" : 29263, //identyfikator ulicy
"localityId" : 48855, //identyfikator miasta
"name" : "Traugutta R.", //nazwa ulicy
"zoom" : 14, //sugerowany zoom
"roadGeom" : {
"lat" : 54.36995, //szerokość geograficzna
"lon" : 18.62195 //długość geograficzna
}
}
Przykład:
<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() {
function searchStreetCallback(ret, response) {
if (ret.failed) {
//wystąpił błąd
} else {
var $searchedStreetsDiv = jQuery('#searchedStreets');
$searchedStreetsDiv.html('Znaleziono ' + response.count + ' ulic.');
var $list = jQuery(document.createElement('ul'));
for (var i in response.data) {
var text = response.data[i].name;
//poniższych parametrów nie będziemy wypisywać, ale posłużyć mogą do
//pokazania wyniku na mapie po kliknięciu
//var localityId = response.data[i].roadId;
//var lon = response.data[i].roadGeom.lon;
//var lat = response.data[i].roadGeom.lat;
//var zoom = response.data[i].zoom;
jQuery(document.createElement('li')).html(text).appendTo($list);
}
$list.appendTo($searchedStreetsDiv);
}
//zwracamy null - wynik pojawi się na mapie
return;
}
var config = {
callBacks : {
searchStreet : searchStreetCallback
}
};
jQuery('#test').mousedown(function() {
DoCelu.searchStreet("Tr", 48855, 0, 5);
});
});
});
//]]>
</script>
Funkcję wywołamy z parametrami:
DoCelu.searchStreet("Tr", 48855, 0, 5);
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!