本篇文章同步发表在 HKT 线上教室 部落格,线上影音教学课程已上架至 Udemy 和 Youtube 频道。另外,想追踪更多相关技术资讯,欢迎到 脸书粉丝专页 按赞追踪喔~
范例名称:获取位置经纬度
开发人员:HKT (侯光灿)
程序语言:Kotlin
开发环境:Android Studio 4.1.2 & Android 11 & Kotlin 1.4.30
授权范围:使用时必须注明出处且不得为商业目的之使用
范例下载点:点我下载
今天要来跟大家介绍的是,如何使用新式 Fused Location Provider API 来获取经纬度座标位置。而 Fused Location Provider API 与旧式 LocationManager 相比,Google 官方声称,使用上更简单,让装置更省电且可以在更精准的情况下,定位出当下位置。
最後介绍如何透过网页版的 Google Map 来验证,我们获取出来的座标位置是否正确。
在 GRADLE (Module) 层级 dependencies 内加入:
implementation 'com.google.android.gms:play-services-location:17.0.0'
在获取到位置权限与确认GPS已开启後,加入获取经纬度方法
private fun getDeviceLocation() {
try {
if (locationPermissionGranted
) {
val locationRequest = LocationRequest()
locationRequest.priority = LocationRequest.PRIORITY_HIGH_ACCURACY
//更新频率
locationRequest.interval = 1000
//更新次数,若没设定,会持续更新
//locationRequest.numUpdates = 1
mLocationProviderClient.requestLocationUpdates(
locationRequest,
object : LocationCallback() {
override fun onLocationResult(locationResult: LocationResult?) {
locationResult ?: return
Log.d(
"HKT",
"纬度:${locationResult.lastLocation.latitude} , 经度:${locationResult.lastLocation.longitude} "
)
}
},
null
)
} else {
getLocationPermission()
}
} catch (e: SecurityException) {
Log.e("Exception: %s", e.message, e)
}
}
D/HKT: 纬度:25.0338483 , 经度:121.5645283
D/HKT: 纬度:25.0338483 , 经度:121.5645283
D/HKT: 纬度:25.0338483 , 经度:121.5645283
线上 Google Map 网页验证位置,需在搜寻栏位中输入「纬度, 经度」,如「25.0338483, 121.5645283」。
透过这样的方式,在搜寻栏位中,输入我们从装置中获取出来的座标位置,即可以验证我们的座标位置是否正确。
HKT 线上教室
https://tw-hkt.blogspot.com/
Freepik
https://www.freepik.com/
那今天【iThome 铁人赛】就介绍到这边罗~
顺带一提,KT 线上教室,脸书粉丝团,会不定期发布相关资讯,不想错过最新资讯,不要忘记来按赞,追踪喔!也欢迎大家将这篇文章分享给更多人喔。
我们明天再见罗!!!掰掰~
<<: Day 25 - Watch os 开发学习2(Button)
(图片来自 Google for Education) 2021 铁人赛又开赛啦 ! 继 2019...
协定的语法其实算是大量的使用在结构与类别中,尤其需要更底层的作用的时候,协定算是提供了一个共识,让程...
文章选自 作者:xiaohesong 连接:https://juejin.im/post/68449...
过往在进行云端部署时,有时候需要复制出多套一样的基础架构,例如包含VPC、VM、LoadBalan...
延续昨日 今天来使用一下我们的session吧!! 在mounted的范围接一下 session 这...