Javascript 获取OSRM路由的JSON

Javascript 获取OSRM路由的JSON,javascript,jquery,ajax,openstreetmap,osrm,Javascript,Jquery,Ajax,Openstreetmap,Osrm,我使用CloudMakeAPI成功地在我的网站上实现了一个路由系统。我还想对OSRM路由系统()执行同样的操作,但在获取osrmjson输出时遇到了一些问题 以下是从CloudMake API检索json的示例: 使用$.ajax- 使用$.getJSON- OSRM的服务器API位于此处:(查询的服务器位置位于) 将与上面()使用的坐标相同的url放入浏览器将检索json文件。但是,无论我在$.getJSON或$.ajax中尝试了什么,使用回调、设置数据类型,我都无法获取json数据,这让我发

我使用CloudMakeAPI成功地在我的网站上实现了一个路由系统。我还想对OSRM路由系统()执行同样的操作,但在获取osrmjson输出时遇到了一些问题

以下是从CloudMake API检索json的示例:

使用$.ajax-

使用$.getJSON-

OSRM的服务器API位于此处:(查询的服务器位置位于)

将与上面()使用的坐标相同的url放入浏览器将检索json文件。但是,无论我在$.getJSON或$.ajax中尝试了什么,使用回调、设置数据类型,我都无法获取json数据,这让我发疯!我确信这是可能的,因为它在API中有文档记录

非常感谢您的帮助

尼克

试试这个: (实际上jQuery在内部解析json)

试试这个: (实际上jQuery在内部解析json)


这是一个jquery问题:新版本在默认情况下添加了一个回调参数,因此您的url最终类似于。OSRM不喜欢这样


有关如何防止这种情况的建议,请参阅“”的答案。

这是一个jquery问题:新版本默认情况下会添加一个回调参数,因此您的url最终类似于。OSRM不喜欢这样


请参阅“”的答案,以获取有关如何防止此问题的建议。

随着时间的推移,我想我会回答这个问题,以防有人遇到同样的问题

OSRM的JSON响应与CloudMake返回的响应不同。你的问题中的OSRM wiki实际上回答了这个问题。OSRM中的JSON是经过编码的,您需要对此进行特殊处理。引用维基

路线的几何图形以编码形式传输


长话短说,有人已经让我们轻松了。看看这个:

时间流逝,我想我会回答这个问题,以防有人遇到同样的问题

OSRM的JSON响应与CloudMake返回的响应不同。你的问题中的OSRM wiki实际上回答了这个问题。OSRM中的JSON是经过编码的,您需要对此进行特殊处理。引用维基

路线的几何图形以编码形式传输


长话短说,有人已经让我们轻松了。看看这个:

对不起,我不认为这真的回答了我的问题-CloudMake服务没有问题,我在努力解决的是OSRM。对不起,我不认为这真的回答了我的问题-CloudMake服务没有问题,我在努力解决的是OSRM。
$(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);
        }
    });
});
});
$(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);
    });
});
});
$(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(JSON.stringify(test));

    });
});
});