AndroidでGoogle Maps API v2を叩く時に地図が表示されない時に確認する設定
ハマったのでメモ。環境はAndroid Studio使った。改めてググって見ると
http://9ensan.com/blog/smartphone/android/google-maps-android-api-v2-sample/
の解説が一番丁寧でこの通りになっていれば出来る。
Activityは表示れているっぽいけど、画面が真っ白になっているときは
http://stackoverflow.com/questions/17491400/failed-to-load-map-error-contacting-google-servers-issue-with-android-google-ma
とかで書かれているけど、Logcatに
Could not find class 'com.google.android.gms.location.internal.ParcelableGeofence', referenced from method glt.a
とかのログが出ているので、その場合にでAndroidManifest.xmlで
- パーミッションが適切か(android.permissionだけじゃなくて、com.google.android.providers.gsf.permissionも)
- meta-detaやuses-featureもちゃんとセットされているか
- API KEYが正しくセットされているか(前のプロジェクトと使い回しをしたりした時にhttps://console.developers.google.com/project?authuser=0で登録したAPI KEYがそのプロジェクトで使える設定になっているか)
使いまわす場合は Android applications Any application allowed とかになっているか
などの確認をして問題が無いか確認しましょう。このエラーログでググるとstack overflowでヒットしまくるので、みんなもドハマりしている様ですね。
あと若干別件だが、build.gradeに
compile 'com.google.android.gms:play-services:+'
って書くと端末側がGooglePlayサービスのアップデートをしようとするけど何故かアップデート出来なくて永久にアプリちゃんと起動出来ない問題があったので、
compile 'com.google.android.gms:play-services:5.0.89'
って明示的にVer書いたら問題が出なくなったのもあった。