隐藏android google maps API v2中的标记信息窗口

时间:2013-06-18 19:25:04

标签: android google-maps android-mapview android-maps android-maps-v2

目前,我可以使用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。

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

请提出任何建议。

谢谢。

2 个答案:

答案 0 :(得分:91)

return true;

来自onMarkerClick以禁用显示信息窗口并以标记为中心的默认行为。

答案 1 :(得分:0)

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

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.
    }
}