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

Google Maps自定义集群图标背景偶现渲染故障求助

Google Map自定义集群渲染器偶发异常问题

我在应用中为Google Map实现了自定义集群渲染器,使用自定义Drawable背景,数字文本采用含自定义字体与字号的自定义布局。该功能多数情况下正常,但偶尔集群无法按自定义布局渲染,取而代之的是带半透明背景的白色怪异圆形与默认字体——这类样式并非我配置的。放大再缩小地图后,有时可恢复为自定义Drawable渲染。

相关代码如下:

private val stationMarkers = mutableListOf<StationMarkerSettings>()

inner class StationMarkerRender(private val context: Context, map: GoogleMap, clusterManager: ClusterManager<StationMarker>)
    : DefaultClusterRenderer<StationMarker>(context, map, clusterManager) {

    private val mClusterIconGenerator = IconGenerator(context)

    //TextView displaying number - centered
    private fun makeSquareTextView(context: Context): ViewGroup {
        return (CustomResources.inflateLayout(
            LayoutInflater.from(context),
            R.layout.station_marker_cluster_text,
            null
        ) as ViewGroup)
    }

    override fun onBeforeClusterRendered(
        cluster: Cluster<StationMarker>,
        markerOptions: MarkerOptions
    ) {
        super.onBeforeClusterRendered(cluster, markerOptions)
        mClusterIconGenerator.setBackground(ContextCompat.getDrawable(context, R.drawable.station_pin_cluster))
        mClusterIconGenerator.setContentView(makeSquareTextView(context))
        val icon = mClusterIconGenerator.makeIcon(java.lang.String.valueOf(cluster.size))
        markerOptions.icon(BitmapDescriptorFactory.fromBitmap(icon))
    }

    override fun onBeforeClusterItemRendered(item: StationMarker, mo: MarkerOptions) {
        stationMarkers.add(StationMarkerSettings(item, mo))
        mo.icon(bitmapDescriptorFromVector(activity, R.drawable.station_pin_unselected)).anchor(anchorU, 1f)
    }

    override fun shouldRenderAsCluster(cluster: Cluster<StationMarker>): Boolean {
        return cluster.size > 1
    }

    override fun getColor(clusterSize: Int): Int {
        return ContextCompat.getColor(context, R.color.white)
    }

}

故障效果展示:
故障效果展示

内容的提问来源于stack exchange,提问作者Martin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 18:05:46