Navigation SDK for Android を統合することで、アプリは外部の地図ビューにリンクできるだけでなく、Google マップのナビゲーションを使用すると、ドライバーの運転に関するデータを動的に取得し、一元的なレポートを作成できます。
このガイドでは、Android Studio プロジェクトの概要、Navigation SDK の統合、デモアプリの実行方法について説明します。
Navigation SDK は、アプリ内のナビゲーションの外観と音声を制御できる静的ライブラリです。ライブラリの詳細については、別のウィンドウで Navigation SDK リファレンス(Javadoc)を開いてください。
事前準備
Navigation SDK を使用するには、以下のものが必要です。
Google Maps Platform の担当者(以下を利用可能)。
- Navigation SDK で使用するためにプロビジョニングされた API キー。プロジェクト ID を指定する必要があります。プロジェクト ID は、Google Cloud コンソールのメイン ダッシュボードのプロジェクト名の下にあります。
- SDK アーティファクト。Navigation SDK に Maven を使用するようにプロジェクトが構成されていることを確認します。
- v4.99.0 以前を使用するプロジェクトの場合。Maven を使用できない場合は、共有 Google ドライブから圧縮されたアーティファクトをダウンロードできます。静的ライブラリ ファイルは
libs/
ディレクトリにある .aar で、Navigation SDK が AAR バンドルとして格納されています。 - 1 つ以上のデモアプリ。
Android Studio: Navigation SDK を使用してアプリを作成する際に推奨される開発環境。
このドキュメントは、Android 開発とオブジェクト指向プログラミングの概念を理解しているデベロッパーを対象にしています。また、ユーザーの視点で Google マップを使い慣れていることも必要です。
デモアプリを入手する
Google では、経験レベルに応じて、Navigation SDK が提供する Google Maps API の機能を理解するための 2 つのアプリを提供しています。Google Maps API に精通しているデベロッパーは、GoogleNavigation のデモに集中できます。両方のプロジェクトを初めて利用するデベロッパーには、両方のアプリが役立ちます。
Navigation SDK for Android v4.1 では、以下のデモアプリの両方を共有 Google ドライブにダウンロードできます。
GoogleNavigation のデモ: ガイド付きナビゲーション セッション中のユーザー エクスペリエンスに関連する API の動作とビューの統合を紹介します。
GoogleMap のデモ:
GoogleMap
インターフェースの個々の動作を紹介して、地図の外観や表示方法をカスタマイズします。
Maven の使用に関する注意
デモアプリは、Gradle の Artifact Registry プラグインを使用して、リモートの Maven リポジトリから SDK アーティファクトをダウンロードするように構成されています。プロジェクト構成手順に沿って SDK へのアクセス権を取得してください。
GoogleNavigation のデモ
最新の GoogleNavigation デモは、共有 Google ドライブのルートにあります。アプリの以前のバージョンは「アーカイブ」にあります。4.1 より前のバージョンの場合、アプリは AAR とともに同じ zip ファイルにバンドルされています。
建物
Android Studio でデモアプリをインポートし、Gradle を実行できるようにします。
local.defaults.properties
を開き、MAPS_API_KEY
プロパティの値を更新します。MAPS_API_KEY=YOUR_API_KEY
[build] をクリックして、SDK 実装の詳細を確認します。
Java クラスの実装コードをメモします。
レイアウト XML で、レイアウトのデザインとテキストをメモします。
build.gradle
ファイルで、依存関係の SDK をメモします。
API キーをマニフェストに追加する方法の詳細については、Secrets Gradle プラグインのドキュメントをご覧ください。
作動中
Android デバイスをパソコンに接続するか、エミュレータを使用します。
- Android デバイス - Android デバイスで開発者向けオプションを有効にし、デバイスを検出するようにシステムを設定する方法については、instructionsをご覧ください。
- エミュレータ: Android Virtual Device(AVD)Manager を使用して仮想デバイスを構成します。エミュレータを選択するときは、Google API を含むイメージを選択する必要があります。
Android Studio で [Run] メニュー オプション(またはプレイボタン アイコン)をクリックし、デプロイ ターゲットを選択します。
アプリを作成して起動すると、オプションのリストのランディング ページがユーザーに表示されます。
NavViewActivity と NavFragmentActivity のオプション
NavSDK を初めて利用するユーザーにとっては、これら 2 つのオプションが最も有用である可能性があります。
オプション 1: NavViewActivity
は、NavigationView
を Navigator
と組み合わせて使用して動作を紹介します。
オプション 2: 2 番目のオプションは NavFragmentActivity
で、Navigator
と併せて SupportNavigationFragment
を使用する動作を紹介します。
いずれかのオプションをクリックすると、次の画面が表示されます。
- ナビゲーション UI で
- アプリのメニューの [Set Destination] ボタン
- API でメソッドを動的に呼び出すために操作できるオーバーレイ
- その他のオプションのオーバーフロー メニュー
まず、[目的地を設定] をクリックして住所を選択します。すると、アプリは現在地からその住所までのルートをシミュレーションします。コントロール パネルのオーバーレイを使用して、API を呼び出した場合の動作を確認します。たとえば、[View Methods] をクリックして SDK を強制的に夜間モードにし、どのように表示されるかを確認できます。
SwappingMapAndNavActivity オプション
SwappingMapAndNavActivity
は、次の一般的なパターンを示します。
MapView
を表示する- ナビゲーションの開始時に
NavigationView
に切り替える - ナビゲーションの終了時に
MapView
に戻る
GoogleMap のデモ
最新の GoogleNavigation デモは、共有 Google ドライブのルートにあります。アプリの以前のバージョンは「アーカイブ」にあります。
建物
Android Studio でデモアプリをインポートし、Gradle を実行できるようにします。
local.defaults.properties
を開き、MAPS_API_KEY
プロパティの値を更新します。MAPS_API_KEY=YOUR_API_KEY
[build] をクリックして、SDK 実装の詳細を確認します。
Java クラスの実装コードをメモします。
レイアウト XML で、レイアウトのデザインとテキストをメモします。
build.gradle
ファイルで、依存関係の SDK をメモします。
API キーがマニフェストに追加される方法の詳細については、Secrets Gradle プラグインをご覧ください。
作動中
Android デバイスをパソコンに接続するか、エミュレータを使用します。
- Android デバイス: instructionsに沿って、Android デバイスで開発者向けオプションを有効にし、デバイスを検出するようにシステムを設定します。
- エミュレータ: Android Virtual Device(AVD)Manager を使用して仮想デバイスを構成します。エミュレータを選択するときは、Google API を含むイメージを選択する必要があります。
Android Studio で [Run] メニュー オプション(またはプレイボタン アイコン)をクリックし、デプロイ ターゲットを選択します。
アプリをビルドして起動すると、デモのリストのランディング ページがユーザーに表示されます。
このプレゼンテーション パターンとそれに対応するソースコードの構造は、Google Maps SDK のデモのユーザーにもなじみがあるはずです。これは、GoogleMap のデモが Maps API デモアプリに類似するように設計されているためです。主な違いは、Navigation SDK のデモでは、ユーザーがテストを実行するビュークラス(NavigationView
または MapView
)を選択できることです。
Google では、導入者が NavigationView
を使用することを推奨しています。このデモでは、デモアプリで両方のバージョンでこれらの動作を試し、適切な動作を柔軟に選択できます。たとえば、そのクラスとのやり取りを想定しているサードパーティ ライブラリを使用している場合でも、MapView
の使用が必要になる場合があります。