onInfoWindowClick不工作。但长按可以正常工作

问题描述 投票:0回答:1

我已经在我的地图上添加了两个听筒。

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 google-maps google-maps-markers onclicklistener
1个回答
0
投票

新版本的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);
© www.soinside.com 2019 - 2024. All rights reserved.