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śći niezbędne jest zaimplementowanie zapisywania POI po stronie własnego serwera web.
Dodaje POI do warstwy notesu.
Należy zdefiniować parametry url'a do zapisania punktu:
var cfg = {
"features" : {
//włączamy opcję zapisania punktu na mapie
"savePoint" : true
},
"paths" : {
"poiToNotepad" : {
"url" : "http://moj.host.pl/savePoiToNotepad.php",
"paramNames" : {
"name" : "nazwa",
"description" : "opis",
"lon" : "lon",
"lat" : "lat"
}
},
//przy zapisywaniu z poziomu mapy wykonywane jest też
//sprawdzenie, czy użytkownik jest zalogowany
//i ma aktywne konto
"loggedUserData" : {
"url" : "http://moj.host.pl/loggedUserData.php",
}
}
};
Definiujemy funkcję, która obsłuży status wykonanej akcji:
function savePoiFnc(retStatus, response) {
if (!retStatus.failed && response.result) {
alert("Punkt pomyślnie zapisany");
} else {
alert("Nie udało się zapisać punktu");
}
}
Wywołajmy funkcję zapisującą punkt w notatniku:
var poiData = {
"name" : "Mój pierwszy punkt",
"description" : "Punkt zapisany w notatniku",
"lon" : 20,
"lat" : 52
};
DoCelu.savePoiToNotepad(poiData, savePoiFnc);
Z powyższą konfiguracją takie wywołanie wygeneruje url:
http://moj.host.pl/savePoiToNotepad.php?callback=jsonp1241436770409&nazwa= M%C3%B3j+pierwszy+punkt&opis=Punkt+zapisany+w+notatniku&lon=20&lat=52
Oczekiwana odpowiedź od serwera powinna mieć postać:
jsonp1241436770409({
//czy operacja się powiodła
"result":1,
//zwrócona wartość
"value":{
"info":"Operacja zakończona powodzeniem"
},
//komunikaty błędów
"error":[]
});
jsonp1241436770409 to nazwa funkcji javascriptowej przekazana w URL'u jako parametr callback. Funkcja ta przyjmuje jeden parametr w notacji JSON zgodny z formatem actionResponse.
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 = {
"features" : {
//włączamy opcję zapisania punktu na mapie
"savePoint" : true
},
"paths" : {
"poiToNotepad" : {
"url" : "/actionResponse.mock.json",
"paramNames" : {
"name" : "nazwa",
"description" : "opis",
"lon" : "lon",
"lat" : "lat"
}
},
"loggedUserData" : {
"url" : "/loggedUserData.mock.json"
}
}
};
function savePoiFnc(retStatus, response) {
if (!retStatus.failed && response.result) {
alert("Punkt pomyślnie zapisany");
} else {
alert("Nie udało się zapisać punktu");
}
}
DoCelu.loadMap(document.getElementById('map'), cfg, function() {
DoCelu.searchPoiByAddress("Gdańsk", "", "", "bank", null, 0, 4);
});
jQuery('#test').mousedown(function() {
var poiData = {
"name" : "Mój pierwszy punkt",
"description" : "Punkt zapisany w notatniku",
"lon" : 20,
"lat" : 52
};
DoCelu.savePoiToNotepad(poiData, savePoiFnc);
});
});
//]]>
</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!