javascript - 从 Google Maps API V3 获取旅行距离和旅行时间

标签 javascript node.js google-maps

我正在使用 Google Maps API V3 使用 google.maps.DirectionService 绘制两点 startPositionendPosition 之间的步行路线。然后它应该打印以控制路线的距离和行程持续时间。

问题:虽然代码确实成功地绘制了路线,但 directionsDisplay.setDirections 似乎缺少回调函数来将距离和行程时间值返回给调用者。

此外,为 directions_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);

关于javascript - 从 Google Maps API V3 获取旅行距离和旅行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33295312/

相关文章:

javascript - react-custom-scrollbars - 如何更改水平滚动条的颜色?

javascript - 如何在调用另一个方法后调用js对象的方法?

javascript - 使用 PassportJS、SequelizeJS 和 JWT token 时,req.user 未定义

javascript - 我在 mongodb 聚合中使用查找,但它不返回我正在查找的数据

android - 顺利更新谷歌地图上的标记位置

javascript - 如何编写 onclick 函数以防止冒泡

javascript - 如何使用 Node.js 查询 Mongodb?

javascript - 努力使用 .querySelector 查询具有相同类名的特定元素

javascript - 具有多个图层的自定义 map 类型

ios - 我如何在不是谷歌地图的 map 中显示一些用户位置?