【发布时间】:2016-01-20 11:04:43
【问题描述】:
我正在使用 Google 地理编码 API 并尝试获取值: 9.081999,以及 8.675276999999999 分别在以下 Google 地理编码 Javascript 中的 JSON 数据中。
{
"results" : [
{
"address_components" : [
{
"long_name" : "Nigeria",
"short_name" : "NG",
"types" : [ "country", "political" ]
}
],
"formatted_address" : "Nigeria",
"geometry" : {
"bounds" : {
"northeast" : {
"lat" : 13.8856449,
"lng" : 14.677982
},
"southwest" : {
"lat" : 4.2464428,
"lng" : 2.676932
}
},
"location" : {
"lat" : 9.081999,
"lng" : 8.675276999999999
},
"location_type" : "APPROXIMATE",
"viewport" : {
"northeast" : {
"lat" : 13.8856449,
"lng" : 14.677982
},
"southwest" : {
"lat" : 4.2464428,
"lng" : 2.676932
}
}
},
"partial_match" : true,
"place_id" : "ChIJDY2kfa8LThARyAvFaEH-qJk",
"types" : [ "country", "political" ]
}
],
"status" : "OK"
}
但是当我这样做时:
var myJSONResult = $.parseJSON(request.responseText);
var myAddress = Array();
for (i = 0; i < myJSONResult.results.length; i++) {
myAddress[i] = myJSONResult.results[i].geometry.location;
}
它返回Undefined
任何帮助表示赞赏, 谢谢。
【问题讨论】:
-
results[i]已经是geometry -
即便如此,
results[i]仍然提供Undefined -
你为什么使用 $.parseJSON()?试试 var myJSONResult = request.responseText
-
@Yogesh request.responseText 包含整个 JSON 数据,我只需要
"location" : { "lat" : 9.081999, "lng" : 8.675276999999999 }中的值 -
尝试替换 var myJSONResult = $.parseJSON(request.responseText); with var myJSONResult = request.responseText;
标签: javascript json parsing geocoding google-geocoder