9
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Google Maps Androidの利用に必要なものがいろいろ増えてた

Last updated at Posted at 2014-08-16

久しぶりに用事があって、Android API プログラミング・リファレンス
のGoogle Maps Androidのサンプルを使ってみたのですが、エラーが出て全く動作しなくなってました。

いくつか設定を変更すると解決したので、とりあえずメモ。

メタデータを追加

まず一つ目は、メタデータの追加。このままの状態でアプリを起動すると、ログに次の文言が表示されます。

08-16 14:19:21.638: E/AndroidRuntime(30325): FATAL EXCEPTION: main
08-16 14:19:21.638: E/AndroidRuntime(30325): Process: jp.android.booksample.mapsample, PID: 30325
08-16 14:19:21.638: E/AndroidRuntime(30325): java.lang.RuntimeException: Unable to start activity ComponentInfo{jp.android.booksample.mapsample/jp.android.booksample.mapsample.MapActivity}: java.lang.IllegalStateException: The meta-data tag in your app's AndroidManifest.xml does not have the right value. Expected 5089000 but found 0. You must have the following declaration within the element:
・・・ 以下略 ・・・

詳しくはログの通りなのですが、Google Maps Androidを使う場合、いつのバージョンからかメタデータとして、新しい指定が必要になったようです。

  • 名前:com.google.android.gms.version・値:@integer/google_play_services_version

なので、書籍に書かれている「com.google.android.maps.v2.API_KEY」に加えて、メタデータとして「com.google.android.gms.version」を追加します。

メタデータを追加

権限の追加

次にアプリを起動すると、次のようなログが出力されました。

08-16 15:23:05.798: E/AndroidRuntime(12819): FATAL EXCEPTION: main
08-16 15:23:05.798: E/AndroidRuntime(12819): Process: jp.android.booksample.mapsample, PID: 12819
08-16 15:23:05.798: E/AndroidRuntime(12819): java.lang.RuntimeException: Unable to start activity ComponentInfo{jp.android.booksample.mapsample/jp.android.booksample.mapsample.MapActivity}: java.lang.SecurityException: The Maps API requires the additional following permissions to be set in the AndroidManifest.xml to ensure a correct behavior:
08-16 15:23:05.798: E/AndroidRuntime(12819): <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
08-16 15:23:05.798: E/AndroidRuntime(12819): <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

こちらも指示の通り、次の権限を追加します。

  • android.permission.ACCESS_NETWORK_STATE
  • android.permission.WRITE_EXTERNAL_STORAGE

権限の追加

このふたつを行うと、とりあえずアプリは今までどおり起動できるようになります。

アプリが動いた!

まとめ

というわけで、Google Maps Androidには以下の権限・メタデータが必要になったようです。動かないという人は、試してみてね。

メタデータ

  • 名前:com.google.android.gms.version・値:@integer/google_play_services_version

権限

  • android.permission.ACCESS_NETWORK_STATE
  • android.permission.WRITE_EXTERNAL_STORAGE
9
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?