2016-11-24 105 views
0

我在應用程序中使用Google地圖,並使用自定義標記顯示用戶的位置。
我使用Fuse Location API接收位置更新,並在用戶位置發生更改時重新繪製標記。
它工作正常,但問題是如何實現我們可以看到默認標記(用戶的標記周圍半透明藍色動態圓)的精度圈? 畫圓不是問題,問題是如何獲取當前位置精度半徑。Google Maps自定義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

太棒了!非常感謝! –

相關問題