[flutter] 플러터에서 위치 정보를 이용한 근처 병원 검색 앱 만들기
플러터는 Google에서 개발한 크로스 플랫폼 모바일 애플리케이션 프레임워크로, 단일 코드베이스로 안드로이드 및 iOS 애플리케이션을 개발할 수 있습니다. 이번 블로그에서는 플러터를 사용하여 사용자의 위치 정보를 활용하여 근처 병원을 검색하는 앱을 만들어보겠습니다.
필수 요소
이 프로젝트를 만들기 위해선 몇 가지 필수 요소가 필요합니다.
- 플러터 SDK: 플러터 프레임워크와 도구를 설치하고 설정합니다.
- Google 지도 API 키: Google Cloud Platform에서 API 키를 생성하고 설정합니다.
- 위치 액세스 권한: 사용자의 위치 정보를 가져오기 위해 앱에서 위치 액세스 권한을 요청해야 합니다.
프로젝트 설정
우선, 새로운 플러터 프로젝트를 생성합니다. 그리고, google_maps_flutter
패키지를 pubspec.yaml
에 추가하여 Google 지도를 사용할 수 있도록 합니다.
dependencies:
flutter:
sdk: flutter
google_maps_flutter: ^2.0.5
그리고, Google 지도 API 키를 가져와 AndroidManifest.xml
및 Info.plist
파일에 설정합니다.
위치 정보 가져오기
사용자의 위치 정보를 가져오기 위해, geolocator
패키지를 사용합니다. 이 패키지를 pubspec.yaml
에 추가합니다.
dependencies:
flutter:
sdk: flutter
google_maps_flutter: ^2.0.5
geolocator: ^7.6.2
그리고 사용자의 위치를 가져오는 기능을 구현합니다.
import 'package:geolocator/geolocator.dart';
void getLocation() async {
Position position = await Geolocator.getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
print(position.latitude);
print(position.longitude);
}
주변 병원 검색
Google Places API를 사용하여 주변 병원을 검색합니다. google_place
패키지를 pubspec.yaml
에 추가합니다.
dependencies:
flutter:
sdk: flutter
google_maps_flutter: ^2.0.5
geolocator: ^7.6.2
google_place: ^2.2.0
그리고 아래와 같이 사용자의 위치를 기준으로 주변 병원을 검색합니다.
import 'package:google_place/google_place.dart';
void searchNearbyHospitals(double lat, double lng) async {
GooglePlace googlePlace = GooglePlace(apiKey: 'YOUR_API_KEY');
var result = await googlePlace.search.getNearBySearch(
Location(lat: lat, lng: lng),
Radius: 5000,
type: 'hospital'
);
print(result);
}
이제 위의 단계를 따라하면 사용자의 위치 정보를 활용하여 근처 병원을 검색하는 플러터 앱을 만들 수 있습니다. 다양한 기능을 추가하여 사용자가 병원을 검색하고 예약할 수 있도록 확장할 수 있습니다.
Happy coding! 🚀
참고 문헌: