此处地图路线:穿越城市
Here Maps route : get crossed cities
大家好!
我实际上是在使用 Here to provide Maps. I'm actually using the routing calculate 来计算两点之间的距离、持续时间和城市。问题是结果不包含任何关于交叉位置的信息。
我的问题:
如何获取交叉的城市/地区/国家?
这是一个例子:
我在这里提出了这个要求:
https://route.api.here.com/routing/7.2/calculateroute.json?app_id={app_id}&app_code={app_code}&mode=balanced;car;traffic:disabled&waypoint0=geo!48.13642,11.57755&waypoint1=geo!49.45435,11.0735&departure=2018-11-21T10:59:30.640Z&alternatives=5&routeAttributes=routeId&language=fr
结果显示路线中有 26 条腿。
想法:
一个想法是遍历所有的 Legs 并使用另一个 API 找出它们属于哪些城市,因为那些 Legs 包含 Maneuver,其中包含坐标的 Position,但是对于我,资源占用太多了
另一个想法是找到一种直接从请求中添加元数据的方法,但我在文档中没有找到任何相关信息。
所以我还不知道该怎么办。任何帮助都会很棒!
感谢阅读。
没有直接的方法可以从路由服务请求它。但是有不同的可能性来请求关于路线本身的进一步细节:
routeAttributes - 定义响应中包含哪些属性作为路由数据表示的一部分。
legAttributes - 定义响应中包含哪些属性作为路线段数据表示的一部分。
maneuverAttributes - 定义响应中包含哪些属性作为路线数据表示的一部分
演习。
linkAttributes - 定义响应中包含哪些属性作为路由链接数据表示的一部分。
另见此处https://developer.here.com/documentation/routing/topics/resource-calculate-route.html
也许您可以在这里找到适合您的用例的组合。
无论如何,路由器会按国家/地区提供摘要:
&routeattributes=sc
例如(我稍微扩展了你的例子来跨越国界):
"summary": {
"distance": 365910,
"trafficTime": 15369,
"baseTime": 14261,
"flags": ["dirtRoad", "tollroad", "noThroughRoad", "tunnel", "motorway", "builtUpArea", "park"],
"text": "Distance du trajet: 366 km, durée: 3h58.",
"travelTime": 14261,
"_type": "RouteSummaryType"
},
"summaryByCountry": [{
"distance": 107955,
"trafficTime": 5821,
"baseTime": 5347,
"flags": ["dirtRoad", "tollroad", "noThroughRoad", "tunnel", "motorway", "builtUpArea"],
"text": "Distance du trajet: 108 km, durée: 1h29.",
"travelTime": 5347,
"country": "AUT",
"tollRoadDistance": 94321,
"_type": "RouteSummaryByCountryType"
}, {
"distance": 257955,
"trafficTime": 9548,
"baseTime": 8914,
"flags": ["motorway", "builtUpArea", "park"],
"text": "Distance du trajet: 258 km, durée: 2h29.",
"travelTime": 8914,
"country": "DEU",
"_type": "RouteSummaryByCountryType"
}]
大家好!
我实际上是在使用 Here to provide Maps. I'm actually using the routing calculate 来计算两点之间的距离、持续时间和城市。问题是结果不包含任何关于交叉位置的信息。
我的问题:
如何获取交叉的城市/地区/国家?
这是一个例子:
我在这里提出了这个要求:
https://route.api.here.com/routing/7.2/calculateroute.json?app_id={app_id}&app_code={app_code}&mode=balanced;car;traffic:disabled&waypoint0=geo!48.13642,11.57755&waypoint1=geo!49.45435,11.0735&departure=2018-11-21T10:59:30.640Z&alternatives=5&routeAttributes=routeId&language=fr
结果显示路线中有 26 条腿。
想法:
一个想法是遍历所有的 Legs 并使用另一个 API 找出它们属于哪些城市,因为那些 Legs 包含 Maneuver,其中包含坐标的 Position,但是对于我,资源占用太多了
另一个想法是找到一种直接从请求中添加元数据的方法,但我在文档中没有找到任何相关信息。
所以我还不知道该怎么办。任何帮助都会很棒!
感谢阅读。
没有直接的方法可以从路由服务请求它。但是有不同的可能性来请求关于路线本身的进一步细节:
routeAttributes - 定义响应中包含哪些属性作为路由数据表示的一部分。
legAttributes - 定义响应中包含哪些属性作为路线段数据表示的一部分。
maneuverAttributes - 定义响应中包含哪些属性作为路线数据表示的一部分 演习。
linkAttributes - 定义响应中包含哪些属性作为路由链接数据表示的一部分。
另见此处https://developer.here.com/documentation/routing/topics/resource-calculate-route.html
也许您可以在这里找到适合您的用例的组合。
无论如何,路由器会按国家/地区提供摘要:
&routeattributes=sc
例如(我稍微扩展了你的例子来跨越国界):
"summary": {
"distance": 365910,
"trafficTime": 15369,
"baseTime": 14261,
"flags": ["dirtRoad", "tollroad", "noThroughRoad", "tunnel", "motorway", "builtUpArea", "park"],
"text": "Distance du trajet: 366 km, durée: 3h58.",
"travelTime": 14261,
"_type": "RouteSummaryType"
},
"summaryByCountry": [{
"distance": 107955,
"trafficTime": 5821,
"baseTime": 5347,
"flags": ["dirtRoad", "tollroad", "noThroughRoad", "tunnel", "motorway", "builtUpArea"],
"text": "Distance du trajet: 108 km, durée: 1h29.",
"travelTime": 5347,
"country": "AUT",
"tollRoadDistance": 94321,
"_type": "RouteSummaryByCountryType"
}, {
"distance": 257955,
"trafficTime": 9548,
"baseTime": 8914,
"flags": ["motorway", "builtUpArea", "park"],
"text": "Distance du trajet: 258 km, durée: 2h29.",
"travelTime": 8914,
"country": "DEU",
"_type": "RouteSummaryByCountryType"
}]