0

cloudmade API を使用してルーティング システムを Web サイトに実装することに成功しました。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にあります)。

上記と同じ座標 ( http://router.project-osrm.org/viaroute?loc=51.500,0.100&loc=51.500,0.1001 )の URL をブラウザーに入力すると、json ファイルが取得されます。しかし、これを $.getJSON または $.ajax で使用しようとしても、コールバックを使用してデータ型を設定しても、json データを取得できず、気が狂いそうになります! APIに文書化されているので、それは可能だと確信しています。

どんな助けでも大歓迎です。

ニック

4

3 に答える 3

0

これを試してください:(実際にはjQueryはjsonを内部で解析します)

このフィドルをチェックしてください

$(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));

    });
});
});
于 2013-04-20T12:45:37.643 に答える