目前,我可以使用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 ,但它似乎无法正常工作。
请提出任何建议。
谢谢。
答案 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.
}
}