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

问题描述 投票:20回答:2

目前,我能够使用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,但似乎无法正常工作。

请提出任何建议。

谢谢。

android google-maps android-mapview android-maps android-maps-v2
2个回答
96
投票
return true;

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


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.
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.