18

Ich versuche, einen Markerklick (oder andere Kartenereignisse) programmgesteuert in Google Maps API für Android V2 auszulösen. Hat jemand eine Idee, wie es geht?Auslösen eines Kartenereignisses (wie ein Markerklick) in Google Maps Android V2

Offenbar Javascript API (v3), hat eine Trigger-Funktion, aber ich konnte nichts finden für Android.

Danke für die Hilfe.

+0

Die meisten der Antworten gaben an, ein Klickereignis auf einem Marker zu erfassen. Um zu verdeutlichen, meinst du, dass du einen Klick auf einen bestimmten Marker simulierst, anstatt dem Event zuzuhören? – vida

+0

Ja, ich möchte einen Klick auf Marker simulieren. Ich weiß, wie man auf die Marker-Klick-Ereignisse hört. – Guru

+0

Ich habe das gleiche Problem. Dafür gibt es ab sofort keine API. Ich habe versucht, herauszufinden, was eine mögliche Arbeit sein könnte, aber ich denke nicht, dass es wegen der Beschränkungen der API momentan möglich ist. – vida

Antwort

-2

OnMapClickListener ist eine Schnittstelle, mit der Sie Klicks auf Google Maps V2 erkennen können. Art von einem "Trigger" wie in js. Sie legen einen Listener für bestimmte Ereignisse fest, und Sie warten, bis Sie welche haben. Dann deklarieren Sie eine Methode und behandeln das Ereignis.

17

Sie können einen Markierungsklick nicht direkt triggern.

Wenn Sie Default-Implementierung ausgeführt werden müssen, wenn onMarkerClick false zurückgibt (oder Sie haben keine OnMarkerClickListener), müssen Sie es selbst tun:

marker.showInfoWindow(); 
map.animateCamera(CameraUpdateFactory.newLatLng(marker.getPosition()), 250, null); 

250 hier angenommen wird, wird API Sie nicht den Wert geben wird intern für dieses Standard-Marker-Klickverhalten verwendet.

Wenn Sie einen OnMarkerClickListener haben, können Sie einfach den Verweis behalten und eine Funktion aufrufen, die den Marker als Parameter sendet.

+0

Hmm, meinst du zu sagen, dass ich keinen Marker durch meinen Code auslösen kann? Ich verstehe, wie man einen Marker-Klick-Listener verwendet (ich benutze es tatsächlich meinen Code), aber ich wollte den Klick durch meinen Code auslösen, ohne den Marker berühren/klicken zu müssen. – Guru

+0

Ich habe Ihnen einen Workaround gegeben. Es gibt keine solche Methode Marker.doClick(), aber Sie können die Methode OnMarkerClickListener selbst ohne direkte Interaktion mit der Bibliothek aufrufen. –

+1

BTW. Möglicherweise möchten Sie hier eine Feature-Anfrage senden: [gmaps-api-issues] (http://code.google.com/p/gmaps-api-issues/issues/list?can=2&q=apitype%3DAndroid2) oder hier : [Erweiterungen für Android-Karten] (http://code.google.com/p/android-maps-extensions/) (oder beide). –

Verwandte Themen