Android 谷歌地图标记圆圈(多次叠加无累积不透明度)

Posted

技术标签:

【中文标题】Android 谷歌地图标记圆圈(多次叠加无累积不透明度)【英文标题】:Android google map markers circles (multiple overlay no cumulative opacity) 【发布时间】:2019-07-26 16:24:22 【问题描述】:

我正在尝试添加多个标记,这些标记在某些情况下可能会彼此靠近。我正在尝试在它们周围添加圆圈 加圈代码

points.forEach  point ->
        googleMap.addCircle(
            CircleOptions()
                .center(point.location)
                .radius(10.toDouble())
                .strokeWidth(1f)
                .strokeColor(Color.RED)
                .fillColor(Color.argb(60, 255, 0, 0))
        )
    

左:是我用我的代码得到的 ______________ 右:这是我需要的 https://i.stack.imgur.com/NSD1A.png 在android中甚至可能吗?

【问题讨论】:

你试过zIndex吗? developers.google.com/android/reference/com/google/android/gms/… 我认为 z-index 无法解决我的问题。我的问题是覆盖部分的不透明度(如图所示) 我知道以下问题是用另一种语言编写的,但希望对您有所帮助。 ***.com/questions/23154254/… android 地图中的多边形不同 @ToraCode android sdk 多边形没有 strokeOpacity 功能。 【参考方案1】:

我通过将 zindex 设置为 1 解决了这个问题:

final CircleOptions options = new CircleOptions();
options.center(new LatLng(geofence.getCenter().getLatitude(), geofence.getCenter().getLongitude()));
options.radius(geofence.maxDistance().getValue());
options.strokeColor(Color.RED);
options.strokePattern(Collections.singletonList(new Dot()));
options.zIndex(1f);

geofenceCircle = googleMap.addCircle(options);

我有自己的磁贴提供程序,但由于某种原因,zindex 为 0 不起作用。

根据谷歌:

Z-Index 绘制此图块叠加层的顺序 其他叠加层(包括 GroundOverlays、TileOverlays、Polylines 和 多边形但不是标记)。绘制具有较大 z-index 的叠加层 在具有较小 z 索引的叠加层上。叠加的顺序与 相同的 z-index 是任意的。默认 zIndex 为 0。

【讨论】:

以上是关于Android 谷歌地图标记圆圈(多次叠加无累积不透明度)的主要内容,如果未能解决你的问题,请参考以下文章

用于文本叠加的自定义标记谷歌地图街景 Xcode

有没有办法在谷歌地图的叠加层上方添加标记反应?

如何更改android地图中的圆圈颜色

如何通过叠加层检测谷歌地图上的点击事件?

如何在谷歌地图上显示圆圈?

在谷歌地图中围绕一个点绘制半径