Javascript 从谷歌地图API V3获取旅行距离和旅行时间

Javascript 从谷歌地图API V3获取旅行距离和旅行时间,javascript,node.js,google-maps,Javascript,Node.js,Google Maps,我正在使用Google Maps API V3绘制两个点之间的行走路线startPosition和endPosition,使用Google.Maps.DirectionService。然后打印以控制路线的距离和行程持续时间 问题:虽然代码确实成功绘制了路线,但似乎方向显示。setDirections缺少一个回调函数,无法将距离和行程时间值返回给调用者 此外,为方向添加侦听器\u changed似乎也不起作用,侦听器不会被触发 您知道如何将距离值和行程时间值从displayRoute()传递给调用

我正在使用Google Maps API V3绘制两个点之间的行走路线
startPosition
endPosition
,使用
Google.Maps.DirectionService
。然后打印以控制路线的距离和行程持续时间

问题:虽然代码确实成功绘制了路线,但似乎
方向显示。setDirections
缺少一个回调函数,无法将距离和行程时间值返回给调用者

此外,为
方向添加侦听器\u changed
似乎也不起作用,侦听器不会被触发

您知道如何将距离值和行程时间值从
displayRoute()
传递给调用者吗

displayRoute = function(startPosition, endPosition) {

    var start = startPosition
    var end = endPosition
    var map = GoogleMaps.maps.map.instance

    var directionsDisplay = new google.maps.DirectionsRenderer({'map': map});
    var directionsService = new google.maps.DirectionsService(); 

    var request = {
        origin : start,
        destination : end,
        travelMode : google.maps.TravelMode.WALKING
    };

    directionsService.route(request, function(response, status) {
        if (status == google.maps.DirectionsStatus.OK) {
            directionsDisplay.setDirections(response)
            // ... and triggers listener for 'directions_changed'
        }
    });

    google.maps.event.addListener(directionsDisplay, 'directions_changed', function() {
        console.log('directions_changed')    # not executed
        console.log(response.routes[0])      # not executed
        return response.routes[0]
    });


}



var route = displayRoute(startPos, endPos)
console.log(route.duration.value)    # undefined
console.log(route.distance.value)    # undefined

它未定义,因为代码是,距离和持续时间是腿部对象的属性。
console.log(response.routes[0].legs[0].duration.value)
console.log(response.routes[0].legs[0].distance.value)