// 根据经纬度获取地址 fun getAddressFromLocation(context: Context, latitude: Double, longitude: Double): String { val geocoder = Geocoder(context, Locale.getDefault()) val addresses: List<Address>? var addressText = "" try { addresses = geocoder.getFromLocation(latitude, longitude, 1) if (addresses != null && addresses.isNotEmpty()) { val address = addresses[0] val sb = StringBuilder() for (i in 0..address.maxAddressLineIndex) { sb.append(address.getAddressLine(i)).append("\n") } addressText = sb.toString().trim() } } catch (e: IOException) { e.printStackTrace() } return addressText } // 在你的 Activity 或 Fragment 中调用该方法 fun getMediaFilesFromGallery(contentResolver: ContentResolver, context: Context) { getAllMediaFiles(contentResolver, context) } 如何只获取市
时间: 2024-04-16 18:29:20 浏览: 143
要仅获取地址的市级信息,你可以修改 `getAddressFromLocation()` 方法来仅提取地址的市级部分。以下是修改后的代码:
```kotlin
// 根据经纬度获取市级地址
fun getCityFromLocation(context: Context, latitude: Double, longitude: Double): String {
val geocoder = Geocoder(context, Locale.getDefault())
val addresses: List<Address>?
var city = ""
try {
addresses = geocoder.getFromLocation(latitude, longitude, 1)
if (addresses != null && addresses.isNotEmpty()) {
val address = addresses[0]
city = address.locality ?: ""
}
} catch (e: IOException) {
e.printStackTrace()
}
return city
}
// 在你的 Activity 或 Fragment 中调用该方法
fun getMediaFilesFromGallery(contentResolver: ContentResolver, context: Context) {
getAllMediaFiles(contentResolver, context)
}
```
在 `getCityFromLocation()` 方法中,我们使用 `address.locality` 获取地址的市级信息。如果 `address.locality` 为 `null`,则将 `city` 设置为空字符串。
现在,当你调用 `getMediaFilesFromGallery()` 方法时,它会获取本地相册的所有图片和视频,并将每个文件的地址转换为市级信息。你可以根据需要对获取到的市级地址进行操作。
阅读全文