我不是很流利的Javascript,但我正在嘗試構建一個簡單的Web應用程序來嘗試和學習更多。使用Javascript查詢Google距離矩陣API
我想使用Google Distance Matrix API讓我查詢兩個地址之間的距離。
我有兩個輸入字段,它們使用Google的自動完成功能獲取地址,然後使用地址的place_id
對API進行查詢。
我相信我需要使用JSONP使調用API,並獲取數據,但我使用了應答有麻煩,我碰到下面的錯誤在我的控制檯:
Uncaught SyntaxError: Unexpected token :
我我一直在四處搜索,每個人都在使用PHP與JSONP結合使用 - 但是我想避免這種情況,並保留整個流程客戶端。
如何發出請求然後使用返回的JSON響應?
這裏是我使用,使目前要求的功能:
function getDistance()
{
//Find the distance
$.getJSON("https://maps.googleapis.com/maps/api/distancematrix/json?units=metric&origins=place_id:" + $("#autocompleteDeparture").data("place_id") + "&destinations=place_id:" + $("#autocompleteArrival").data("place_id") + "&key=MY_API_KEY0&callback=?", function(data) {
data = JSON.parse(data);
console.log(data);
});
}
如果我檢查,它成功運行並返回正確的JSON數據的請求:
{
"destination_addresses" : [ "9 Coach Ln, Belmont, Lower Hutt 5010, New Zealand" ],
"origin_addresses" : [ "3/30 Rata St, Naenae, Lower Hutt 5011, New Zealand" ],
"rows" : [
{
"elements" : [
{
"distance" : {
"text" : "4.9 km",
"value" : 4934
},
"duration" : {
"text" : "8 mins",
"value" : 509
},
"status" : "OK"
}
]
}
],
"status" : "OK"
}
您在處理函數中獲得的'data'對象就是 - 一個對象。因此,您應該可以使用以下值: 'data.rows [0] .elements [0] .distance.text' 來做任何你想做的事情 – daf
或者使用.value如果你打算用它來計算 - - 看起來像是以米爲單位給你的距離。 – daf