2016-11-24 13 views
0

私はアプリケーションでGoogleマップを使用しており、カスタムマーカーでユーザーの場所を表示しています。
ヒューズロケーションAPIを使用して位置の更新を受け取り、ユーザーの場所が変更されたときにマーカーを再描画するだけです。
正常に動作しますが、質問はどのようにデフォルトマーカー(ユーザーのマーカーの周りの半透明の青い動的円)で見ることができる精度円を実装するのですか? 円を描くことは問題ではありませんが、現在の位置精度の半径を取得する方法が問題です。正確なレベルのGoogleマップカスタムMyLocationマーカー

アドバイスはありがとうございます。

そして、それが現在どのように機能するかについていくつかのコード:

// here is the Api client 
private synchronized void buildGoogleApiClient() { 
     Log.i(LOG_TAG, "Building GoogleApiClient"); 
     mGoogleApiClient = new GoogleApiClient.Builder(this) 
       .addConnectionCallbacks(this) 
       .addOnConnectionFailedListener(this) 
       .addApi(LocationServices.API) 
       .build(); 
     createLocationRequest(); 
    } 


    protected void createLocationRequest() { 
     mLocationRequest = new LocationRequest(); 
     mLocationRequest.setInterval(UPDATE_INTERVAL_IN_MILLISECONDS); 
     mLocationRequest.setFastestInterval(FASTEST_UPDATE_INTERVAL_IN_MILLISECONDS); 
     mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY); 
     } 

    @Override 
    public void onLocationChanged(Location location) { 
     // update user location (redraw marker and animate camera) 
     updateMyLocation(); 
    } 

答えて

2

あなたはLocation.getAccuracyメソッドを使用することができます。からthe documentation

この場所の推定精度をメートルで取得します。

精度を半径68%と定義しています。言い換えれば、この位置の緯度と経度を中心とする円を描画し、その半径が精度と等しい場合、真の位置が円の内側にある確率は68%です。

円の半径は近似精度の円を描くようにその位置を中心としてこのように、あなたは戻り値を使用することができます。

+0

素晴らしい!どうもありがとうございます! –

関連する問題