Ich meine, wenn ich klicke Markerheißt, so hat die OnMapClickListener
nicht. Auch wenn ich mMap.setOnMarkerClickListener(null);
marker-Objekt setzt maskiert alle Click-Ereignisse für die zugrunde liegende Karte und Objekte. Wie kann ich Marker
transparent für alle Benutzer Interaktionen setzen?Google Maps API v2: Wie können Marken nicht klickbar gemacht werden?
Antwort
Dies ist in der Tat eine "Begrenzung" von Markern als 3.1.59 Version der Bibliothek.
Wenn Sie sie wirklich als Marker benötigen, senden Sie eine Feature-Anfrage an gmaps-api-issues für MarkerOptions.clickable
und Marker.setClickable
.
Wenn Sie können, sollten Sie andere visuelle Objekte, z. GroundOverlay
. Das einzige Problem ist, dass sie alle im Gegensatz zu Markern mit Karten skalieren. Am nächsten wäre Circle
mit Nullradius und 20-50 dp Strichbreite, aber das ist nur ein einzelner Farbpunkt.
Gemäß der docs über Marker, wenn Sie Ihren eigenen Listener hinzufügen und die onMarkerClick() -Methode false zurückgibt, wird das Standardverhalten ausgeführt.
Also, in der onMarkerClick() nur true zurück und nichts anderes tun, um den Standard vollständig zu überschreiben.
Die einzige Abhilfe, die ich für dieses Problem gefunden ist, den gleichen Code in OnMarkerClickListener
, die Sie in OnMapClickListener
und zurück false
haben auszuführen:
getMap().setOnMarkerClickListener(new OnMarkerClickListener() {
public boolean onMarkerClick(Marker marker) {
onMapClick(marker.getPosition());
return true;
}
});
Diese Lösung funktioniert nicht, da onMarkerClick den Speicherort der Markierung angibt, die am nächsten an der Stelle, an die Sie geklickt haben, und nicht dort, wo Sie tatsächlich geklickt haben. – Justin
- 1. Google Maps api v2 Klasse nicht gefunden
- 2. LibGDX: Wie können gekachelte Kartenkacheln klickbar gemacht werden?
- 3. Google Maps v2: Autorisierungsfehler
- 4. Google Maps Android API v2 Route Overlay
- 5. google maps api v2 aus speicherfehler
- 6. Android - Google Maps api v2 - Zoomsteuerung deaktivieren
- 7. Google Maps Android V2 und Direction API
- 8. Google Maps API v2 InfoWindow End-/Zeigergröße
- 9. Google Maps API v2 grauen Bildschirm
- 10. Wie können benutzerdefinierte Steuerelemente zu MapFragment in Google Maps Android API v2 hinzugefügt werden?
- 11. Android Google Maps API v2 Anzeige Route
- 12. Android 2.3 und Google Maps API v2
- 13. Google Maps API v2: LatLngBounds von CameraPosition
- 14. Google Maps API - Radius Suche nach Marken mit Places?
- 15. Google Maps Android MapView v2: Zoomen deaktivieren
- 16. MapFragment Google Maps API v2 Nicht genügend Speicherfehler/Speicherleck
- 17. Java - kann getMap() nicht lösen google maps api v2
- 18. Android Google Maps v2 Kameraanimation
- 19. Map-Markierungen mit Text in Google Maps Android API v2
- 20. So sperren Sie die Kamera in Google Maps API V2
- 21. Wie kann dieser Button in AndroidStudio klickbar gemacht werden?
- 22. So erhalten Sie den Freischaltcode für Google Maps API v2
- 23. Offene Straßenkarten mit Android Google Maps Api v2
- 24. Die URL kann in UITextView nicht klickbar gemacht werden.
- 25. Google Maps Android API v2 erstellt eine neue LocationSource
- 26. Wie man Google Maps v2 Schnappschuss nehmen?
- 27. osmdroid, Maps API v2 und Fragmente
- 28. google map api v2
- 29. Ausblenden Marker Info Fenster in Android Google Maps API v2
- 30. Google Maps API v3 - Wie werden Überlagerungen gelöscht?
Meine versucht 'onMarkerClick (Marker arg0) {return true;}' aber 'onMapClick' wird immer noch nicht aufgerufen. Ich denke, Docs Erklärung bedeutet, dass, wenn ich 'true' zurückgebe, kein Standardverhalten auftritt (infoWindow), nur mein Code, den ich in' onMarkerClick' poste. –
Versuch es: in onMarkerClick die Zeile 'onMapClick (marker.getPosition()) hinzufügen ; ' –
Ich dachte darüber nach. In diesem Fall wäre ein großer Fehler. Ich werde dies tun, wenn keine andere Lösung gefunden würde –