Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用不起作用的Android Kotlin地理编码将latlang转换为地址_Android_Google Maps_Kotlin_Geolocation_Google Geocoder - Fatal编程技术网

使用不起作用的Android Kotlin地理编码将latlang转换为地址

使用不起作用的Android Kotlin地理编码将latlang转换为地址,android,google-maps,kotlin,geolocation,google-geocoder,Android,Google Maps,Kotlin,Geolocation,Google Geocoder,这是我的职责 private fun getAddress(latLng: LatLng): String { val geocoder = Geocoder(this) val addresses: List<Address>? val address: Address? var addressText = "" try { addresses = geocoder.getFr

这是我的职责

private fun getAddress(latLng: LatLng): String {
        val geocoder = Geocoder(this)
        val addresses: List<Address>?
        val address: Address?
        var addressText = ""

        try {
            addresses = geocoder.getFromLocation(latLng.latitude, latLng.longitude, 1)
            if (null != addresses && !addresses.isEmpty()) {
                address = addresses[0]
                for (i in 0 until address.maxAddressLineIndex) {
                    addressText += if (i == 0) address.getAddressLine(i) else "\n" + address.getAddressLine(
                        i
                    )
                }
            }
        } catch (e: IOException) {
            Log.e("MapsActivity", e.localizedMessage)
        }

        return addressText
}
输出没有显示任何内容。 我免费使用API,或者需要主动计费才能使用它


2019-11-30 09:23:28.224 7918-7918/E/SchedPolicy:set\u timer缺少写入失败:不允许操作

您可以将getAddress函数更改为

private fun getAddress(lat: Double, lng: Double): String {
    val geocoder = Geocoder(this)
    val list = geocoder.getFromLocation(lat, lng, 1)
    return list[0].getAddressLine(0)
}
那么调用该方法的示例如下

val lat  = dataVar.get(0).lat!!.toDouble()
val lang = dataVar.get(0).lng!!.toDouble()

val latLang = LatLng(lat, lang)

address.text = getAddress(latLang)
val lat = -7.316463
val lng = 112.748348

val address = getAddress(lat, lng)
// use address variable for your purpose

询问谷歌服务的问题。如果你只使用地图,它现在是免费的。如果您使用的是PlacesAPI,则需要启用帐户计费。这可能有助于开始启用您的账单

请使用编辑器内联发布您的代码,点击多个图像会使其他人很难全面分析您的代码。另外,日志输出什么?我还想知道您传递给函数的“it”值是否有效,是否有该数据的示例(可能还需要记录该数据并让我们知道输出)。