когда принимаешь разрешения, то грузится только карта без текущего местоположения. Интересно, в чем может быть причина?
Вот функции:
@SuppressLint("MissingPermission")
private fun getLastLocation() {
fusedLocationProviderClient.lastLocation
.addOnSuccessListener { location: Location? ->
location?.let {
val userLocation = LatLng(
location.latitude,
location.longitude
)
updateMapLocation(userLocation)
addMarkerAtLocation(userLocation, "You")
}
}
}
private fun updateMapLocation(location: LatLng) {
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(location, 7f))
}
private fun addMarkerAtLocation(location: LatLng, title: String) {
mMap.addMarker(MarkerOptions().title(title).position(location))
}
И вот здесь вызываю:
// Запрашиваем разрешение или получаем текущее местоположение пользователя,
// как только карта будет готова.
override fun onMapReady(googleMap: GoogleMap) {
mMap = googleMap
if (hasLocationPermission()) {
getLastLocation()
} else {
requestPermissionWithRationaleIfNeed()
}
}
Остальную часть кода показывать думаю нет смысла, там все работает. Проблема только в местоположении. И API для карт прописал сразу в Манифесте.
Еще надо mMap. isMyLocationEnabled=true
В методе onMapReady?
Книгу читаю 2021 года. Там есть рабочий пример, но спустя год наверно что-то поменялось. Потому что я наподобие сделал чтобы разобраться, но все равно что-то связанное с местоположением упускаю. У тебя случайно на гитхабе нет работающего примера с Google Maps, я постарался бы разобраться?
у меня есть сейчас буду гитовать
Буду благодарен 👍
https://gitlab.com/dakillyam/maps-with-routes на тут с маршрутами, но они не работают щас)
Ниче, спасибо. Мне главное чтобы местоположение показывала 👍
Обсуждают сегодня