[flutter] 플러터에서 지도에 사용자 정의 오버레이 추가하기
flutter
앱에서 지도를 사용하는 경우, 사용자 정의 오버레이를 추가하여 지도 상에 특정 위치나 지역을 부각시킬 수 있습니다. 이 기능은 지도 위에 원, 선, 이미지, 텍스트 등을 표시하는 데 사용됩니다. 이번 게시물에서는 플러터 앱에서 google_maps_flutter
패키지를 사용하여 지도에 사용자 정의 오버레이를 추가하는 방법을 다룰 것입니다.
1. google_maps_flutter
패키지 설치
먼저, google_maps_flutter
패키지를 앱에 추가해야 합니다. pubspec.yaml
파일에 다음과 같이 패키지를 추가합니다:
dependencies:
flutter:
sdk: flutter
google_maps_flutter: ^2.0.6
그리고 터미널에서 다음 명령어를 실행하여 패키지를 가져옵니다:
flutter pub get
2. 지도 위에 사용자 정의 오버레이 추가하기
다음으로, 지도 위에 사용자 정의 오버레이를 추가할 수 있습니다. 예를 들어, 원을 추가해보겠습니다.
import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
class CustomMapOverlay extends StatefulWidget {
@override
State<CustomMapOverlay> createState() => _CustomMapOverlayState();
}
class _CustomMapOverlayState extends State<CustomMapOverlay> {
late GoogleMapController mapController;
static const LatLng _center = const LatLng(37.7749, -122.4194);
void _onMapCreated(GoogleMapController controller) {
mapController = controller;
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: GoogleMap(
onMapCreated: _onMapCreated,
initialCameraPosition: CameraPosition(
target: _center,
zoom: 11.0,
),
markers: _createMarkers(),
),
);
}
Set<Marker> _createMarkers() {
return <Marker>{
Marker(
markerId: MarkerId("marker_1"),
position: _center,
icon: BitmapDescriptor.defaultMarker,
),
};
}
}
void main() {
runApp(const MaterialApp(
home: CustomMapOverlay(),
));
}
위 코드는 플러터 앱에서 google_maps_flutter
패키지를 사용하여 지도 위에 원 모양의 오버레이를 추가하는 예시입니다.
결론
이제 앱의 지도에 원, 선, 이미지, 텍스트 등 다양한 사용자 정의 오버레이를 추가하는 방법에 대해 알아보았습니다. 이를 응용하여 지도를 보다 풍부하게 표현할 수 있으며, 사용자에게 더 나은 지도 활용 경험을 제공할 수 있습니다.