我对编程很陌生,因为我上周才开始编程。 代码部分 -
var office = document.getElementById('start').value;
var pickup = document.getElementById('start').value;
$.get("https://maps.googleapis.com/maps/api/distancematrix/json?origins="+office+"&destinations="+pickup+"&mode=drivinging&language=en&sensor=false",function(data){
alert(data['status']);
返回数据 -
http://maps.googleapis.com/maps/api/distancematrix/json?origins=edingbourgh&destinations=london&mode=drivinging&language=en&sensor=false
我可以使用数据['状态']访问并显示“ destination_addresses ”,“状态”和“ origin_addresses ” 或 data.status 但无法访问 rows [] 内的任何内容我尝试了所有可能的方法。
我认为我可以做 data.row.distance.text ,但没有任何反应。
任何帮助将不胜感激
答案 0 :(得分:2)
rows
是一个数组,以及elements
,您需要像这样访问它:
var text = data.rows[0].elements[0].distance.text;
// this yields "652 km"
您想要返回数组的第一个元素,因为它只有一个。 rows[]
无法访问任何内容。您需要括号内的数字。可能有多个对象rows
或elements
。填写所需的数组索引:
var text = data.rows[2].elements[5].distance.text;
// this yields text from the sixth element of the third row.
原始回复:
{
"destination_addresses" : [ "London, UK" ],
"origin_addresses" : [ "Edinburgh, City of Edinburgh, UK" ],
"rows" : [
{
"elements" : [
{
"distance" : {
"text" : "652 km",
"value" : 652135
},
"duration" : {
"text" : "6 hours 44 mins",
"value" : 24247
},
"status" : "OK"
}
]
}
],
"status" : "OK"
}
答案 1 :(得分:1)
尝试
alert(data['rows'][0].elements[0].distance.text);
输出 625km
答案 2 :(得分:0)
包含jquery并尝试解析使用JSON.parse
返回的json数据,这将为您提供一个javascript数组对象
var dataArray = JSON.parse(data['status']);
alert(dataArray['status']);
希望这有帮助
答案 3 :(得分:0)
首先将json解析为真实对象:
try {
var realObject = JSON.parse(jsonString);
} catch (err) {
console.log("error parsing json string");
}
并且您应该可以通过以下方式访问:
var text = data.rows[0].elements[0].distance.text;