[Android] Google Mapに位置情報をFusedLocationApiからfeedする

Google Maps Activityを使えばGoogle MapのコードはできているのAPIの設定だけです。緯度経度を現実的な位置情報を表示させたい場合にはFusedLocationApiで使った位置情報の取得を組み合わせるとできます。

gmap_location_1

Android Studio 2.2.2
Android 7.0

 

sponsored link

setLocationSource

 
Google Mapの位置情報をFusedLocationApiから取得した位置情報に替えるためには、setLocationSourceを使ってdefaultのソースから変更する必要があります。Google APIs for Android

作成手順としては

  1. Google Map API v2 キーの取得
  2. MapsActivityを作成
  3. FusedLocationProviderApiを追加

となります。まず一番中心的なMapsActivityへのFusedLocationApiの部分を見てみます.

外部トリガーとしてGoogleMap.OnMyLocationButtonClickListenerを入れる事により、地図上に現在地を表示させるボタンを作成できます。

MapsActivity.java

 
Runtime Permissionを扱うので、Permission checkを起動時に入れます。ここでやっていることはPermissionのチェックをして許可すればMapActivityに飛んで地図の表示が始まるようにしています。

MainActivity.java

 
Permissionや起動activityの修正などです。package nameはそれぞれ自分のプロジェクトに合わせます。
AndroidManifest.xml

 
API keyを入れます
google_maps_api.xml

それぞれバージョンは環境に合わせてください
build.gradle(Module:app)

 

 
References:
Google APIs for Android
Google Maps location with low battery usage