我正在尝试从GoogleMaps返回的响应对象中访问start_address。
尝试:
response['start_address']
response['routes']['start_address']
response['routes']['legs']['start_address']
Google地图:
directionsDisplay = new google.maps.DirectionsRenderer();
directionsDisplay.setMap($gmap);
directionsDisplay.setPanel(document.getElementById(directionHtml));
directionsService.route(request, function(response, status){
if(status == google.maps.DirectionsStatus.OK){
directionsDisplay.setDirections(response);
alert(response['routes']['legs']['start_address']);
}
});
response.toSource()
({routes:[
{bounds:{ba:{b:53.51456, d:53.529900000000005}, V:{d:-1.1919300000000002, b:-1.1283400000000001}},
copyrights:"Map data \xA92011 Tele Atlas",
legs:[
{distance:{text:"5.9 km", value:5910},
duration:{text:"11 mins", value:688},
end_address:"18 Spring Lane, Sprotbrough, Doncaster DN5 7, UK",
end_location:{Pa:53.51555, Qa:-1.1919299999999566},
start_address:"42 High St, Doncaster DN1 1, UK", start_location:{Pa:53.52307, Qa:-1.1337300000000141}, steps:[
ETC...
答案 0 :(得分:1)
根据您提供的内容,我只能提出这种响应结构(当然不完整):
// for testing purposes I assume to have the actual response
// assigned to a response var
var response = {
routes:[{
bounds:{ba:{b:53.51456, d:53.529900000000005}, V:{d:-1.1919300000000002, b:-1.1283400000000001}},
copyrights:"Map data \xA92011 Tele Atlas",
legs:[{
distance:{text:"5.9 km", value:5910},
duration:{text:"11 mins", value:688},
end_address:"18 Spring Lane, Sprotbrough, Doncaster DN5 7, UK",
end_location:{Pa:53.51555, Qa:-1.1919299999999566},
start_address:"42 High St, Doncaster DN1 1, UK", start_location:{Pa:53.52307, Qa:-1.1337300000000141}
}]
}]
};
如果你response.routes[0].legs[0].start_address
,则返回42 High St, Doncaster DN1 1, UK
。 routes
属性是一个数组,因此可能存在需要迭代以从索引获取不同值的情况,如果是这种情况只是迭代它并用迭代器变量替换0
。