计算mapquest中的距离和持续时间

时间:2017-02-20 07:41:28

标签: javascript mapquest

我正在使用以下代码。我只想计算优化路线的距离和总行驶持续时间。任何人都可以帮我解决这个问题。

<script type="text/javascript">
    // download the module
    var map = new MQA.TileMap(document.getElementById('map'));
    MQA.withModule('new-route', function () {
        // uses the MQA.TileMap.addRoute function to pass in an array
        // of locations as part of the request parameter
        var opt = {
            request: {
                locations: ['Gunnison, CO', 'Ouray, CO'],

                options: {
                    avoids: [],
                    avoidTimedConditions: false,
                    doReverseGeocode: true,
                    shapeFormat: 'raw',
                    generalize: 0,
                    routeType: 'fastest',
                    timeType: 1,
                    locale: 'en_US',
                    unit: 'm',
                    enhancedNarrative: false,
                    drivingStyle: 2,
                    highwayEfficiency: 21.0
                }
            },

            display: {
                color: '#800000',
                borderWidth: 10
            },

            // on success, display the route narrative
            success: function displayNarrative(data) {
                if (data.route) {
                    var legs = data.route.legs,
               html = '',
               i = 0,
               j = 0,
               trek,
               maneuver;

                    html += '<table class="clean"><tbody>';

                    for (; i < legs.length; i++) {
                        for (j = 0; j < legs[i].maneuvers.length; j++) {
                            maneuver = legs[i].maneuvers[j];
                            html += '<tr>';
                            html += '<td>';

                            if (maneuver.iconUrl) {
                                html += '<img src="' + maneuver.iconUrl + '" />';
                            }

                            for (k = 0; k < maneuver.signs.length; k++) {
                                var sign = maneuver.signs[k];

                                if (sign && sign.url) {
                                    html += '<img src="' + sign.url + '" />';
                                }
                            }

                            html += '</td><td>' + maneuver.narrative + '</td>';
                            html += '</tr>';
                        }
                    }


                    html += '</tbody></table>';
                    document.getElementById('route-results').innerHTML = html;
                }
            }
        }
        map.addRoute(opt);
    });
</script>

1 个答案:

答案 0 :(得分:0)

如果您需要的只是路线的时间和距离,请跳过映射工具包(尤其是上面使用的工具包,因为它将在2018年6月落日)并直接使用directions api。每个路线响应将包括时间和距离。 route matrix只有时间和距离。