0

私はAndroid StudioでGoogle Maps APIを使用しています(デフォルトのGoogleマップアクティビティ経由)。私はsetMyLocationEnabled(true)を有効にしましたが、現在の場所に移動するために私にはうまくいくカスタムのフローティングアクションボタンを追加したいので、setMyLocationButtonEnabledをfalseに設定しました。マーカーがクリックされると、APIはマップフラグメントの右下にそのマーカーの方向ボタンを自動的に生成しますが、実装したFABはこれらのボタンをカバーします。Google Maps APIのフラグメントの方向ボタンの上に浮動アクションボタンを移動しますか?

FAB covers API directions http://i63.tinypic.com/eg48m.png

this answerを見た後、「私は、マーカーがクリックされたとき、それはスナックバーと同じように、それは、FABを上に移動することを期待して、CoordinatorLayoutにマップフラグメントおよび浮動アクションボタンを包んだが、それはdoesnのt。そのモーションを手動で起動する方法や、少なくともタッチイベントなどでシミュレートする方法はありますか?私は実行時にFABを動かす方法(例えばthis)を探すことを試みましたが、私の状況に合った解決策を見つけることができませんでした。

ここでは、アクティビティのレイアウト用のXMLがあります。詳細情報が必要な場合は教えてください。前もって感謝します!

<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> 

答えて

0

私はXMLからあなたのFABにandroid:layout_marginBottomを与えることが動作しないか、そのように、このソリューションを好まないと仮定します。

そうでない場合は、setMapToolbarEnabled()と下部の方向ボタンを隠すことのいずれかgoogleMap.getUiSettings().setMapToolbarEnabled(false);

またはGoogleMap.OnMarkerClickListener:

googleMap.setOnMarkerClickListener(this);

でマーカーをクリックするために聞く:それらを必要としますその後、

、あなたがonMarkerClick()でやりたい:私はあなたの正確なソリューションを使用しませんでしたが

@Override 
public boolean onMarkerClick(Marker marker) { 
     //give some margin programmatically 
     //return false to preserve the default behaviour, true o/w 
     return true; 
} 
+0

、onMarkerClick' 'の言及は、あなたが示唆したようにそこに何かを考えて私を得ました。実際には既に実装されているので、マーカーごとにデータをロードする必要があるので、 'onMarkClick()'と 'FAB.show()'に 'FAB.hide()'を 'onMapClick()'に追加しました情報ウィンドウを上にして現在の場所に戻る必要はありません)。なぜ私は以前にそれを考えなかったのか分かりませんが、あなたにも感謝します! – CodingSingh

関連する問題