我已经在我的地图上添加了两个听筒。
mGoogleMap.setOnInfoWindowLongClickListener(new GoogleMap.OnInfoWindowLongClickListener() {
@Override
public void onInfoWindowLongClick(Marker marker) {
Log.d(TAG, marker.getTitle() + " Long click");
}
});
mGoogleMap.setOnInfoWindowClickListener(new GoogleMap.OnInfoWindowClickListener() {
@Override
public void onInfoWindowClick(Marker marker) {
Log.d(TAG, marker.getTitle() + " Just a simple click");
}
});
根据logcat,长按可以正常工作,但普通的点击就不行了
2020-05-24 22:49:51.838 7940-7940/com.edwin.findme D/UserListFragment: test Long click
2020-05-24 22:49:53.309 7940-7940/com.edwin.findme D/UserListFragment: test Long click
你知道为什么会出现这种情况吗?
更新:其实我只需要点击监听器,但它没有工作,所以我添加了长点击监听器来测试,它工作正常。
新版本的android-map-utils(在我的例子中是1.3.1)要求使用MarkerManager.Collection来设置一个监听器。源码:https:/githubhttps:/github.comgooglemapsandroid-maps-utils#adding-a-custom-info-window。
新产品
CustomInfoWindowAdapter adapter = // ...
OnInfoWindowClickListener listener = // ...
// Create a new Collection from a MarkerManager
MarkerManager markerManager = // ...
MarkerManager.Collection collection = markerManager.newCollection();
// Set InfoWindowAdapter and OnInfoWindowClickListener
collection.setInfoWindowAdapter(adapter);
collection.setOnInfoWindowClickListener(listener);
// Alternatively, if you are using clustering
ClusterManager<ClusterItem> clusterManager = // ...
MarkerManager.Collection markerCollection = markerCollection.setInfoWindowAdapter(adapter);
markerCollection.setOnInfoWindowClickListener(listener);
旧
CustomInfoWindowAdapter adapter = // ...
OnInfoWindowClickListener listener = // ...
googleMap.setInfoWindowAdapter(adapter);
googleMap.setOnInfoWindowClickListener(listener);