[flutter] 플러터에서 위치 정보를 이용한 가까운 공원 찾기 앱 만들기
플러터를 사용하여 모바일 앱을 개발하는 것은 즐거운 작업일 수 있습니다. 이번에는 위치 정보를 활용하여 가까운 공원을 찾는 앱을 만들어 보려고 합니다.
구현 내용
- 사용자의 현재 위치를 가져오기
- 위치 정보를 기반으로 가까운 공원 데이터 가져오기
- 지도에 위치 표시하기
- 추가 기능: 공원에 관한 상세 정보 표시하기
사용할 패키지
이 프로젝트에서는 다음과 같은 플러터 패키지를 사용할 것입니다:
geolocator
: 사용자의 현재 위치 가져오기http
: 웹에서 공원 데이터 가져오기google_maps_flutter
: 지도에 위치 표시하기
dependencies:
geolocator: ^7.6.2
http: ^0.14.0
google_maps_flutter: ^2.1.1
위치 정보를 가져오기 위해선 android
와 ios
의 매니페스트 파일과 권한 설정이 필요합니다.
코드 예시
사용자의 현재 위치 가져오기
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 패키지 문서
이번에는 간단한 예시일 뿐이지만, 실제 앱을 개발할 때에는 보다 신중한 접근과 보안에 주의해야 합니다.