首页 > 解决方案 > 使用随机纬度和经度而不是传递值的地理编码器

问题描述

我正在使用 FusedLocationProvider 获取位置,并尝试从纬度和经度获取完整地址。我得到了正确的值,但是当我将它们传递给 geocoder.getFromLocation 时,它们会变成一些俄罗斯的地方。我做错了什么还是只是地理编码器有问题?

locationCallback = object : LocationCallback() {
    override fun onLocationResult(locationResult: LocationResult?) {
        locationResult ?: return
        for (location in locationResult.locations) {

            latitude = location.latitude
            longitude = location.longitude
            Log.d("location","latitude: $latitude")
            Log.d("location","longitude: $longitude")

            addresses = geocoder.getFromLocation(latitude,longitude,1)
            Log.d("location",addresses.toString())
            address = addresses[0].getAddressLine(0)
        }
    }
}

日志:

D/location: latitude: 54.3835834
D/location: longitude: 18.586494
D/location: [Address[addressLines=[0:"Obwód wołogodzki, Rosja, 161445"],feature=161445,admin=Vologda Oblast,sub-admin=Nikolsky District,locality=null,thoroughfare=null,postalCode=161445,countryCode=RU,countryName=Rosja,hasLatitude=true,latitude=59.432300399999995,hasLongitude=true,longitude=44.93297,phone=null,url=null,extras=null]]

标签: androidkotlinreverse-geocodingandroid-fusedlocation

解决方案


推荐阅读