如何在路线周围一定距离的区域上设置多边形(在HereMaps中)

问题描述 投票:0回答:2

我尝试获取路线实例的 BoundingBox 并在其上设置多边形,但结果是路线上有一个矩形,如下图所示,这是不合适的。

此外,我尝试添加某种颜色的 BoundingBox,其具有 alpha 值,以便在一定距离的路线中的地理坐标上实现透明度,但多边形重叠并隐藏了路线的可见性,如下图所示。注意:(红色圆圈表示路线,由于重叠较少,在某些位置有些可见)

我无法找到任何方法可以将多个多边形合并成围绕路线的一个巨大多边形,如第二张图片所示。

下面是我的代码,它为我提供了第二张图片中的结果。

    fun addBoundingBoxTo(center: GeoCoordinate) {
        val boundingBox = GeoBoundingBox(center, 1000f, 1000f)
        val coordinates: MutableList<GeoCoordinate> = ArrayList()
        coordinates.add(boundingBox.topLeft)
        coordinates.add(GeoCoordinate(boundingBox.topLeft.latitude,
                boundingBox.bottomRight.longitude,
                boundingBox.topLeft.altitude))
        coordinates.add(boundingBox.bottomRight)
        coordinates.add(GeoCoordinate(boundingBox.bottomRight.latitude,
                boundingBox.topLeft.longitude, boundingBox.topLeft.altitude))
        val geoPolygon = GeoPolygon(coordinates)
        val polygon = MapPolygon(geoPolygon)
        polygon.fillColor = Color.parseColor("#77777777")
        polygon.lineWidth = 0
        map.addMapObject(polygon)
    }

    route.routeGeometry.forEach {
        addBoundingBoxTo(it)
    }

我想要达到的预期结果如下图所示:

如有任何帮助,我们将不胜感激。谢谢!

android here-api here-maps-rest heremaps
2个回答

0
投票
您好,您可以使用Looper API 这是一个 API,可以帮助您轻松制作路线多边形。 访问

https://looper2109.github.io/ 了解更多信息

© www.soinside.com 2019 - 2024. All rights reserved.