2015-07-21 3 views
0

Разработка: Я создаю приложение, которое использует API карт google. как обычно, при нажатии маркера отображается информационное окно, и он начинает прослушивать клики по этому окну, как показано ниже.Есть ли способ «прослушать» закрытие infoWindow из API карт google?

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 нажимается фрагмент показан под названием панели инструментов, и это работает, как предполагалось.

Проблема, с которой я сталкиваюсь сейчас, заключается в том, чтобы скрыть эту панель инструментов, когда информацияWindow скрыта/закрыта. На данный момент, когда я нажимаю кнопку InformationWindow; панель инструментов отображается, но когда я закрываю информациюWindow/press else, где на карте фрагмент остается на месте.

Есть ли способ прослушать закрытие информацииWindow или есть другой способ, я могу пойти, чтобы скрыть фрагмент?

+0

Пожалуйста, ознакомьтесь с этим вопросом/ответом, возможно, это поможет вам: [infoWindow (Google Maps), ловящее событие закрытия окна] (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

Это будет срабатывать только тогда, когда щелкнуть на клиенте, и я хочу, чтобы что-то вызывало, когда закрывается инфоиндустрия. Вид как stateChangeListener для infoWindow. – snyggt

+0

Я думаю, что нет слушателя, о котором вы упоминаете. @ Snyggt – Soham

0

Я думаю, что слушатель то, что вы ищете:

Чтобы получить уведомление, когда информационное окно закрывается, используйте OnInfoWindowCloseListener, который можно установить, вызвав

GoogleMap.setOnInfoWindowCloseListener(OnInfoWindowCloseListener). 

вы получите onInfoWindowClose (Marker) обратного вызова.