android 获取当前定位信息

android端没必要使用第三方地图的时候,可以直接使用 smart-location-lib 这个库:

https://github.com/mrmans0n/smart-location-lib      

kotlin代码自己可以改成java的

引入使用:

一、引入库:

implementation 'io.nlopez.smartlocation:library:3.3.3'

二、准备好使用的权限:

    <!-- 网络权限 -->
    <uses-permission android:name="android.permission.INTERNET" />
    <!-- 用于进行网络定位 -->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <!-- 用于访问GPS定位 -->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <!-- 用于获取wifi的获取权限,wifi信息会用来进行网络定位 -->
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

  6.0以上动态权限的申请自行处理 ( https://www.jianshu.com/p/6e306729bb0d )

三、直接使用:

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) {
                    }
                }
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

漠天515

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值