2012-12-31 14 views
9

Próbowałem zamknąć domyślne infowindow na mapie Androida. Użyłem .hideInfoWindow(), ale nic nie dołącza. Dzięki.Ukryj infowindow android map api v2

+0

przy użyciu tej metody powinny być we właściwy sposób. czy możesz edytować swoje pytanie i dodawać ważne części kodu? jak tworzysz swoje znaczniki? w jaki sposób zaimplementować metodę onMarkerClick? – muetzenflo

Odpowiedz

3

Zakładam, że chcesz zamknąć infolinie po kliknięciu znacznika po raz drugi. Wygląda na to, że musisz śledzić ostatni znacznik kliknięcia. Nie mogę uruchomić go, po prostu sprawdzając, czy kliknięty znacznik jest aktualnie wyświetlany, a następnie go zamknąć, ale to działa ładnie.

private Marker lastClicked; 

private class MyMarkerClickListener implements OnMarkerClickListener { 

    @Override 
    public boolean onMarkerClick(Marker marker) { 
     if (lastClicked != null && lastClicked.equals(marker)) { 
      lastClicked = null; 
      marker.hideInfoWindow(); 
      return true; 
     } else { 
      lastClicked = marker; 
      return false; 
     } 
    } 
} 
7

Zastosowanie

mapa.setOnInfoWindowClickListener(new GoogleMap.OnInfoWindowClickListener() { 

      @Override 
      public void onInfoWindowClick(Marker marker) { 


       marker.hideInfoWindow(); 
      } 
     }); 

Mam nadzieję, że pomaga.

10

Zmień return

@Override 
public boolean onMarkerClick(Marker marker) { 
return false; 
} 

     (to) 

@Override 
public boolean onMarkerClick(Marker marker) { 
return true; 
} 
+0

dzięki ... pracował jak urok #Sathesh –

+0

powracający prawdziwy nie centrum mapę aparatu na markera! –

Powiązane problemy