【问题标题】:Google Maps custom MyLocation marker with accuracy level具有准确度级别的 Google 地图自定义 MyLocation 标记
【发布时间】:2016-11-24 15:41:46
【问题描述】:

我在应用程序中使用 Google 地图并使用自定义标记显示用户的位置。
我使用 Fuse Location API 接收位置更新,并在用户位置更改时重新绘制标记。
它工作正常,但问题是如何实现我们可以在默认标记上看到的精确圆圈(用户标记周围的半透明蓝色动态圆圈)? 画圆不是问题,问题是如何得到当前的定位精度半径。

提前感谢您的任何建议。

还有一些关于它当前如何工作的代码:

 // 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();
    }

【问题讨论】:

    标签: android google-maps


    【解决方案1】:

    您可以使用Location.getAccuracy 方法。来自the documentation

    获取此位置的估计精度,以米为单位。

    我们将准确度定义为 68% 置信度的半径。换句话说,如果你以这个位置的经纬度为中心画一个圆,半径等于精度,那么有 68% 的概率是真正的位置在这个圆内。

    因此,您可以使用返回值作为以该位置为中心的圆的半径来绘制一个近似精确的圆。

    【讨论】:

    • 太棒了!非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-05
    • 1970-01-01
    • 1970-01-01
    • 2011-08-22
    • 2012-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多