2017-04-17 4 views
2

Google Map V2 Androidで青い点の更新を防ぐ方法は?私は、コードを次している

private long fasterIntervalTime = 1 * 5 * 1000; 
private long intervalTime = 1 * 20 * 1000; 
private LocationRequest mLocationRequest; 

public boolean getLocation() {  
    mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY); 
    mLocationRequest.setNumUpdates(1); 
    mLocationRequest.setInterval(intervalTime); 
    mLocationRequest.setFastestInterval(fasterIntervalTime); 
    LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocationRequest, this); 
} 

@Override 
public void onLocationChanged(Location location) { 
    Log.d(TAG, "Getting location : " + (location == null)); 
    if (mGoogleApiClient.isConnected()) { 
     LocationServices.FusedLocationApi.removeLocationUpdates(
       mGoogleApiClient, this); 
    } 
} 

青い点を防止するために、どのようには、Googleマップで速すぎて、更新していますか?

青の点の位置が変更された場合、onLocationChangedは呼び出されません。

+0

は、あなたのクラスでLocationListenerを実装している?呼び出すためsetNumUpdatesを削除 – Bhavnik

+0

ええ、私は長いlatを得ることができ、多くのクラスを含むのでコードをコピーすることはできません。 – Rendy

+0

これで問題ありません。コードからsetNumUpdatesメソッドを削除してみてください。これは、場所の更新が1回だけになるためです。このAndroidの公式ドキュメントを読んでください: - https://developers.google.com/android/reference/com/google/android/gms/location/LocationRequest.html#setNumUpdates(int) – Bhavnik

答えて

0
//stop location updates 
if (mGoogleApiClient != null) { 
    LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleApiClient, this); 
} 

それは一度だけ

関連する問題