[flutter] GPS를 사용하여 플러터에서 현재 위치 가져오기

GPS를 사용하여 플러터에서 현재 위치 가져오기

안드로이드나 iOS 기기의 GPS 기능을 활용하여 플러터 앱에서 현재 위치를 가져오는 방법에 대해 알아보겠습니다.

1. 패키지 추가

먼저, geolocator 패키지를 사용하여 위치 서비스를 구현할 수 있습니다. pubspec.yaml 파일에 다음과 같이 패키지를 추가합니다.

dependencies:
  geolocator: ^7.6.2

변경 사항을 적용하기 위해 터미널에서 flutter pub get 명령어를 실행합니다.

2. 위치 권한 요청

앱이 위치 정보에 접근하려면 사용자의 위치에 대한 액세스 권한을 요청해야 합니다. 이를 위해 androidios 폴더의 매니페스트 파일에 위치 액세스 권한을 설정해야 합니다.

Android

AndroidManifest.xml 파일에 다음 줄을 추가하여 위치 액세스 권한을 설정합니다.

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

iOS

Info.plist 파일에 다음 줄을 추가하여 위치 액세스 권한을 설정합니다.

<key>NSLocationWhenInUseUsageDescription</key>
<string>사용자의 현재 위치를 확인하기 위해 권한이 필요합니다.</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>사용자의 현재 위치를 확인하기 위해 권한이 필요합니다.</string>

3. 위치 가져오기

이제 플러터 코드에서 geolocator 패키지를 사용하여 현재 위치를 가져올 수 있습니다.

import 'package:geolocator/geolocator.dart';

void getLocation() async {
  Position position = await Geolocator.getCurrentPosition(
    desiredAccuracy: LocationAccuracy.high,
  );
  print('현재 위치: ${position.latitude}, ${position.longitude}');
}

위 코드는 getCurrentPosition 메서드를 사용하여 현재 위치를 가져옵니다. 원하는 정확도를 설정할 수 있으며, 위치 정보를 가져온 후에는 해당 정보를 사용하여 필요한 작업을 수행할 수 있습니다.


위와 같이 geolocator 패키지를 사용하여 플러터에서 GPS를 이용하여 현재 위치를 가져오는 방법을 알아보았습니다. 위치 서비스를 구현할 때에는 사용자의 개인 정보 보호를 고려하여 권한을 적절히 관리하는 것이 중요합니다.