我知道一个不起眼的标题,我的问题是尝试从方向服务返回对象中的步骤的开始和结束位置拉出lat和lng信息。
示例代码,来自路线请求的回调:
directionsService.route(request, function (response, status) {
if (status == google.maps.DirectionsStatus.OK) {
for (var routeItr = 0; routeItr < response.routes.length; routeItr++) { // each route in the response
for (var legItr = 0; legItr < response.routes[routeItr].legs.length; legItr++) { // each leg in the route
for (var stepItr = 0; stepItr < response.routes[routeItr].legs[legItr].steps.length; stepItr++) { // each step in the leg
alert(response.routes[routeItr].legs[legItr].steps[stepItr].start_location.lat);
}
}
}
}
})
你会认为那里的警报会返回转号,而是显示:
这是一个问题吗?我不明白这个方向响应对象是如何工作的?或浏览器的问题?或谷歌代码中的错误?
答案 0 :(得分:1)
google.maps.LatLng没有.lat属性。它有一个返回纬度的.lat()方法。
directionsService.route(request, function (response, status) {
if (status == google.maps.DirectionsStatus.OK) {
for (var routeItr = 0; routeItr < response.routes.length; routeItr++) { // each route in the response
for (var legItr = 0; legItr < response.routes[routeItr].legs.length; legItr++) { // each leg in the route
for (var stepItr = 0; stepItr < response.routes[routeItr].legs[legItr].steps.length; stepItr++) { // each step in the leg
alert(response.routes[routeItr].legs[legItr].steps[stepItr].start_location.lat());
}
}
}
}
})