我想在使用路由 API 时避开特定街道。我有数据点来创建地理围栏或多边形来表示这些特定的街道。路由器 API 最多只能接受 20 个边界框。我尝试发送 20 个避开区域边界框来表示道路,但结果不可靠(例如在对角线道路上)。
有没有办法发送地理围栏/多边形而不是边界框?或者有什么其他方法可以避开某些街道?非常感谢
我想在使用路由 API 时避开特定街道。我有数据点来创建地理围栏或多边形来表示这些特定的街道。路由器 API 最多只能接受 20 个边界框。我尝试发送 20 个避开区域边界框来表示道路,但结果不可靠(例如在对角线道路上)。
有没有办法发送地理围栏/多边形而不是边界框?或者有什么其他方法可以避开某些街道?非常感谢
请尝试使用avoid[segments]
而不是avoid[areas]
用于避开特定道路。在需要避开的路太多的情况下,也可以将avoid[segments]
参数放入请求体中,向POST
同一个端点发送请求。
为了获得segmentId
您想要避开的道路,您可以执行spans=segmentId
添加参数的普通路由调用,然后查看响应部分中的topologySegmentId
属性。spans
https://developer.here.com/documentation/routing-api/api-reference-swagger.html
您必须为您的用例进行以下调用。
1>Rest调用获取segmentId为路由。
https://router.hereapi.com/v8/routes?apikey={your_app_id}& origin=32.834496,74.81515& destination=32.811632,75.816037& return=polyline,summary,actions,instructions& spans=segmentId& transportMode=car&
2>Rest Call 以获取 get Route with Avoid[segments]
https://router.hereapi.com/v8/routes?apikey={your_app_id}& origin=32.834496,74.81515& destination=32.811632,74.816037& return=polyline,summary,actions,instructions& spans=segmentId& transportMode=car& Avoid[segments]=here:cm:segment:808368834,here:cm:段:808095972