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に文書化されているので、それは可能だと確信しています。
どんな助けでも大歓迎です。
ニック