728x90
https://stickode.tistory.com/655
안녕하세요
마커생성에 이어 마커 삭제와 클릭 비활성화를 구현해보겠습니다.
1. 마커 삭제
thisMarker.setMap(null);
생성된 마커가 있을 때 해당 코드를 통해 지도위에서 마커를 삭제할 수 있습니다.
https://navermaps.github.io/android-map-sdk/guide-ko/5-2.html
2. 마커 클릭 이벤트
thisMarker.setOnClickListener(new Overlay.OnClickListener() {
@Override
public boolean onClick(@NonNull Overlay overlay) { // boolean형
dialog.show(); // 커스덤 다이얼로그 띄우기
return true;
}
});
원하는 다이얼로그나 원하는 이벤트를 실행합니다.
3. 마커 클릭 이벤트 비활성화
thisMarker.setOnClickListener(new Overlay.OnClickListener() {
@Override
public boolean onClick(@NonNull Overlay overlay) {
return false;
}
});
return false를 통해 클릭을 비활성화 할 수있습니다.
적용하기
ArrayList<Marker> markerArrayList = new ArrayList<>();
Marker thisMarker = new Marker(); // 객체 생성을 했지만 실제론 방금 추가한 마커 사용하기
int deactivation = markerArrayList.indexOf(thisMarker);
Log.e(TAG, "마커비활성화 : "+deactivation); // 객체있으면 0~ 없으면 -1리턴
if(deactivation >= 0) { // 객체가 하나라도 있다면
for (int i=0; i<markerArrayList.size(); i++) { //마커가 들어있는 리스트만큼 반복한다. (전부 비활성화시키기 위해)
markerArrayList.get(i).setOnClickListener(new Overlay.OnClickListener() {
@Override
public boolean onClick(@NonNull Overlay overlay) {
//객체 하나하나에 마커클릭이벤트를 false로 리턴해준다.
return false;
}
});
}
}
'안드로이드 자바' 카테고리의 다른 글
[JAVA][Android] BadgeDrawable을 활용하여 바텀 네비게이션 바에 뱃지 구현 (0) | 2023.01.16 |
---|---|
[Java][Android] viewBinding 사용하기 (0) | 2023.01.15 |
[Android][Java] 토스트 메시지 꾸미기 (0) | 2023.01.09 |
[Android][Java] Javax로 이메일 전송 기능 구현 (4) | 2023.01.02 |
[Android][Java] DrawingAppLibrary 사용해서 그림판 만들기 (0) | 2022.12.31 |