获取 google 地图准确位置

Get google map accurate location

我有以下代码 return 用户当前位置,但位置不准确

lateinit var mFusedLocationClient: FusedLocationProviderClient

override fun onCreateView(...) {....}

    @SuppressLint("MissingPermission")
    private fun getLastLocation() {
        mFusedLocationClient.lastLocation
            .addOnCompleteListener(requireActivity()) { task ->
                if (task.isSuccessful && task.result != null) {
                    mLastLocation = task.result
                    mMap.isMyLocationEnabled = true
                    val driverLatLng = LatLng(mLastLocation.latitude, mLastLocation.longitude)
                    markerOptions.position(driverLatLng).title("Your location").icon(
                        BitmapDescriptorFactory.fromBitmap(
                            driverIcon()
                        )
                    )
                    mMap.addMarker(markerOptions)
                } else {
                    Log.w("location", "getLastLocation:exception", task.exception)
                }
            }
    }

问题

  1. 如何使当前位置更准确
  2. 如何让蓝色圆圈变小,覆盖当前定位针(标记)周围?

问题 1)

如果您不要求尽可能高的准确度,则需要将其设置为该值:

LocationRequest.PRIORITY_HIGH_ACCURACY

这样提供商应该使用设备 GPS(如果可用)而不是 Wi-Fi/cell 塔。 官方文档 here. A code sample using high accuracy can be found here.

问题2)

如果我答对了你的问题,圆圈代表当前位置的准确性,所以如果圆圈的精度更高,我想圆圈会变小。您只需要尽可能准确地尝试一下(只需确保设备的 GPS 正在使用并且信号良好)