$ .getJSON返回unidentified

时间:2013-04-10 18:22:44

标签: javascript json jquery google-maps-api-3

我正在尝试从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对象。

1 个答案:

答案 0 :(得分:0)

FIDDLE 返回786

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

您需要在my_json回调函数

中使用getJSON