检测用户是否“取消选择”谷歌地图上的标记

时间:2013-09-03 08:59:00

标签: android google-maps google-maps-markers

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

3 个答案:

答案 0 :(得分:9)

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

进行处理
map.setOnMapClickListener(new OnMapClickListener() { ... });

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

您必须保存markerShowingInfoWindow参考(可能来自OnMarkerClickListenerInfoWindowAdapter)。

答案 1 :(得分: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
                }
            });

这是在点击侦听器上使用两个,这样您就可以根据用户点击的内容切换可见性。

答案 2 :(得分:0)

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

{ "next":some_url_link,
    "prev":some_other_url_link,
    "results":[ { "id": 1, "owner": "CatInHat", "name": "thing1" }, { "id": 2, "owner": "CatInHat", "name": "thing2" } ]
}