如何在 HERE REST API 中从 waypoints 获取总距离和时间

How get total distance and time from waypoints in HERE REST API

我需要在 HERE REST API 中从 waypoints 获取总距离和时间。 现在我使用路由 api:

https://route.api.here.com/routing/7.2/calculateroute.json
"app_id="           + API_ID
"&app_code="        + APP_CODE
"&waypoint0=geo!"   + fromCoordsLocation
"&waypoint1=geo!"   + toCoordsLocation
"&mode=fastest;car"

并从 json 摘要对象 (Response->Route->Summary) 中读取它们。这种方法 returns 所有动作和长距离回调都很慢。有什么东西只允许接收摘要(或总距离和时间)?

查看这些附加属性,以便您可以根据需要自定义请求。在这种情况下,我使用了 representation = overview,您的请求将是

https://route.api.here.com/routing/7.2/calculateroute.json
"app_id="           + API_ID
"&app_code="        + APP_CODE
"&waypoint0=geo!"   + fromCoordsLocation
"&waypoint1=geo!"   + toCoordsLocation
"&mode=fastest;car&representation=overview"

响应将减少到 78 行,默认为 232 行:

{
    "response": {
        "metaInfo": {
            "timestamp": "2019-11-14T10:03:16Z",
            "mapVersion": "8.30.102.151",
            "moduleVersion": "7.2.201945-5699",
            "interfaceVersion": "2.6.74",
            "availableMapVersion": [
                "8.30.102.151"
            ]
        },
        "route": [
            {
                "waypoint": [
                    {
                        "linkId": "-53623477",
                        "mappedPosition": {
                            "latitude": 52.4999825,
                            "longitude": 13.3999652
                        },
                        "originalPosition": {
                            "latitude": 52.5,
                            "longitude": 13.4
                        },
                        "type": "stopOver",
                        "spot": 0.3538462,
                        "sideOfStreet": "left",
                        "mappedRoadName": "Neuenburger Straße",
                        "label": "Neuenburger Straße",
                        "shapeIndex": 0,
                        "source": "user"
                    },
                    {
                        "linkId": "+1215312511",
                        "mappedPosition": {
                            "latitude": 52.4992955,
                            "longitude": 13.4491968
                        },
                        "originalPosition": {
                            "latitude": 52.5,
                            "longitude": 13.45
                        },
                        "type": "stopOver",
                        "spot": 1.0,
                        "sideOfStreet": "left",
                        "mappedRoadName": "Schlesische Straße",
                        "label": "Schlesische Straße",
                        "shapeIndex": 56,
                        "source": "user"
                    }
                ],
                "mode": {
                    "type": "fastest",
                    "transportModes": [
                        "car"
                    ],
                    "trafficMode": "disabled",
                    "feature": []
                },
                "summary": {
                    "distance": 3847,
                    "trafficTime": 869,
                    "baseTime": 667,
                    "flags": [
                        "noThroughRoad",
                        "builtUpArea",
                        "park",
                        "privateRoad"
                    ],
                    "text": "The trip takes <span class=\"length\">3.8 km</span> and <span class=\"time\">11 mins</span>.",
                    "travelTime": 667,
                    "_type": "RouteSummaryType"
                }
            }
        ],
        "language": "en-us"
    }
}