Android Google 地图 API - 显示特定缩放的标记

Android Google Maps API - show marker up to certain zoom

我正在尝试显示类似于下图中红圈标记的标记。它们的行为方式是在一定的缩放范围内它们是可见的,并且在缩小超过该范围时消失。我可能可以通过编程将它们隐藏到一定的缩放范围内,但我想知道 Google 地图 Android API 是否支持这些内置的特殊标记。谢谢。

以下代码可用于自定义标记:

Marker melbourne = mMap.addMarker(new MarkerOptions()
                        .position(MELBOURNE)
                        .title("Melbourne")
                        .snippet("Population: 4,137,400")
                        .icon(BitmapDescriptorFactory.fromResource(R.drawable.custom_marker)));

这可以使用 zoom listenerssetVisible 轻松完成 个函数。

查看此 SO post 以获取编码详细信息:

How to make a marker appear or disappear based on zoom level on Google Maps v2

对于不同缩放级别的 showing/hiding 标记,最接近 built-in 特征的是 android-maps-utils library.

中的标记聚类实现

参见 demo app 中的这个 Activity,特别是关于使用自定义图标的集群标记的实现:

https://github.com/googlemaps/android-maps-utils/blob/master/demo/src/com/google/maps/android/utils/demo/CustomMarkerClusteringDemoActivity.java

结果如下所示 - 在左侧,几个图标被隐藏并在缩小时聚集成一个 "parent" 图标,parent 图标在中间有一个计数聚集的数量children。当您放大(右)时,您可以看到这些 children 图标未成簇并单独显示为它们自己的单独图标。