Ich verwende das Google Maps-API in Android Studio (über die Standardaktivitäten von Google Maps). Ich habe setMyLocationEnabled(true)
aktiviert, aber setMyLocationButtonEnabled
false gesetzt, da ich einen benutzerdefinierten Floating Action Button hinzufügen wollte, der für mich besser aussieht, um zum aktuellen Ort zu wechseln. Wenn eine Markierung angeklickt wird, erzeugt die API automatisch rechts unten im Kartenfragment Richtungsschaltflächen für diese Markierung, aber der FAB, den ich implementiert habe, deckt diese Schaltflächen ab.Floating-Action-Button oberhalb der Routen-Popup im Google Maps API-Fragment verschieben?
FAB covers API directions http://i63.tinypic.com/eg48m.png
Nachdem bei this answer suchen wickelte ich das Karten-Fragment und Floating Action-Schaltfläche in einem CoordinatorLayout
, dass es Hoffnung, würde die FAB oben bewegen, wenn eine Markierung geklickt wird, wie es mit Snack-Bars tut, aber es doesn‘ t. Gibt es eine Möglichkeit, diese Bewegung manuell zu aktivieren oder zumindest mit Touch-Events oder ähnlichem zu simulieren? Ich habe versucht, nach Wegen zu suchen, um den FAB zur Laufzeit zu bewegen (wie this), aber es gelang mir nicht, eine passende Lösung für meine Situation zu finden.
Hier ist das XML für das Layout für die Aktivität, lassen Sie mich wissen, ob mehr Informationen benötigt werden. Danke im Voraus!
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="(hidden for privacy)"/>
<android.support.design.widget.FloatingActionButton
android:id="@+id/find_my_location"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="@dimen/fab_margin"
android:src="@drawable/ic_my_location_gray"
app:backgroundTint="@color/white"/>
</android.support.design.widget.CoordinatorLayout>
Während ich nicht Ihre genaue Lösung verwendet haben, die Erwähnung von 'onMarkerClick' bekam dachte mir etwas zu tun gibt, wie Sie vorgeschlagen. Ich hatte das bereits implementiert, um einige Daten für jeden Marker zu laden, also habe ich 'FAB.hide()' auf 'onMarkerClick()' und 'FAB.show()' auf 'onMapClick()' hinzugefügt (da einer wahrscheinlich muss nicht zurück zum aktuellen Standort mit dem Infofenster nach oben gehen). Ich weiß nicht, warum ich vorher nicht daran gedacht habe, aber danke trotzdem! – CodingSingh