728x90
내가 한 결과물은 아니고 다른 팀원과 네이버 맵 api를 쓰는 게 겹쳐서 해결법을 모색하다가 알아낸 방법이다.
뷰페이저는 좌우로 스크롤을 할 수 있는데 뷰페이저 안에 있는 페이지에 맵뷰를 쓸 경우 좌우로 스와이프를 하면 맵뷰가 움직이는 게 아니라 화면이 넘어가버리는 문제가 있었다.
혹여나 같은 문제를 겪는 분에게 참고가 될까해서 공유한다.
영상으로 보면 이해가 빠를 것이다.
커스텀 맵뷰를 사용하는 방법이다.
class ScrollAwareMapView : MapView {
constructor(context: Context) : super(context)
constructor(context: Context, attrs: AttributeSet?) : super(context, attrs)
constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(
context,
attrs,
defStyleAttr
)
override fun dispatchTouchEvent(event: MotionEvent?): Boolean {
parent.requestDisallowInterceptTouchEvent(true)
return super.dispatchTouchEvent(event)
}
}
xml 파일에다가 커스텀한 맵뷰를 써준다.
<com.package.view.widget.ScrollAwareMapView
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent" />
mapview 초기화 방법
private val mapView : MapView by lazy{
requireViewDataBinding().map
}
그외에는 생명주기를 맞춰주고 써주면 된다. 이건 공식문서에 써있으니 참고하면 된다.
참고 : https://yuar.tistory.com/entry/NaverMap-API-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0
728x90
반응형
'개발' 카테고리의 다른 글
[코틀린] intent 변수들 모음 정리 (0) | 2024.03.21 |
---|---|
[코틀린] 네이버 맵 API , TedNaverClustering 적용 (1) | 2024.03.18 |
[코틀린] 네이버 맵 api 마커 찍기 (보이는 곳만 나오게 ) (2) | 2024.03.14 |
[코틀린] navermap 지도 영역 제한 ( 국내 영역으로 제한하기) (0) | 2024.03.11 |
[git] 특정 파일 잘못 올린 상태로 커밋했을 때, git에서 특정 파일 제거하는 방법 (1) | 2024.02.29 |
댓글