カメラを調整する

カメラを使用すると、地図のユーザーの視点を変更できます。カメラモードを使用すると、ナビゲーション中の地図ビューの動作を制御できます。カメラモードを設定するには、カメラに関連付けられた次のいずれかのメソッドを呼び出します。

  • 現在地を追跡(GoogleMap.followMyLocation) - ナビゲーションのデフォルトのカメラモード。このモードでは、カメラをデバイスまたは車両に設定します。ナビ中は、カメラが自動的に進行方向を向きます。

  • 位置に固定(GoogleMap.animateCameraGoogleMap.moveCamera) - カメラを特定の位置に固定します。このモードを使用すると、カメラの位置と、方向、傾斜、ズームなどの他のカメラ プロパティを設定できます。このビューが選択され、ナビゲーターが初期化されると、[再センタリング] ボタンが表示されます。

  • 経路の概要を表示(NavigationView.showRouteOverview または SupportNavigationFragment.showRouteOverview) - 残りの経路の概要(次の 45 分間の運転時間まで)を表示します。必要に応じて、経路が地図ビューに収まるようにパンとズームを行います。このビューが選択されている場合、[再センタリング] ボタンが表示されます。

[Re-center] ボタンをクリックすると、カメラが followMyLocation モードに設定されます。

現在地をフォロー モード

最も一般的なカメラ設定は、カメラをデバイスまたは車両に設定し、走行中の現在位置を表示することです。このカメラモードでは、車が常に画面の上を向いている状態で、斜め上からルートを表示する(CameraPerspective.TILTED)か、車が北(CameraPerspective.TOP_DOWN_NORTH_UP)または進行方向(CameraPerspective.TOP_DOWN_HEADING_UP))を常に画面の上にして移動する様子を表示できます。

次のコード フラグメントは TILTED パースペクティブを使用します。

// Set the camera to follow the device (vehicle):
mNavFragment.getMapAsync(googleMap -> googleMap.followMyLocation(CameraPerspective.TILTED))

場所モードに固定

Pinned モードでは、カメラを最も詳細に制御できます。このモードでは、カメラを特定の場所に配置し、カメラビューの向きを設定する方位を割り当て、傾斜を変更して視野角を設定し、カメラのズームレベルを設定します。

以下のコード スニペットには、カメラを移動するための一般的な方法がいくつか含まれています。

private static final LatLng SYDNEY = new LatLng(-33.88, 151.21);
private static final LatLng MOUNTAIN_VIEW = new LatLng(37.4, -122.1);

private GoogleMap map;
... // Obtain the map from a SupportNavigationFragment or NavigationView.

// Move the camera instantly to Sydney with a zoom of 15.
map.moveCamera(CameraUpdateFactory.newLatLngZoom(SYDNEY, 15));

// Zoom in, animating the camera.
map.animateCamera(CameraUpdateFactory.zoomIn());

// Zoom out to zoom level 10, animating with a duration of 2 seconds.
map.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null);

// Construct a CameraPosition focusing on Mountain View and animate the camera to that position.
CameraPosition cameraPosition = new CameraPosition.Builder()
    .target(MOUNTAIN_VIEW)      // Sets the center of the map to Mountain View
    .zoom(17)                   // Sets the zoom
    .bearing(90)                // Sets the orientation of the camera to east
    .tilt(30)                   // Sets the tilt of the camera to 30 degrees
    .build();                   // Creates a CameraPosition from the builder
map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));

ルートの概要モードを表示する

showRouteOverview カメラ設定では、移動の全行程が表示されます。複数の目的地があるルートの場合、このモードではまだ通っていないルートが表示されます。

// Place the camera to see the remaining route:
mNavFragment.showRouteOverview();

次のステップ

地図に表示する組み込み UI コンポーネントを指定して、ユーザーが地図を操作する方法をカスタマイズする方法については、ナビゲーション UI をカスタマイズするをご覧ください。