infoWindow(谷歌地图)捕捉关闭窗口的事件

时间:2013-09-12 00:43:24

标签: android google-maps

当信息窗关闭时,你的触发方式是什么? 我找不到任何听众。我正在考虑运行一些后台Runnable 检查是否为marker.isInfoWindowShown()。

我想做什么 - 在我的地图上显示按钮,当用户点击点(显示infoWindow)时,屏幕底部还有这个按钮。当infoWindow消失时,该按钮也不再可见。

我应该阅读哪些听众提示?

2 个答案:

答案 0 :(得分:13)

目前在谷歌地图android api中,没有直接的监听器对应于标记的infowindow的关闭。但是,您可以通过检查以下事件来完成应用程序中所需的功能,这些事件将成为关闭信息窗口的原因:

1,GoogleMap.OnMapClickListener:当用户点击地图时,任何当前可见的信息窗都将被关闭。因此,您可以在此侦听器中添加逻辑,以执行infowindow关闭时所需的功能

2,marker.hideInfoWindow ():如果你在标记上调用hideinfowindow方法,将关闭信息窗口的另一个原因。如果您调用此方法,则应在调用此方法后立即添加infowindow关闭时所需的功能。

答案 1 :(得分:4)

好吧,我来不及回答这个问题但是现在可以通过使用以下方法知道谷歌地图的信息何时关闭。

 @Override
    public void onMapReady(GoogleMap googleMap) {
        mMap = googleMap;

        mMap.setOnInfoWindowCloseListener(new GoogleMap.OnInfoWindowCloseListener() {
            @Override
            public void onInfoWindowClose(Marker marker) {
               //hide or do something you want
            }
        });
}