Recent Posts
밍쯔와 안작고 안귀여운 에러들🖤
[Android/naverMap] nestedScrollview 안에 mapView/mapFragment 본문
Develop/Android | iOS
[Android/naverMap] nestedScrollview 안에 mapView/mapFragment
밍쯔 2022. 5. 10. 10:34scrollview 안에 mapview가 움직이지 않는 문제
5/11
- 지도가 움직이지만, 상하로 움직일 경우, scrollview에 이벤트를 뺏김
🔥5/14
- mapFragment로 선언되어 있던 것이 왜인지는 모르겠지만 touchEvent로 intercept 되지 않아서,
mapFragment를 mapView로 수정해서 이벤트까지 등록하니 성공!!
코드는 아래와 같슴당
private NaverMap naverMap;
private MapView mapView;
// onCreate 안
mapView = binding.mapView;
mapView.onCreate(savedInstanceState);
--------------
// 터치 이벤트 처리
mapView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_MOVE:
binding.mapView.getParent().requestDisallowInterceptTouchEvent(true);
break;
case MotionEvent.ACTION_DOWN:
binding.mapView.getParent().requestDisallowInterceptTouchEvent(true);
break;
case MotionEvent.ACTION_UP:
binding.mapView.getParent().requestDisallowInterceptTouchEvent(false);
break;
case MotionEvent.ACTION_CANCEL:
binding.mapView.getParent().requestDisallowInterceptTouchEvent(false);
break;
}
return binding.mapView.onTouchEvent(event);
}
});
--------------
@Override
public void onResume() {
super.onResume();
mapView.onResume();
}
@Override
protected void onPause() {
super.onPause();
mapView.onPause();
}
@Override
protected void onStart() {
super.onStart();
mapView.onStart();
}
@Override
protected void onStop() {
super.onStop();
mapView.onStop();
}
@Override
public void onLowMemory() {
super.onLowMemory();
mapView.onLowMemory();
}
@Override
protected void onDestroy() {
super.onDestroy();
mapView.onDestroy();
}
// 위치 및 이벤트 설정
@Override
public void onMapReady(@NonNull NaverMap naverMap) {
this.naverMap = naverMap;
CameraUpdate cameraUpdate = CameraUpdate.scrollAndZoomTo(new LatLng(_개인_DTO.getLatitude(), _개인_DTO.getLongitude()), _줌크기_);
naverMap.moveCamera(cameraUpdate);
UiSettings uiSettings = naverMap.getUiSettings();
uiSettings.setScrollGesturesEnabled(true); // 스크롤
uiSettings.setZoomGesturesEnabled(true); // 두손 줌인아웃
uiSettings.setZoomControlEnabled(false); // 줌인아웃 버튼
uiSettings.setLocationButtonEnabled(false); // 축적바
uiSettings.setScaleBarEnabled(false); // 스케일바
uiSettings.setAllGesturesEnabled(true);
}
[참고 사이트]
https://zion830.tistory.com/140
https://devtalk.kakao.com/t/topic/89668
'Develop > Android | iOS' 카테고리의 다른 글
[Android] Retrofit2/Rxjava #re-write (0) | 2022.05.17 |
---|---|
[Android] 버튼 1개 클릭 시, 여러 버튼 생성(like 네이버) (0) | 2022.05.12 |
[Android] 특수문자, 한글, 영어 체크 (0) | 2022.05.04 |
[Android/Java/Firebase] 휴대전화 인증, 인증번호 (0) | 2022.04.28 |
[Android] addTextChangedListener 추가 후 키보드 다음 버튼 오류 (0) | 2022.04.27 |