Я новичок в FusedLocationProviderClient
API. У меня есть карта Google с включенным местоположением. Маркер отображается на карте, а карта увеличивается до местоположения onCreate
. Если пользователь перемещается, маркер перемещается, а карта - нет.
Я хочу, чтобы карта перецентрировалась, если пользователь сдвинулся на 5 метров. Я предполагаю, что это делается с помощью обновлений местоположения, но я могу видеть только временные интервалы, а не расстояние.
Вот мой код:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main_navigation_home)
val mapFragment = supportFragmentManager
.findFragmentById(R.id.map) as SupportMapFragment
mapFragment.getMapAsync(this)
fusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(this)
fusedLocationProviderClient.lastLocation.addOnSuccessListener (this){location ->
getLocation(location)
}
}
override fun onMapReady(googleMap: GoogleMap) {
map = googleMap
//function for permissions
setupMap()
}
fun getLocation(location: Location){
map.isMyLocationEnabled = true
if (location != null){
lastLocation = location
val currentLatLon = LatLng(lastLocation.latitude, lastLocation.longitude)
map.animateCamera(CameraUpdateFactory.newLatLngZoom(currentLatLon, 12f))
}
}
Я ценю любую помощь.