모바일 앱에서 위치 정보를 활용하여 근처의 카페를 검색하는 기능은 사용자들에게 유용한 기능 중 하나입니다. 플러터를 사용하여 위치 정보를 획득하고, 이를 기반으로 근처 카페를 검색하는 간단한 앱을 만들어보겠습니다.
필요한 패키지 설치
먼저, 위치 정보 및 지도 기능을 사용하기 위해 다음과 같은 패키지들을 pubspec.yaml
파일에 추가합니다.
dependencies:
flutter:
sdk: flutter
location: ^4.3.0
google_maps_flutter: ^2.0.6
위의 패키지들은 각각 사용자의 현재 위치 정보를 가져오기 위한 location
패키지와 지도를 표시하기 위한 google_maps_flutter
패키지입니다.
위치 정보 가져오기
먼저, 사용자의 위치 정보를 가져와야 합니다. location
패키지를 사용하여 위치 정보를 가져오는 코드는 다음과 같습니다.
import 'package:location/location.dart';
Location location = Location();
LocationData? _currentLocation;
Future<void> getLocation() async {
try {
_currentLocation = await location.getLocation();
} catch (e) {
print('Could not get the location: $e');
}
}
위의 코드에서 getLocation
함수는 사용자의 현재 위치 정보를 _currentLocation
변수에 저장합니다.
근처 카페 검색하기
위치 정보를 가져왔다면, 이제 해당 위치를 기반으로 근처 카페를 검색할 수 있습니다. Google Maps Places API를 활용하여 근처 카페를 검색하는 방법은 다음과 같습니다.
import 'package:google_maps_webservice/places.dart';
GoogleMapsPlaces _places = GoogleMapsPlaces(apiKey: 'YOUR_API_KEY');
Future<void> searchNearbyCafes() async {
PlacesSearchResponse response = await _places.searchNearbyWithRadius(
Location(latitutde, longitude), 1000, type: 'cafe');
for (PlacesSearchResult result in response.results) {
print(result.name);
}
}
위의 코드에서 searchNearbyCafes
함수는 주어진 위치에서 반경 1000 미터 이내의 카페를 검색하고, 그 결과를 출력합니다.
마치며
위의 예제를 통해 플러터를 사용하여 위치 정보를 활용한 근처 카페 검색 앱을 만들 수 있습니다. 사용자의 위치 정보를 가져오고, 가져온 위치를 기반으로 Google Maps Places API를 활용하여 근처 카페를 검색하는 방법을 익혔습니다. 이를 응용하여 원하는 기능을 추가하여 더 다양하고 유용한 앱을 구현할 수 있습니다.
더 많은 기능을 추가하여 실제 사용할 수 있는 앱으로 발전시켜보세요!