カメラを調整する

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

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

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

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

[中央に戻す] ボタンをクリックすると、カメラが 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 NavigationFragment 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 コンポーネントの構成の詳細については、Navigation UI をカスタマイズするをご覧ください。