###前提・実現したいこと
GoogleMapを使ったAndroidアプリを開発しております。
Map上に半透明な画面をオーバーレイをしたく、Googleのロゴを隠れないようにするために
実装した処理がカメラファンクションにも影響してしまい、その補正が出来なくて悩んでおります。
実現したいことは以下です。
・Googleのロゴを左上に移動
・現在地表示など、意図した場所にカメラを移動
ロゴの移動は公式にもあるようにGoogleMap.setPaddingを使うしかないのかなと思っていますが
https://developers.google.com/maps/documentation/android-api/map?hl=ja
これにより影響したカメラ移動の補正で何か良い方法があるか知りたいです。
###発生している問題・エラーメッセージ
GoogleMap.setPaddingでロゴを左上に表示しました。
Java
1 mapView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { 2 @Override 3 public void onGlobalLayout() { 4 map.setPadding(0, 0, 0, 1500); 5 mapView.getViewTreeObserver().removeOnGlobalLayoutListener(this); 6 } 7 });
※ paddingの中の数値の「1500」は、仮の数値で実際には画面のdisplayサイズを取得して動的に指定されるようにしております。
ところが、下記の現在地にカメラを移動させる箇所でも上記のpaddingで指定した値が
効いてしまっているため、カメラが画面中央ではなく上部に移動表示されてしまいます。
Java
1 LatLng latLng = new LatLng(location.getLatitude(), location.getLongitude()); 2 map.moveCamera(CameraUpdateFactory.newLatLng(latLng));
※ 現在地が更新されたタイミングで上記の処理をしています。
###補足情報
googlemapは以下を使っております
gradle
1 compile 'com.google.android.gms:play-services-maps:10.0.1'
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。