私のアンドロイドアプリでは、以下のコードを使用してユーザーの現在地を取得しています。アンドロイド - 位置情報の更新を停止する
private void getDeviceLocation() {
Boolean mLocationPermissionGranted = //ask for permission and stuff
if (mLocationPermissionGranted) { //if permission granted
mCurrentLocation = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient);
LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocationRequest, this);
}
}
私は私のonLocationChanged
メソッドの内部I removeLocationUpdates
ので1回の位置更新をしたいです。それをやって
@Override
public void onLocationChanged(Location location) {
mCurrentLocation = location;
LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleApiClient, this);
}
はonLocationChanged
メソッドを呼び出して停止しますが、私は私の場所はまだ今までに数秒を変え続け地図で見ます。精度半径は増減し続けます。私はそれを望んでいない。私は "青い点"が安定し、動かないようにしたい。
必要なものをあなたが持っているかもしれない、このsampleをチェック'mGoogleMap.setMyLocationEnabled(true); 'を使用しました。この機能により、Googleマップはあなたのコードなしでユーザーの場所にアクセスできます。それはできないので、役に立つことができます。 – Gorcyn
@Gorcyn ya、私は 'setMyLocationEnabled(true)'を使用しましたが、それをfalseに設定するだけで "青い点"が削除されます。問題はまだそこにある –