-2

Google マップが提供する JSON から期間データにアクセスしようとしています。ユーザーが 2 つの郵便番号を入力すると、所要時間が表示されるはずです。

function getData() {
    var origin = $("#origin_pc").val() + ",australia";
    var destination = $("#dest_pc").val() + ",australia";
    // var origin="3135,australia";
    // var destination="3155,australia";
    url = "http://maps.googleapis.com/maps/api/directions/json?origin=" + origin + "&destination=" + destination + "&sensor=false";
    return url;
}

function calculateDistance() {
    // console.log(getData());
    var my_json;
    $.getJSON(getData(), function (json) {
        my_json = json;
    });
    console.log(my_json.routes[0].legs[0].duration.value);
}

ここに私のHTMLがあります

<!DOCTYPE html>
<html>
    <head>
        <title></title>
    </head>

    <body>
        <form>
            <input type="text" id="origin_pc" />
            <input type="text" id="dest_pc" />
            <input type="submit" onclick="calculateDistance();">
        </form>
        <script type="text/javascript" src="jquery.js"></script>
        <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
        <script type="text/javascript" src="distance.js"></script>
    </body>
</html>

結果の URL をコンソールで確認したところ、開くと正しい JSON オブジェクトが返されました。

4

1 に答える 1

0

FIDDLE リターンズ786

$.getJSON(getData(), function(json) {
   my_json = json;
   $('body').text(my_json.routes[0].legs[0].duration.value);
});

コールバック関数my_json内で使用する必要がありますgetJSON

于 2013-04-10T18:30:07.610 に答える