我使用 cloudmade API 成功地在我的网站中实现了一个路由系统。我也想对 OSRM 路由系统 ( https://github.com/DennisOSRM/Project-OSRM ) 做同样的事情,但我在获取 OSRM json 输出时遇到了一些麻烦。
以下是从 cloudmade API 检索 json 的示例:
使用 $.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);
});
});
});
OSRM 的服务器 API 位于此处: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 中。
非常感谢任何帮助。
缺口