Map api 사용시 스카이뷰 -> 일반지도로 복귀하면 스카이뷰에 남아있던 길 정보가 없어지지 않네요

map api 사용 중에 guide에 나와있는데로 지도 위에 지도/스카이뷰 전환 버튼을 올렸습니다.
스카이뷰로 전환 후 다시 "지도"버튼을 눌러서 원 지도로 복귀하면 스카이뷰에 있던 길정보가 그대로 지도위에 남아있습니다
혹시 해결법 아실까요?

@drg2533

지도 타입 변경은 배경 지도의 종류만 바꾸는 것으로
지도 위에 올라간 여러 오버레이에는 영향을 미치지 않습니다.

타입 변경 시 기존에 올린 정보를 별도로 제거해주셔야 해요

지도 타입을 HYBRID <-> NORMAL 을 스위칭 하고 있습니다. 다만 HYBRID가 될경우 SKYVIEW 타입의 맵에 길에 대한 정보가 같이 올라오는데 NORMAL로 가게되면 길에 대한 정보는 남아있습니다. 혹시 이 정보를 지우려면 어떻게 해야하나요? 그리고 단순 타입을 수정하면서 올라오는 정보도 일일히 지워줘야 할까요?

@drg2533

추가로 말씀하신 내용을 보니 길에 대한 정보라는 것이 직접 올린 오버레이를 의미하신 것이 아닌 것 같아 보이는데

정확히 어떤 동작을 하고 있고 어떤 형태로 보여주길 원하시는 것인 지
사용 코드와 화면 스크린샷을 첨부해서 말씀해주시면 답변드리는데 도움이 될 것 같습니다.

네 직접 올린 오버레이는 아니고 스카이뷰로 전환시에 생기는 오버레이인 듯 합니다.

아래와 같이 정상 normal 지도에서 HYBRID type의 지도로 가면 오버레이가 생기고 다시 normal type으로 돌아와도 해당 오버레이가 사라지지 않습니다.
image
image
image

아래는 normal type과 hybrid타입을 사용하는 코드 입니다.
image

아래는 map을 생성하는 코드입니다.
image

사용한 프레임웤은 vue.js를 사용했습니다.
기본적으로 kakao devleoper docs에서 제공하는 guide를 기반으로 작성하였고, 크게 수정한 부분없이 진행하였습니다.

현재는 HYBRID type이 아닌 SKYVIEW type을 사용하여 오버레이 없이 사용 중인데 HYBRID type을 사용하기 위해서 어떤 조치가 필요할까요?

지도 오리지널 객체를 Vue 컴포넌트 객체로 적용할 때는 리액티브(Ref객체)에 할당합니다.
이 리액티브 객체를 그대로 사용하게 되면 예측하지 못하는 문제가 발생할 수 있습니다.

리액티브 객체를 통해서 오리지널 객체가 갖는 함수나 속성에 접근이 가능하지만,
Proxy로 갖고 있기 때문에 지도 라이브러리 내부에서 객체를 비교하는 로직들이 오작동할 수 있습니다.
그래서 일반지도와 하이브리드 지도 타입을 변경할 때 내부 레이어들이 다른 값으로 인식해서 지워지지 않는 것으로

Vue3를 사용하신다면 toRaw를 이용해서 원본 객체를 받아와서 타입을 변경해 주세요.