[flutter] 플러터에서 지도 위에 정보 창(InfoWindow) 표시하기

플러터를 사용하여 지도 애플리케이션을 개발할 때, 사용자에게 장소에 대한 정보를 제공하는 데 도움이 되는 것은 지도 위에 정보 창을 표시하는 것입니다. 정보 창은 지도에 마커를 누르거나 마우스를 마커 위로 가져갔을 때 해당 위치에 대한 추가 정보를 제공합니다.

정보 창(InfoWindow) 추가하기

플러터에서는 google_maps_flutter 패키지를 사용하여 지도를 표시하고 정보 창을 추가할 수 있습니다. 먼저 해당 패키지를 프로젝트에 추가해야 합니다.

dependencies:
  flutter:
    sdk: flutter
  google_maps_flutter: ^2.0.7

google_maps_flutter 패키지를 추가한 후에는 GoogleMap 위젯에서 Marker 위젯을 사용하여 지도에 마커를 추가하고, 해당 마커에 정보 창을 표시할 수 있습니다.

GoogleMap(
  markers: {
    Marker(
      markerId: MarkerId('marker_1'),
      position: LatLng(37.7749, -122.4194),
      infoWindow: InfoWindow(
        title: 'San Francisco',
        snippet: 'Welcome to San Francisco',
      ),
    ),
  },
)

위의 예제에서 Marker 위젯의 infoWindow 속성을 사용하여 해당 위치에 대한 정보 창을 제공합니다.

사용자 정의 정보 창(InfoWindow) 만들기

애플리케이션에 따라 기본 제공된 정보 창이 아닌 사용자 정의한 정보 창을 표시해야 할 수도 있습니다. 이때는 infoWindow 속성 대신 InfoWindow 위젯을 사용하여 사용자가 원하는 형태의 정보 창을 만들 수 있습니다.

GoogleMap(
  markers: {
    Marker(
      markerId: MarkerId('marker_2'),
      position: LatLng(37.7749, -122.4194),
      infoWindow: InfoWindow(
        title: 'Custom InfoWindow',
        snippet: 'This is a custom InfoWindow',
      ),
      onTap: () {
        // 사용자 정의 정보 창을 표시하기 위한 로직 추가
      },
    ),
  },
)

위의 예제에서 Marker 위젯의 onTap 속성을 사용하여 마커를 탭할 때 사용자 정의 정보 창을 표시하는 로직을 추가할 수 있습니다.

플러터를 사용하여 지도 위에 정보 창을 표시하는 방법에 대해 간략히 알아보았습니다. 지도를 사용하는 애플리케이션에서는 지도 위에 정보 창을 표시하여 사용자에게 다양한 정보를 제공할 수 있으며, 사용자 정의 정보 창을 만들어서 더욱 풍부한 표현을 할 수 있습니다.

참고 자료