2015-07-21 143 views
0

详细说明:我正在制作一个使用Google Maps API的应用程序。当按下某个标记时会显示informationWindow,并开始监听该窗口上的点击,如下所示。有没有办法“关闭”从谷歌地图API关闭infoWindow?

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的工具,并且这个工作正常。

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

是否有任何方法来侦听关闭informationWindow或有另一种方法我可以去隐藏片段?

+0

请检查这个问题或答案,可能它会帮助你:[infoWindow(Google地图)捕捉关闭窗口事件](http://stackoverflow.com/a/18756625/2610837) – fitch496

+0

这是一种如果我如何解决我的问题。我确保运行我的代码,当信息窗口关闭时应该运行,如果我的片段显示在屏幕上。 @ fitch496 – snyggt

回答

0
private class MyMarkerClickListener implements OnMarkerClickListener { 

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

您可以检查InfoWindow是否可见或不可见的标记点击

+0

这只会在制造商被点击时触发,并且我想在infowindow关闭时触发某些东西。有点像infoWindow的stateChangeListener。 – snyggt

+0

我想没有你提到的那种倾听者。@ snyggt – Soham

0

我觉得这个监听器是你在找什么:

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

​​

您将收到onInfoWindowClose(标记)回调设置。