Androidアプリ上で地図を扱う場合、Google Maps Android APIを使う。
以前はMapViewがあったが、現在は利用できないのでMapFragmentを使う。
で、まず前回JavaScript APIのキーを作成したが、それをAndroidで使うようにする。
Androidアプリに制限するのと、keytoolを使って、パッケージ名とフィンガープリントを登録しないといけない。
まずはプロジェクトを作成する。
Android Studioでプロジェクト作成。
Emptyで作成。
ここはAppCompatなし。
Project Structureで、
依存ライブラリ追加。
何かというと、
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は、
このように書く。
このようにマップが非同期で表示される。
Sample/gmapsandroid/MapFragment/MPF/MPF_ at master · bg1bgst333/Sample · GitHub