具有避开区域和地理围栏/多边形的路由

问题描述

我想在使用路由 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