Android LocationClientを利用して位置情報を取得する際の注意点

Android

Android LocationClientを利用して位置情報を取得する際の注意点

LocationClientは位置情報を取得するためのクラスです。
https://developer.android.com/reference/com/google/android/gms/location/LocationClient.html

今の位置情報を取得するためには、

 mLocationClient = new LocationClient(this, this, this);
 //Google PlayサービスにConnectしてから
 mCurrentLocation = mLocationClient.getLastLocation();

とやれば取れるはずなのですが、ここに落とし穴があります。

それは他のLocationClientがすでにGoogle Playに接続していると、いくらgetLastLocation() をやっても現在位置が帰ってこない(nullで帰ってくる)、ということです。

これは結構悩んだので、ドキュメントに書いておいてほしかった…。(書いてあるのかもしれませんが、見落としてるんでしょうか?)

とりあえずは、一度Google Playサービスとの接続を切断して、また再接続すると、新しいLocationClientで現在位置が取得できるようになります。

参考:LocationClient getLastLocation() return null
http://stackoverflow.com/questions/16830047/locationclient-getlastlocation-return-null

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です