[flutter] 플러터에서 위치 정보를 이용한 가까운 공원 찾기 앱 만들기

플러터를 사용하여 모바일 앱을 개발하는 것은 즐거운 작업일 수 있습니다. 이번에는 위치 정보를 활용하여 가까운 공원을 찾는 앱을 만들어 보려고 합니다.

구현 내용

  1. 사용자의 현재 위치를 가져오기
  2. 위치 정보를 기반으로 가까운 공원 데이터 가져오기
  3. 지도에 위치 표시하기
  4. 추가 기능: 공원에 관한 상세 정보 표시하기

사용할 패키지

이 프로젝트에서는 다음과 같은 플러터 패키지를 사용할 것입니다:

dependencies:
  geolocator: ^7.6.2
  http: ^0.14.0
  google_maps_flutter: ^2.1.1

위치 정보를 가져오기 위해선 androidios의 매니페스트 파일과 권한 설정이 필요합니다.

코드 예시

사용자의 현재 위치 가져오기

import 'package:geolocator/geolocator.dart';

Position position = await Geolocator.getCurrentPosition(desiredAccuracy: LocationAccuracy.high);

공원 데이터 가져오기

import 'package:http/http.dart' as http;

var response = await http.get(Uri.parse('https://api.example.com/parks?lat=${position.latitude}&lng=${position.longitude}'));

지도에 위치 표시하기

import 'package:google_maps_flutter/google_maps_flutter.dart';

GoogleMapController mapController;

GoogleMap(
  onMapCreated: (controller) {
    mapController = controller;
  },
  initialCameraPosition: CameraPosition(
    target: LatLng(position.latitude, position.longitude),
    zoom: 14.0,
  ),
  markers: {
    Marker(
      markerId: MarkerId('currentPosition'),
      position: LatLng(position.latitude, position.longitude),
      infoWindow: InfoWindow(title: '현재 위치'),
    ),
  },
)

결론

위치 정보를 활용하여 가까운 공원을 찾는 앱을 만들 수 있었습니다. 플러터를 사용하면 다양한 기능을 쉽게 구현할 수 있으며, 사용자에게 편리한 서비스를 제공할 수 있습니다.

Geolocator 패키지 문서
Google Maps Flutter 패키지 문서

이번에는 간단한 예시일 뿐이지만, 실제 앱을 개발할 때에는 보다 신중한 접근과 보안에 주의해야 합니다.