[flutter] 플러터에서 마커를 클릭했을 때 이벤트 처리하기

플러터 애플리케이션에서 지도를 사용할 때, 지도 상에 마커를 추가하여 여러 위치를 표시할 수 있습니다. 사용자가 마커를 클릭했을 때 특정 동작이나 정보를 표시하기 위해서는 마커 클릭 이벤트를 처리해야 합니다. 이번 블로그에서는 플러터에서 지도 마커 클릭 이벤트를 처리하는 방법에 대해 알아보겠습니다.

1. 마커 생성하기

먼저, 지도에 마커를 추가하고 싶은 위치에 마커를 생성해야 합니다. 아래는 google_maps_flutter 패키지를 사용하여 플러터 애플리케이션에서 지도에 마커를 추가하는 예제 코드입니다.

GoogleMapController mapController;
Set<Marker> markers = {};

void _onMapCreated(GoogleMapController controller) {
  mapController = controller;
  setState(() {
    markers.add(
      Marker(
        markerId: MarkerId('marker1'),
        position: LatLng(37.7749, -122.4194),
        onTap: () {
          // 마커를 클릭했을 때 처리할 내용
        },
      ),
    );
  });
}

GoogleMap(
  onMapCreated: _onMapCreated,
  initialCameraPosition: CameraPosition(
    target: LatLng(37.7749, -122.4194),
    zoom: 12,
  ),
  markers: markers,
)

위 코드에서 onTap 콜백은 마커를 클릭했을 때 실행할 내용을 정의합니다. 마커를 클릭했을 때 필요한 동작을 추가할 수 있습니다.

2. 마커 클릭 이벤트 처리

플러터에서 마커를 클릭했을 때의 이벤트를 처리하려면 onMarkerTapped 콜백을 사용하여 마커 클릭 시 동작을 정의해야 합니다. 아래 코드는 마커를 클릭했을 때 콘솔에 로그를 출력하는 예제입니다.

void _onMarkerTapped(Marker marker) {
  print('Marker Tapped: ${marker.markerId}');
}

onMarkerTapped 콜백은 해당 마커를 클릭했을 때 실행됩니다. 필요에 따라 마커 클릭 시 동작을 정의하면 됩니다.

이제 마커 클릭 이벤트를 처리하는 방법에 대해 알아보았습니다. 마커를 클릭했을 때 필요한 동작에 따라 적절한 콜백을 사용하여 처리할 수 있습니다.

참고 자료

플러터 애플리케이션에서 지도 마커 클릭 이벤트를 처리하는 방법에 대해 자세히 알아보았습니다. 원하는 동작을 정의하여 사용자가 마커를 클릭했을 때 원하는 동작을 수행하도록 구현할 수 있습니다.