Android用のGoogleマップで奇妙な問題が発生しています。
すべて正常に動作していますが、ユーザーがマップでアクティビティを開始すると、指定された場所にズームインしてカメラを配置したいと考えています。
これは私のコードです:
LatLng l = new LatLng(40.446951,-3.693295);
defaultPos = mapa.addMarker(new MarkerOptions().position(new LatLng(l.latitude, l.longitude)).icon(BitmapDescriptorFactory.defaultMarker((float) 250.0)));
Log.d("mappoi","zoom to");
mapa.animateCamera(CameraUpdateFactory.zoomTo(17.0f));
mapa.animateCamera(CameraUpdateFactory.newLatLng(l));
ご覧のとおり、新しい LatLng オブジェクトを作成し、それを使用して地図上にマーカーを作成した後、その位置にカメラの中心を合わせてズームインしたいと考えています。
理由はわかりませんが、ズームは最初に実行されたときにのみ機能するため、アプリを新しくインストールすると正常に機能しますが、戻ってアクティビティを再起動すると、ズームは行われず、デフォルトのズームレベルが維持されます。アプリを閉じて再起動しても機能しなくなり、アンインストールして再インストールした場合にのみ機能しますが、一度だけです。
何がうまくいかないのか想像できません。最初に機能する場合、次はなぜ機能しないのですか?
助けてくれてありがとう。
編集:戻るボタンを押すとアクティビティが強制終了されるため、毎回 onCreate が呼び出されます。