현재 위치의 위도와 경도를 알아야 한다면 GeoLocator 플러그인을 사용한다. 내 프로젝트에서는 현위치에서 마스크 재고가 있는 가까운 약국 순으로 보여주는 기능을 구현하는데 사용했다.
https://pub.dev/packages/geolocator
android/app/build.gradle에서 compileSdkVersion 33으로 고친다.
GeoLocator는 viewModel에서 구현해야 하는데,중요한 점은 Permission을 반드시 추가해야 한다는 점이다. android의 경우, AndroidManifest.xml 안에 해당 코드를 추가해준다.
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
해당 코드가 현재 위치를 나타낸다.현재 위치 좌표를 알고 싶으면 position.latitude / position.longitude를 사용하면 된다.
Position position = await Geolocator.getCurrentPosition(desiredAccuracy: LocationAccuracy.high);