Flutter는 Google에서 개발한 오픈 소스 UI 프레임워크로, 다양한 플랫폼에서 동작하는 애플리케이션을 개발할 수 있습니다. 이번 글에서는 Flutter의 RaisedButton 위젯을 사용하여 위치 정보를 확인하는 방법에 대해 알아보겠습니다.
위치 권한 설정하기
먼저 애플리케이션이 사용자의 위치 정보에 접근할 수 있도록 위치 권한을 설정해야 합니다. Flutter에서 위치 권한을 설정하기 위해서는 다음과 같은 단계를 따르면 됩니다.
-
pubspec.yaml
파일에geolocator
패키지를 추가합니다. 해당 패키지는 위치 정보에 접근할 수 있는 강력한 기능을 제공합니다.dependencies: geolocator: ^7.1.1
-
패키지를 설치하기 위해 터미널에서 다음 명령어를 실행합니다.
flutter pub get
-
AndroidManifest.xml
파일에 위치 권한을 추가합니다.<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
-
Info.plist
파일에 위치 권한을 추가합니다.<key>NSLocationWhenInUseUsageDescription</key> <string>이 앱은 위치 정보를 사용합니다.</string>
위치 권한 설정이 완료되었다면, 이제 RaisedButton 위젯을 사용하여 위치 정보를 확인하는 기능을 구현해보겠습니다.
RaisedButton으로 위치 정보 확인하기
다음은 RaisedButton을 사용하여 위치 정보를 확인하는 간단한 예제 코드입니다.
import 'package:flutter/material.dart';
import 'package:geolocator/geolocator.dart';
class LocationScreen extends StatefulWidget {
@override
_LocationScreenState createState() => _LocationScreenState();
}
class _LocationScreenState extends State<LocationScreen> {
String _location = "";
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('위치 정보 확인'),
),
body: Center(
child: RaisedButton(
onPressed: () async {
Position position = await Geolocator.getCurrentPosition(
desiredAccuracy: LocationAccuracy.high,
);
setState(() {
_location =
'위도: ${position.latitude}\n경도: ${position.longitude}';
});
},
child: Text('위치 정보 확인'),
),
),
bottomNavigationBar: BottomAppBar(
child: Container(
padding: EdgeInsets.all(16.0),
child: Text(_location),
),
),
);
}
}
위 코드는 위치 정보를 확인할 수 있는 페이지를 생성하는 StatefulWidget을 구현한 예제입니다. RaisedButton 위젯을 터치하면 Geolocator 패키지를 사용하여 현재 위치 정보를 얻고, 화면에 표시합니다.
페이지 내에서 위치 정보를 표시하기 위해 BottomAppBar를 사용하여 _location 값을 출력하도록 설정했습니다.
이와 같이 RaisedButton을 통해 위치 정보를 확인할 수 있습니다.
결론
Flutter의 RaisedButton 위젯을 사용하여 위치 정보를 확인하는 방법에 대해 알아보았습니다. 이를 통해 간단한 위치 기반 애플리케이션을 개발할 수 있습니다. 추가로 위치 정보를 활용한 서비스를 개발한다면, Geolocator 패키지의 다양한 기능을 활용해보시기 바랍니다.
참고: