2013-09-03 7 views
5

Ich suche nach einer Möglichkeit, zu erkennen, wenn eine Markierung in Google Maps deaktiviert ist. Ich habe eine Schublade, in der der Griff unsichtbar ist, bis der Benutzer auf den Marker klickt, und ich möchte ihn wieder unsichtbar machen, sobald der Marker "abgewählt" ist. Ich habe es mit marker.isInfoWindowShown() versucht, aber ich konnte es nicht zum Laufen bringen.Ermitteln, ob der Benutzer die Markierung auf der Google-Karte ablöst

+0

'Abgewählt 'bedeutet? Wie machst du das? – Praveen

+0

Wenn der Benutzer auf die Karte klickt und das Infowindow blendet, das beim Klicken auf die Markierung angezeigt wird. –

Antwort

10

Es gibt keine Veranstaltung für Infofenster Verschwinden, aber man kann es Umgehen

map.setOnMapClickListener(new OnMapClickListener() { ... }); 

und ein paar andere „Events“ verwenden, das Info-Fenster verschwinden. Wenn Sie marker.remove() oder marker.setVisible(false) verwenden, wird auch das Info-Fenster ausgeblendet, wenn es auf einer Markierung aufgerufen wird, die das Info-Fenster anzeigt.

Sie müssen markerShowingInfoWindow Referenz speichern (wahrscheinlich von OnMarkerClickListener oder InfoWindowAdapter).

+0

Ich denke, er will nur das InfoWindow verschwinden. nicht die ganze Markierung. – bofredo

+1

@bofredo Ich denke, er will wissen wann Info Fenster verschwindet. Es zu verschwinden ist einfach: 'marker.hideInfoWindow()'. –

+0

@ MaciejGórski Danke, das ist, was ich wollte. Ich weiß nicht, warum ich nicht selbst daran gedacht habe, ich schätze mal dein Gehirn macht Pause :) –

0

Ich weiß, dass Sie bereits die Antwort ausgewählt haben, aber die ausgewählte nicht tut, was Sie auch brauchen.

Ich bin auch mit einer Anwendung beschäftigt, die Marker verwendet und eine Ansicht hat, die geschaltet wird, wenn ein Benutzer einen Marker auswählt und die Markierung aufhebt.

Dies ist nur eine einfache Arbeit.

Dies ist mit zwei Klick-Listener, auf diese Weise sollten Sie in der Lage sein, die Sichtbarkeit je nachdem, was der Benutzer klickt zu wechseln.

0

Dies ist nur nützlich, wenn der Marker über ein Infofenster verfügt. Wenn das Info-Fenster auf dem Marker erscheint, klicken Sie auf und schließen, wenn Sie außerhalb des Markers klicken. Sie können dieses Ereignis in der Karte erkennen.

// Detect when Marker's Info Window is closed 
    googleMap.setOnInfoWindowCloseListener(new GoogleMap.OnInfoWindowCloseListener() { 
     @Override 
     public void onInfoWindowClose(Marker marker) { 
      // Do whatever you want to do here... 
     } 
    }); 
Verwandte Themen