22

目前,我可以使用 Android Google maps API v2 查看我在 Google 地图中的所有标记。

在地图中添加我的标记:

mapView.addMarker
     (new MarkerOptions()
      .position(aUsersLocation).
      icon(BitmapDescriptorFactory.fromBitmap(aUserImage))
      .snippet(My_VALUE_1)
      .title(My_VALUE_2)
     .hideInfoWindow();

我有几个标记,并为每个标记的片段和标题分配了几个值(My_VALUE_1 和 My_VALUE_2)。当用户单击标记时,我需要这些唯一值,我将在onMarkerClick 侦听器中接收这些值:

        @Override
        public boolean onMarkerClick(Marker theMarker) 
        {
            String aValue1 = theMarker.getSnippet();
            String aValue2 = theMarker.getTitle();
            theMarker.getPosition().latitude...
           ...
            return false;
        }

我的问题是:当我将片段和标题值添加到标记时,当用户单击标记时,会显示 infoWindow。

我需要隐藏标记的信息窗口。我尝试使用hideInfoWindow,但它似乎无法正常工作。

请有任何建议。

谢谢你。

4

2 回答 2

105
return true;

from onMarkerClick to disable default behavior of showing info window and centering on the marker.

于 2013-06-18T19:35:58.263 回答
2

如果您使用集群,请这样写:

private var clusterManager: ClusterManager<SomeClusterItem>? = null

override fun onMapReady(googleMap: GoogleMap) {
    this.googleMap = googleMap

    clusterManager = ClusterManager(context!!, googleMap)
    ... // Other clusterManager and clusterRenderer initializations.

    clusterManager!!.setOnClusterItemClickListener { item ->
        // selectMarker(item)
        true // false, if you want to show InfoWindow.
    }
}
于 2020-03-24T08:16:35.633 回答