android端没必要使用第三方地图的时候,可以直接使用 smart-location-lib 这个库:
kotlin代码自己可以改成java的
引入使用:
一、引入库:
implementation 'io.nlopez.smartlocation:library:3.3.3'
二、准备好使用的权限:
三、直接使用:
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
SmartLocation.with(this).location()
.start {
location ->
result.text = location.latitude.toString()
// 解析地址并显示 69
val geoCoder = Geocoder(this)
try {
val latitude = location.latitude
val longitude = location.longitude
val list = geoCoder.getFromLocation(latitude.toDouble(), longitude.toDouble(), 2)
for (i in list.indices) {
val address = list[i]
resultAddress.text = address.countryName
Toast.makeText(this, address.countryName + address.adminArea + address.featureName, Toast.LENGTH_LONG).show()
}
} catch (e: IOException) {
}
}
}
标签:定位,val,list,获取,location,address,latitude,android,main
来源: https://blog.csdn.net/u010326875/article/details/99566625