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