【问题标题】:Android Google Maps API - show marker up to certain zoomAndroid Google Maps API - 将标记显示到一定缩放
【发布时间】:2015-12-08 05:36:40
【问题描述】:

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

【问题讨论】:

  • 发布您的代码以便我们为您提供帮助

标签: android google-maps google-maps-android-api-2


【解决方案1】:

最接近用于在不同缩放级别显示/隐藏标记的内置功能是android-maps-utils library 中的标记聚类实现。

请参阅demo app 中的此活动,特别是有关使用自定义图标的集群标记的实现:

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

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

【讨论】:

    【解决方案2】:

    这可以使用 zoom listeners 和 setVisible 函数轻松完成。

    查看此 SO 帖子了解编码详情:

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

    【讨论】:

    • 您正在链接到适用于网络的 Google Maps API v3 的 javascript 示例 - 问题是在 Android Maps API v2 的上下文中。
    • 对不起,我发错了链接。请查看更新的。
    • 谢谢,这个链接有我需要的。相关部分:@Override public void onCameraChange(CameraPosition cameraPosition) { marker.setVisible(cameraPosition.zoom > 7); }
    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 2014-01-15
      • 2013-04-30
      • 2017-02-16
      • 2012-11-16
      • 1970-01-01
      • 1970-01-01
      • 2013-12-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多