[Flutter / GoogleMap] ScrollView 에서 GoogleMap Touch Event 우선권 갖기

solra·2023년 4월 25일
0

GoogleMap을 전체 화면에 사용할 때도 있지만, 스크롤 내에 사용해야 할 때도 있는데요!

ScrollView 내에 GoogleMap을 넣고 사용해보면 GoogleMap과 ScrollView 모두 드래그 이벤트를 가지고 있는데, 이게 중첩되면서 아래 사진같이 원하는 대로 동작하지 않게 됩니다 (지도 좌표가 이동하는 것이 아닌 스크롤이 움직이는 상황)

그때는 GoogleMap에 gestureRecognizers를 사용해 GoogleMap의 드래그 이벤트에 대한 우선권을 가져오면 됩니다.

GoogleMap(
  gestureRecognizers: <Factory<OneSequenceGestureRecognizer>>{
    Factory<OneSequenceGestureRecognizer>(
      () => EagerGestureRecognizer())},
)
  • OneSequenceGestureRecognizer: 한번에 하나의 제스처만 인식 할 수 있도록 하는 gesture recognizer
  • EagerGestureRecognizer: 가장 높은 순위를 가지도록 하는 gesture recognizer

profile
현 Flutter 개발자 🥴

0개의 댓글