【Android 入門開發實戰:口罩地圖】獲取位置經緯度
【Android 入門開發實戰:口罩地圖】線上免費講義課程目錄
添加 Fused Location Provider API 依賴庫 (dependencies)
在 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 網頁版驗證位置
線上 Google Map 網頁驗證位置,需輸入「緯度, 經度」,如「25.0338483, 121.5645283」。
程式碼範例
範例名稱:獲取位置經緯度
開發人員:HKT (侯光燦)
程式語言:Kotlin
開發環境:Android Studio 4.1.2 & Android 11 & Kotlin 1.4.30
授權範圍:使用時必須註明出處且不得為商業目的之使用
範例下載點:點我下載