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
Do skorzystania z tej funkcjonalności niezbędne jest zaimplementowanie notatnika po stronie własnego serwera web.
W konfiguracji API należy zdefiniować ścieżkę, pod którą dostępny jest notatnik:
var cfg = {
"paths" : {
"getNotepad" : {
"url" : 'http://moj.host.pl/notepadContent.php',
"paramNames" : {
"pois" : 'pois',
"views" : 'views',
"poisPage" : 'ppage',
"viewsPage" : 'vpage',
"perPage" : 'perPage'
}
}
}
};
Następnie należy zdefiniować funkcję, która obsłuży pobraną zawartość
function notepadContent(retStatus, response) {
if (!retStatus.failed) {
//wyświetlimy punkty z notesu na mapie
var poisAmount = response.poisList.amount;
DoCelu.addPoisToUserLayer(response.poisList.userPois);
DoCelu.showUserLayer();
//wypiszemy linki do zapisanych widoków
var $viewList = jQuery('#viewList');
var viewsAmount = response.views.amount;
for (var viewKey in response.viewsList.views) {
var href = response.viewsList.views[viewKey].url;
var txt = response.viewsList.views[viewKey].description;
$viewList.append('<li><a href="' + href + '">' + txt + '</a></li>');
}
}
}
I uruchomić funkcjonalność:
DoCelu.getNotepad(true, true, 0, 0, 5, notepadContent);
Powyższe wywołanie wykona żądanie AJAX'owe w postaci:
http://moj.host.pl/notepadContent.php?callback=jsonp1241424941463&pois=true&views=true &ppage=0&vpage=0&perPage=5
Po stronie serwera należy obsłużyć powyższy request i zwrócić odpowiedź w formacie:
jsonp1241424941463({
"poisList":{
"amount":1,
"userPois":[
{
"poiId":123,
"label":"1",
"name":"Sklep spożywczy Małgosia",
"description":"Sklep spożywczy",
"poiGeom":{
"lon":20.123,
"lat":50.345
}
}
]
},
"viewsList":{
"amount":2,
"views":[
{
"url":"http://docelu.pl",
"description":"Strona serwisu DoCelu"
},
{
"url":"http://wp.pl",
"description":"Strona portalu WP"
}
]
}
});
jsonp1241424941463 to nazwa wywoływanej funkcji javascriptowej przekazywana w URL'u jako parametr callBack. Funkcja przyjmuje jeden parametr z obiektem, który później dostaniemy do funkcji notepadContent jako parametr response. Parametr zapisany jest w notacji JSON.
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() {
var cfg = {
"paths" : {
"getNotepad" : {
"url" : '/notepadContent.mock.json',
"paramNames" : {
"pois" : 'pois',
"views" : 'views',
"poisPage" : 'ppage',
"viewsPage" : 'vpage',
"perPage" : 'perPage'
}
}
}
};
function notepadContent(retStatus, response) {
if (!retStatus.failed) {
//wyświetlimy punkty z notesu na mapie
var poisAmount = response.poisList.amount;
DoCelu.addPoisToUserLayer(response.poisList.userPois);
DoCelu.showUserLayer();
//wypiszemy linki do zapisanych widoków
var $viewList = jQuery('#viewList').empty();
var viewsAmount = response.viewsList.amount;
for (var viewKey in response.viewsList.views) {
var href = response.viewsList.views[viewKey].url;
var txt = response.viewsList.views[viewKey].description;
$viewList.append('<li><a href="' + href + '">' + txt + '</a></li>');
}
}
}
DoCelu.loadMap(document.getElementById('map'), cfg);
jQuery('#test').mousedown(function() {
DoCelu.getNotepad(true, true, 0, 0, 5, notepadContent);
});
});
//]]>
</script>
Wypróbujmy zatem działanie w praktyce
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!