【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
授權範圍:使用時必須註明出處且不得為商業目的之使用
範例下載點:點我下載