私はこれで見つけ出すことのできるすべてを見てきましたが、解決策が見つかりませんでした。私は非常に簡単なことをしようとしています:Android Google Map move camera does not work
protected void moveCamera(final LatLng position, final float zoom) {
getMap(new OnMapReadyCallback() {
@Override
public void onMapReady(final GoogleMap googleMap) {
logger.debug("Moving map to " + position);
CameraPosition cameraPosition = new CameraPosition.Builder()
.target(position)
.zoom(zoom)
.build();
googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
}
});
}
何も起こりません。エラーもカメラの動きもありません。私もmoveCamera
を試しました。私はCameraUpdateFactory
へのさまざまな種類の呼び出しを試しました。私は別々に移動してズームしようとしましたが、遅れてHandler
で投稿しようとしました。時にはこれは完璧に動作しますが、フラグメントをマップに残して戻ってくると動作しません。地図は緯度0,0と標準地図タイプ(ハイブリッドに設定されています)にリセットされ、何もすることができません。私はメソッドがロギングステートメントによって呼び出されることを知っています。マップを復元できることを確認するために必要なライフサイクルの種類はありますか?
Mapboxなどに切り替えることを好まないのは、小さなバグを修正するために多くの作業が必要になるためですが、正しく動作させるためにはこれが必要です。
なぜあなたはそれを使用しないで、次に 'CameraUpdate'を作成していますか? – nasch
'moveCamera'と' animateCamera'パーツだけを使用すると、何もしません。 'LatLngBounds bounds = LatLngBounds.builder()。build()'(あなたのコードスニペットで 'builder'が定義されていないので、あなたが行っていたと仮定します)は、このエラーを生成します:' java.lang.IllegalStateException: ' – nasch