Gibt es eine Möglichkeit, onClick-Ereignis eines bestimmten Markers manuell aufzurufen (ohne den Marker physisch zu berühren)?Wie löst man das onClick-Ereignis eines Markers auf Google Maps V2 für Android aus?
Antwort
Try this,
aus Ihrer Map-Klasse implementieren Marker klicken Zuhörer,
public class MapView extends FragmentActivity implements OnMarkerClickListener{}
es wird außer Kraft setzen onMarkerClickEvent wie folgt
@Override
public boolean onMarkerClick(final Marker marker) {}
Die Antwort ist nein. Sie können die onClick
eines bestimmten Markers nicht separat einstellen.
Mithilfe von Map.setOnMarkerClickListener(_)
können Sie jedoch einen Listener für alle derartigen Ereignisse festlegen. Sie sollten in der Lage sein, das -Objekt in dem Listener abzurufen, der aufgerufen wird, wenn auf eine Markierung geklickt wird. Sie können eine Identifikation verwenden, um zu sehen, ob dies der bestimmte Marker ist, den Sie wünschen, und entsprechend handeln. Die Identifikation könnte eine der Eigenschaften sein, die für diesen Marker spezifisch sind, title
ist die offensichtliche Wahl. Sie können jedoch Marker mit einer beliebigen Eigenschaft filtern.
NO, Sie können ein Marker-Klick-Ereignis nicht direkt aus dem Code triggern (aus dem Code).
Sie können einfach mMap.setOnMarkerClickListener(...);
verwenden, um Marker Klickereignis zu behandeln.
Aber es gibt eine Alternative, wenn Sie Ihre Karte in WebView verwenden, so können Sie einen Marker Click-Ereignis mit JavaScript
auslösen:
//In V2 version:
GEvent.trigger(markers[i], 'click');
//In V3 version:
google.maps.event.trigger(markers[i], 'click');
Nein, aber Sie können die onClick simulieren Ereignis. Wenn Sie auf eine Markierung klicken, werden zwei Dinge angezeigt:
- Das Infofenster für die entsprechende angeklickte Markierung wird angezeigt.
- Die Kamera schwenkt zum Marker.
Die oben kann mit 2 Zeilen Code erreicht werden:
marker.showInfoWindow();
map.animateCamera(CameraUpdateFactory.newLatLng(marker.getPosition()), 250, null);
Sie das Routensymbol vergessen erscheinen. Ihre Lösung für das nicht funktionieren. –
Sie können einen Marker Klick simulieren. Erstellen Sie Ihre MyMarkerManager-Klasse ausgehend von der MarkerManager-Klasse.
Die Klasse hat eine Funktion onMarkerClick(), die Sie manuell um das Ereignis zu simulieren aufrufen können.
Weitere Informationen finden Sie unter diesem Link. https://github.com/googlemaps/android-maps-utils/blob/master/library/src/com/google/maps/android/MarkerManager.java
Was ist 'mMap.setOnMarkerClickListener (...);'? – Rami
Rami wie kann die Listener Programm aufgerufen werden (ohne den Marker tatsächlich klicken) – mustafa