Я успешно внедрил систему маршрутизации на свой веб-сайт с помощью облачного API. Я также хочу сделать то же самое с системой маршрутизации OSRM (https://github.com/DennisOSRM/Project-OSRM), но у меня возникли проблемы с получением вывода OSRM json.
Вот примеры получения json из облачного API:
Использование $.ajax — http://jsfiddle.net/mayooresan/FhfVW/2/
$(function () {
$("#getJSON").click(function () {
var url = "http://routes.cloudmade.com/c6f2762bfe00414f822a9dec443569f5/api/0.3/51.500,0.100,51.500,0.1001/car.js";
$.ajax({
async: false,
dataType: "jsonp",
url: url,
success: function (data) {
test = data.route_geometry;
alert(test);
}
});
});
});
Использование $.getJSON — http://jsfiddle.net/V3qgZ/72/
$(function () {
$("#getJSON").click(function () {
$.getJSON("http://routes.cloudmade.com/c6f2762bfe00414f822a9dec443569f5/api/0.3/51.500,0.100,51.500,0.1001/car.js?callback=?", function (data) {
var test = data.route_geometry;
alert(test);
});
});
});
Серверный API для OSRM находится здесь: https://github.com/DennisOSRM/Project-OSRM/wiki/Server-api (расположение сервера для запросов находится по адресу http://router.project-osrm.org).
Поместите URL-адрес с теми же координатами, которые использовались выше (http://router.project-osrm.org/viaroute?loc=51.500,0.100&loc=51.500,0.1001) в браузер извлекает файл json. Но независимо от того, что я пытался использовать это с $.getJSON или $.ajax - используя обратные вызовы, устанавливая типы данных, я не могу получить данные json, и это сводит меня с ума! И я уверен, что это возможно, потому что это задокументировано в API.
Любая помощь очень ценится.
Ник