6

我正在寻找一种方法来检测何时取消选择 Google 地图上的标记。我有一个滑动抽屉,在用户单击标记之前,手柄是不可见的,一旦“取消选择”标记,我想让它再次不可见。我试过了,marker.isInfoWindowShown()但我无法让它工作。

4

3 回答 3

9

没有信息窗口消失的事件,但您可以使用

map.setOnMapClickListener(new OnMapClickListener() { ... });

以及其他一些使信息窗口消失的“事件”。如果您使用marker.remove()or marker.setVisible(false),当在显示信息窗口的标记上调用时,它们也会使信息窗口消失。

您将不得不保存markerShowingInfoWindow参考(可能来自OnMarkerClickListenerInfoWindowAdapter)。

于 2013-09-03T09:19:13.947 回答
0

我知道您已经选择了答案,但所选答案也没有满足您的需要。

我还忙于一个使用标记的应用程序,并在用户选择和取消选择标记时切换视图。

这只是一个简单的解决方法。

 mMap.setOnMapClickListener(new GoogleMap.OnMapClickListener()
            {
                @Override
                public void onMapClick(LatLng latLng)
                {
                    mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener()
                    {
                        @Override
                        public boolean onMarkerClick(Marker marker)
                        {
                            //Code for on marker click goes here
                            return false;
                        }
                    });
                    //Code for marker deselect goes here
                }
            });

这是使用两个点击监听器,这样您应该能够根据用户点击的内容切换可见性。

于 2017-02-18T12:12:56.503 回答
0

这仅在标记具有信息窗口时有用。当单击标记时出现信息窗口并在单击标记外部时关闭。您可以在地图中检测到该事件。

// Detect when Marker's Info Window is closed
    googleMap.setOnInfoWindowCloseListener(new GoogleMap.OnInfoWindowCloseListener() {
        @Override
        public void onInfoWindowClose(Marker marker) {
            // Do whatever you want to do here...
        }
    });
于 2017-07-07T22:29:56.933 回答