[flutter] RaisedButton을 사용해 위치 정보 확인

Flutter는 Google에서 개발한 오픈 소스 UI 프레임워크로, 다양한 플랫폼에서 동작하는 애플리케이션을 개발할 수 있습니다. 이번 글에서는 Flutter의 RaisedButton 위젯을 사용하여 위치 정보를 확인하는 방법에 대해 알아보겠습니다.

위치 권한 설정하기

먼저 애플리케이션이 사용자의 위치 정보에 접근할 수 있도록 위치 권한을 설정해야 합니다. Flutter에서 위치 권한을 설정하기 위해서는 다음과 같은 단계를 따르면 됩니다.

  1. pubspec.yaml 파일에 geolocator 패키지를 추가합니다. 해당 패키지는 위치 정보에 접근할 수 있는 강력한 기능을 제공합니다.

    dependencies:
      geolocator: ^7.1.1
    
  2. 패키지를 설치하기 위해 터미널에서 다음 명령어를 실행합니다.

    flutter pub get
    
  3. AndroidManifest.xml 파일에 위치 권한을 추가합니다.

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    
  4. 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 패키지의 다양한 기능을 활용해보시기 바랍니다.

참고: