程序问答   发布时间:2022-05-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Carto Mobile:如何避免点与相关气球弹出窗口的聚类大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Carto Mobile:如何避免点与相关气球弹出窗口的聚类?

开发过程中遇到Carto Mobile:如何避免点与相关气球弹出窗口的聚类的问题如何解决?下面主要结合日常开发的经验,给出你关于Carto Mobile:如何避免点与相关气球弹出窗口的聚类的解决方法建议,希望对你解决Carto Mobile:如何避免点与相关气球弹出窗口的聚类有所启发或帮助;

我们在 AndroID 应用程序中使用 Carto Mobile SDK 来显示带有 POI 对象的地图。可能有很多这样的对象,所以我们使用聚类来避免在较低缩放级别的地图上出现混乱。到目前为止一切顺利。

每个 POI 都可以有一个标签,我们使用带有文本的气球弹出窗口。由于此弹出窗口使用 POI 点几何来定义其位置,因此它看起来像一个聚类到一个聚类矢量图层,除非我放大到最大级别,否则我无法在地图中分别看到 POI 和标签。它立即成为 2 个对象的集群。 我找不到有关如何避免相关对象聚类的任何相关信息。有人能解释一下这个问题吗?

编辑:

这是使用最大缩放时的样子 - 两个物体在同一位置:

Carto Mobile:如何避免点与相关气球弹出窗口的聚类

这是我稍微缩小时的样子:

Carto Mobile:如何避免点与相关气球弹出窗口的聚类

创建这两个几何图形的代码在这里:

private suspend fun MapLayerData.createPointPoi(
    layer: MapLayer,projection: Projection,pictogramSetIconsDao: PictogramSetIconsDao
): List<VectorElement> {
    val elements = mutablelistof<VectorElement>()
    getPoiPictogram(layer.datAPIctogramSetID,icon,pictogramSetIconsDao)?.let { pictogram ->
        Point(
            projection.fromLatLong(vertices.first().lat,vertices.first().lng),PointStyleBuilder().also {
                it.bitmap = pictogram
            }.buildStyle()
        )
    }?.let { point ->
        elements.add(point)
        if (text.isnotBlank()) {
            elements.add(createText(point.geometry,text))
        }
    }
    return elements
}

fun createText(LOCATIOn: Geometry,text: String) = BalloonPopup(
    LOCATIOn,BalloonPopupStyleBuilder().buildStyle(),text,""
)

createPointPoi() 方法返回的所有元素都添加到 poiPointsLayer 中,如下所示:

    private val poiClusterElementBuilder = DefaultClusterElementBuilder(
        res,res.drawable(R.drawable.poi_cluster,themE)
    )
    private val poiPointsLayer = ClusteredVectorLayer(poiPointsDatasource,poiClusterElementBuilder)

实际上,我现在正在尝试使用气球弹出窗口,但最初我们使用的是文本,因为通过为文本添加底部边距,我们能够将其显示在象形图上方而不是其上方。但结果 - 将这两个对象合并为一个集群 - 完全相同。

当然,我们可以将这些标签类型的对象从聚类层移到一个单独的矢量图层,但这样我们就会在地图上的聚类象形图上有很多标签。像这样的东西:

Carto Mobile:如何避免点与相关气球弹出窗口的聚类

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

大佬总结

以上是大佬教程为你收集整理的Carto Mobile:如何避免点与相关气球弹出窗口的聚类全部内容,希望文章能够帮你解决Carto Mobile:如何避免点与相关气球弹出窗口的聚类所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: