MapFragment

Androidアプリ上で地図を扱う場合、Google Maps Android APIを使う。

Add maps  |  Android Developers

以前はMapViewがあったが、現在は利用できないのでMapFragmentを使う。

これ
これ

で、まず前回JavaScript APIのキーを作成したが、それをAndroidで使うようにする。

Androidアプリ制限とkeytool
Androidアプリ制限とkeytool

Androidアプリに制限するのと、keytoolを使って、パッケージ名とフィンガープリントを登録しないといけない。
まずはプロジェクトを作成する。

プロジェクト作成
プロジェクト作成

Android Studioでプロジェクト作成。

Empty
Empty

Emptyで作成。

AppCompatなし
AppCompatなし

ここはAppCompatなし。

Project Structure
Project Structure

Project Structureで、

依存ライブラリ追加
依存ライブラリ追加

依存ライブラリ追加。

追加する
追加する

何かというと、

Google Play Services
Google Play Services

Google Play Services。

追加完了
追加完了

こうなる。
プロジェクトができたら、

C:\Users\bg1>keytool -list -v -keystore C:\Users\bg1\.android\debug.keystore -alias androiddebugkey -storepass android -keypass android
別名: androiddebugkey
作成日: 2016/02/05
エントリ・タイプ: PrivateKeyEntry
証明書チェーンの長さ: 1
証明書[1]:
所有者: CN=Android Debug, O=Android, C=US
発行者: CN=Android Debug, O=Android, C=US
シリアル番号: xxxxxxxx
有効期間の開始日: Fri Feb 05 11:56:43 JST 2016終了日: Sun Jan 28 11:56:43 JST 2046
証明書のフィンガプリント:
         MD5:  XX:XX
         SHA1: XX:XX
         SHA256: XX:XX
         署名アルゴリズム名: SHA256withRSA
         バージョン: 3

拡張:

#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: XX
0010: XX
]
]


C:\Users\bg1>

keytoolでこのようなコマンドを実行し、SHA1の16進数を、

パッケージ名とフィンガープリント
パッケージ名とフィンガープリント

このように追加する。

あとは、プロジェクトに戻って、activity_main.xmlを、

こうする。MapFragmentを配置。

MapFragment  |  Google APIs for Android  |  Google Developers

MainActivity.javaは、

このように書く。

Androidアプリ上での地図表示
Androidアプリ上での地図表示

このようにマップが非同期で表示される。

Sample/gmapsandroid/MapFragment/MPF/MPF_ at master · bg1bgst333/Sample · GitHub