GPS周り
現在地を取得するのに、
参考書とか読むと
LocationManager locationManager = (LocationManager) this
.getSystemService(Context.LOCATION_SERVICE);
locationManager.getLastKnownLocation("gps");
とかやってる。
こうすると、過去に取得した位置情報を取得してしまうみたい。
(位置情報が変わったときに対応できない)
getLastKnownLocation()を使う代わりに
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0,this);
を使うと、現在地が取得できる。
※LocationListenerインタフェースで定義している
onLocationChanged(Location location)をオーバーライドして任意の
処理を書きましょう。
(locationから値を取り出すなり。。。)
ちなみに自分は
@Override
public void onLocationChanged(Location location) {
myLocate = location;
}
ってしておきました。
※mylocateはLocation型のクラス変数
そんな感じで、GPSはけっこうハマりました。
MyLocationOverlayってクラスを使えば、LocationListnerの実装をしなくても現在地が取得できるみたいです。
それは、またの機会に。