Javascript 使用jQuery访问Google Maps PHP中的数据
我在正确访问Google Maps API php中的数据时遇到问题 以下是php中的示例数据:Javascript 使用jQuery访问Google Maps PHP中的数据,javascript,jquery,arrays,Javascript,Jquery,Arrays,我在正确访问Google Maps API php中的数据时遇到问题 以下是php中的示例数据: {"destination_addresses":["Destination address"],"origin_addresses":["Origin address"],"rows":[{"elements":[{"distance":{"text":"3.3 km","value":3314},"duration":{"text":"6 mins","value":334},"status":
{"destination_addresses":["Destination address"],"origin_addresses":["Origin address"],"rows":[{"elements":[{"distance":{"text":"3.3 km","value":3314},"duration":{"text":"6 mins","value":334},"status":"OK"}]}],"status":"OK"}
这是我的.js:
$(function(){
$("#button").click(function(){
var start = $("#start").val(); //gets start and end values from input fields, and passes them to .php which is not visible here.
var end = $("#end").val();
$.ajax({url: "googlemaps.php",
method: "GET",
data : { "start" : start, "end" : end },
success: function(result) {
print(result);
},
error: function(xhr){
alert("Error: " + xhr.status + " " + xhr.statusText);
}
});
});
});
function print(result){
var length = "";
for(var i = 0;i < result.rows.length;i++){
length += result.rows[i].text+ "<br/>";
$("#div").html(length);
}}
它应该计算两个地址之间的距离,并且它当前返回unidentified,这是可以的,因为
length += result.rows[i].text+ "<br/>";
这是不对的。我不知道如何访问值文本:3.3公里,或者在我的代码中是等效的。我知道它是距离内的一个对象,它是元素的数组项,它是行的数组项 其结构类似于:
行[0]。元素[0]。距离。文本
您可能不需要循环,但如果要使用它,您可以执行以下操作
for (var i = 0;i < result.rows.length; i++) {
for (var k = 0;k < result.rows[i].elements.length; k++) {
length += result.rows[i].elements[k].distance.text + "<br/>";
}
}
$("#div").html(length);
如果数组是结果,则可以使用以下方法访问距离:
var distance = result['rows'][0]['elements'][0]['distance']['text'];