有没有办法从谷歌地图API“收听”关闭infoWindow?

时间:2015-07-21 10:48:57

标签: android google-maps

详细说明:我正在制作一个使用谷歌地图API的应用程序。像常规一样,当按下标记时,会显示一个信息窗口,它会开始监听该窗口的点击次数,如下所示。

mMap.setOnInfoWindowClickListener(new GoogleMap.OnInfoWindowClickListener() {
        @Override
        public void onInfoWindowClick(Marker marker) {
            FragmentManager fm = getFragmentManager();
            fm.beginTransaction()
                    .setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out)
                    .add(android.R.id.content,toolBar)
                    .show(toolBar)
                    .commit();

        }
    });

正如您在按下informationWindow时在代码中看到的那样,会显示一个名为toolbar的片段,这可以按预期工作。

我现在面临的问题是隐藏/关闭信息窗口时隐藏该工具栏。截至目前,当我按下信息窗口;显示工具栏,但是当我关闭信息时窗口/按下地图上的其他位置片段保持不变。

有没有办法监听关闭信息窗口,还是有其他方法可以隐藏片段?

2 个答案:

答案 0 :(得分:0)

private class MyMarkerClickListener implements OnMarkerClickListener {

    @Override
    public boolean onMarkerClick(Marker marker) {
        if (marker.isInfoWindowShown()) {
        // do whatever you want.
    }
}

您可以在点击标记

上查看InfoWindow是否可见

答案 1 :(得分:0)

我认为这个听众正是你要找的:

要在信息窗口关闭时收到通知,请使用OnInfoWindowCloseListener,您可以通过调用

来设置
GoogleMap.setOnInfoWindowCloseListener(OnInfoWindowCloseListener). 

您将收到onInfoWindowClose(Marker)回调。