今回は、自作のアプリで Googleマップを利用するために必要な APIの準備から、Googleマップの表示までをご紹介します。
APIの利用方法については、大まかな流れが下記ページに書かれています。
Get Started | Maps SDK for Android | Google Developers
それでは、いつものように順を追ってみます。
Step 1. Download Android Studio
すでにインストール済みなので飛ばします。
Step 2. Install the Google Play services SDK
Android SDK Managerを開いて、Extrasの「Google Play services」と「Google Repository」をインストール。
Step 3. Create a Google Maps project
Android Studioを起動して、「map activity」を含む新しいプロジェクトを作成します。
例として、「MapSample」という名前のプロジェクトを作成。プロジェクト作成ウィザード途中の Activity選択画面で「Google Maps Activity」を選択して、Finish。
パッケージ名は、「jp.co.monoworks.mapsample」になります。
Step 4. Get a Google Maps API key
Google Maps APIキーの取得方法。まずは、簡単な方法から
- 先ほど作った「MapSample」プロジェクトの google_maps_api.xmlを開きます。(最初に作成された google_maps_api.xmlはデバッグ用となっていて、ここに記載されているSHA-1証明書のフィンガープリントはデバッグ用です)
- 例では、7行目にAPIキーを取得するためのURLが記述されているので、この行をすべてコピー。ブラウザにURLを貼り付けて、Google Developers Consoleサイトを開きます。
- 初めてAPIキーを取得する場合、既存のプロジェクトがないので、APIを有効にするため「続行」をクリック。
- 続いて「認証情報に進む」をクリック。
- 認証情報画面で「作成」をクリック。
- 作成されたAPIキーをコピーして、google_maps_api.xmlの YOUR_KEY_HEREと書かれた行(例では16行目)に貼り付けます。
次に、多少面倒だけど、Google Maps API以外の Android用 APIキー取得にも使える汎用的な方法を紹介します。
- ブラウザで Google Developers Console を開きます。
- 「Google APIを利用する」をクリックして「API Manager」を開く。
- 左メニューの「認証情報」をクリック。
- 「新しい認証情報」のプルダウンリストから「APIキー」を選択
- 新しいキーの作成ダイアログが表示されたら「Androidキー」を選択
- キーの「名前」を設定して、「パッケージ名とフィンガープリントを追加」をクリック
- 「パッケージ名」と「SHA-1 証明書のフィンガープリント(取得方法は後述)」を入力したら「作成」をクリック
- 作成されたAPIキーをコピーして、google_maps_api.xmlの YOUR_KEY_HEREと書かれた行に貼り付けます。
SHA-1 証明書のフィンガープリントの詳細な取得方法は、下記ページに書かれています。
Get API Key | Maps SDK for Android | Google Developers
とりあえずリリース用は置いとくとして、デバッグ用のフィンガープリントは、コマンドプロンプトで、下記のコマンドを実行します。実行ディレクトリは、自分の場合、C:\Program Files\Java\jdk1.8.0_51\bin でした。
keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
実行結果のうち、SHA1:の後に続くコロンで区切られた2桁の16進数20個が「SHA-1 証明書のフィンガープリント」となります。
Step 5. Hello Map! Take a look at the code
とりあえず、以上の作業で Googleマップを表示するだけのアプリの出来上がり。実行すると、デフォルト状態の Googleマップが表示されます。
まだ何も手を加えてないので、地図を表示するだけです。
【参考サイト】
・Getting Started | Google Maps Android API | Google Developers
コメント
コメントなどありましたら、GitHubのディスカッションへお願いします。(書き込みには、GitHubのアカウントが必要です)