1

我想从返回的 JSON 格式中获取纬度和经度,但它返回给我 undefined

这是我到目前为止的代码,json格式请看一下返回的URL

$.ajax({
    type: 'GET',
    url: "http://maps.googleapis.com/maps/api/geocode/json?address=Garibaldi,Prishtina&sensor=true",
    dataType: 'json',
    success: function (data) {

        $.each(data, function () {
            $.each(this, function (key, value) {
                switch (key) {

                    case "lat":
                        alert(value) // access to this node works fine                      
                        break;

                    default:
                        alert(value[0].geometry.location.lat) // this is undefined
                        break;
                }
            });
        });
    }
});

任何人都知道如何解决这个问题?

4

2 回答 2

3

为什么不只是...

$.ajax({
  type: 'GET',
  url: "http://maps.googleapis.com/maps/api/geocode/json?address=Garibaldi,Prishtina&sensor=true",
  dataType: 'json',
  success: function (data) {
       var loc = data.results[0].geometry.location;
       alert(loc.lat);
       alert(loc.lng);
        }
    });
于 2013-06-15T21:12:38.863 回答
2

您应该使用value.geometry...而不是value[0]. $.each循环内不使用索引。

于 2013-06-15T21:18:17.143 回答