You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Here Routes SDK的AvoidanceOptions中添加GeoPolygon以避开指定区域?

解决Here Routes SDK探索版避开多边形区域的问题

现状说明

目前Android版Here Routes SDK探索版的AvoidanceOptions.avoidAreas仅支持GeoBox(矩形)类型,没有公开API直接支持GeoPolygon避障;你提到的addAvoidArea()方法并非当前版本的公开方法,可能是旧版API或内部未实现的接口。

替代实现方案

  • 用多个GeoBox近似多边形:将目标多边形拆分成多个重叠或相邻的矩形,尽可能覆盖需要避开的区域,以此间接实现多边形避障。示例代码:
    // 拆分多边形为多个GeoBox示例
    val avoidBox1 = GeoBox(GeoCoordinates(52.5308, 13.3847), GeoCoordinates(52.5328, 13.3867))
    val avoidBox2 = GeoBox(GeoCoordinates(52.5318, 13.3867), GeoCoordinates(52.5338, 13.3887))
    
    val avoidanceOptions = AvoidanceOptions()
    avoidanceOptions.avoidAreas.addAll(listOf(avoidBox1, avoidBox2))
    
    // 将配置传入路由计算逻辑
    val routingOptions = RoutingOptions(...)
    routingOptions.avoidanceOptions = avoidanceOptions
    
  • 使用Here高级路由REST API:如果对避障精度要求较高,可以直接调用Here的高级路由后端API,该API支持传入avoidPolygons参数(接受GeoPolygon格式的坐标集合),将请求结果解析后在客户端展示路径。
  • 提交功能需求:通过Here开发者支持渠道提交添加GeoPolygon避障的功能请求,推动官方在后续版本中支持该特性。

内容的提问来源于stack exchange,提问作者Addict of Rice

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 22:07:03