[flutter] 플러터에서 위치 정보를 이용한 근처 병원 검색 앱 만들기

플러터를 사용하여 위치 정보를 활용하여 근처의 병원을 검색하는 애플리케이션을 만들어보려고 합니다. 이를 위해 Google Maps API와 Flutter의 Geolocator 패키지를 사용할 것입니다.

목표

필요한 패키지

이 프로젝트를 위해 다음 패키지들이 필요합니다.

dependencies:
  flutter:
    sdk: flutter
  google_maps_flutter: ^2.0.1
  geolocator: ^7.6.2
  http: ^0.14.0

Google Maps API 설정

Google Cloud Console에서 프로젝트를 생성하고 Maps JavaScript API와 Places API를 활성화합니다. API 키를 생성하고 애플리케이션에 적용합니다.

위치 권한과 서비스 권한 추가

앱이 위치 정보에 접근하기 위해서는 안드로이드와 iOS에서 위치 권한과 서비스 권한을 추가해야 합니다.

위치 정보 가져오기

Geolocator 패키지를 사용하여 사용자의 현재 위치를 가져옵니다.

import 'package:geolocator/geolocator.dart';

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

지도에 현재 위치 표시

Google Maps 패키지를 사용하여 지도에 현재 위치를 표시합니다.

GoogleMap(
  initialCameraPosition: CameraPosition(target: LatLng(currentPosition.latitude, currentPosition.longitude), zoom: 15),
  markers: Set<Marker>.of([Marker(markerId: MarkerId('current'), position: LatLng(currentPosition.latitude, currentPosition.longitude)]),
)

주변 병원 검색

Nearby Search API를 사용하여 주변의 병원을 검색하고 지도에 표시합니다.

String getNearbyHospitalsUrl = 'https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=${currentPosition.latitude},${currentPosition.longitude}&radius=1500&type=hospital&key=YOUR_API_KEY';

마치며

이제 플러터를 사용하여 위치 정보를 활용하여 근처의 병원을 검색하는 애플리케이션을 만들기 위한 기본적인 개요를 살펴보았습니다. 다양한 기능과 UI 요소들을 추가하여 완성도 있는 앱을 만들어보세요.