[flutter] 플러터에서 지도 위에 선(polygon) 또는 도형(shape) 그리기

플러터를 사용하여 지도 위에 선이나 도형을 그릴 수 있습니다. 이를 위해 google_maps_flutter 패키지를 사용하여 지도를 표시하고, flutter_map 패키지를 사용하여 지도 위에 다각형(polygons) 또는 도형(shapes)을 그릴 수 있습니다.

google_maps_flutter 패키지를 사용하여 지도 표시하기

우선, google_maps_flutter 패키지를 사용하여 지도를 표시해야 합니다. 아래는 플러터에서 지도를 표시하는 간단한 예제입니다.

import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Google Maps Example'),
        ),
        body: GoogleMap(
          initialCameraPosition: CameraPosition(
            target: LatLng(37.7749, -122.4194),
            zoom: 12,
          ),
        ),
      ),
    );
  }
}

flutter_map 패키지를 사용하여 선 또는 도형 그리기

flutter_map 패키지를 사용하면 지도 위에 다양한 도형을 그릴 수 있습니다. 이를 위해 polyline, polygoncircle 위젯을 사용할 수 있습니다. 아래는 flutter_map 패키지를 사용하여 다각형을 그리는 예제입니다.

import 'package:flutter/material.dart';
import 'package:flutter_map/flutter_map.dart';
import 'package:latlong2/latlong.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Flutter Map Example'),
        ),
        body: FlutterMap(
          options: MapOptions(
            center: LatLng(51.0, 0.0),
            zoom: 13.0,
          ),
          layers: [
            TileLayerOptions(
              urlTemplate: "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
              subdomains: ['a', 'b', 'c'],
            ),
            PolygonLayerOptions(
              polygons: [
                Polygon(
                  points: [
                    LatLng(51.5, 0.0),
                    LatLng(51.5, 0.1),
                    LatLng(51.6, 0.1),
                  ],
                  color: Colors.blue.withOpacity(0.5),
                  borderColor: Colors.blue,
                ),
              ],
            ),
          ],
        ),
      ),
    );
  }
}

결론

플러터를 사용하여 google_maps_flutterflutter_map 패키지를 활용하면 지도 위에 다양한 선이나 도형을 그릴 수 있습니다. 이를 통해 지도 기반 애플리케이션을 개발할 때 원하는 선이나 도형을 표시하는 것이 가능해집니다.

참고: