yii.
← Writing
Flutter 技術 · · 2 min read

Flutter | 取得定位經緯度 | 輕鬆使用包好的工具類 | GeoLocator

這篇寫於 2020 年。工具和 API 變化很快,部分步驟可能已經不適用。

持續的學習紀錄

Library#

geolocator | Flutter PackageA Flutter geolocation plugin which provides easy access to platform specific location services (…pub.dev

安裝:

geolocator: ^5.3.2+2

工具類(GeoUtil)#

  1. 產生Geolocator的實體
  2. 需要Subscription將在偵測位置的Stream記錄下來

isReady():檢查位置服務是否有正常運行,只要是沒有權限和未開啟,都是還沒準備好,使用後取得返回值來執行後續動作


getCurrentPosition():取得目前的位置,返回Position,包含經緯度資訊


getLastKnownPosition():取得最後偵測到的位置,返回Position,可能在沒有位置服務時會想了解最後的位置資訊


startDetectingPosition(Function, Function(Position)):持續偵測變動的位置,設為高精度,可以自訂大概幾公尺以上的變動才通知,有偵測到位置資訊的話就透過onDetect方法(Closure)通知使用者


distanceBetween(double, double, double, double):計算兩點的距離


addressToPlacemark(String):地址轉座標


coordinatesToPlacemark(double, double):經緯度轉座標


cancel():在不需要服務的時候停止並釋放資源


最後#

希望此篇紀錄能有效幫助到你,可以繼續將常用功能包起來,使開發效率提升,如果有什麼想法都能跟我討論與分享,一起學習成長吧!
IG:https://www.instagram.com/chyiiiiiiiiiiii/

本文原刊登於 Medium。