안드로이드 개발 질문/답변
(글 수 45,052)
맵위에는 여러가지 마커들이 있습니다. 현재위치를 표시하는 마커 , 해당 주유소를 나타내는 마커 등
여기서 제가 GPS로 현재위치를 받는대요 제가 폰을 들고 이동하면 onLocationChanged()메소드가 호출이 됩니다
그 메소드 안에 제가 제 위치를 다시 찍어주는 update()메소드를 호출하는데
그렇게 되면 이전에 처음 잡았던 현재위치 마커는 그대로 남아있게됩니다.
즉 위치가 업데이트될때마다 이전에 잡았던 내 위치 마커를 지우면서 업데이트 되야되는게 그게 잘 안되네요
위치 변경 -> 내 위치를 다시 받아오는 update()메소드 호출 사이에 MapView.getOverlay.clear()를 해버리게되면 지워지면서 현재위치만 최신화 되는데 그렇게되면 주유소 마커들까지, 지도위에 마커가 전부사라지게 됩니다.
해서 인덱스로 찾아서 없애보려고 했는데 이것도 여의치가 않네요 MapView.getOverlay().remove(인덱스번호) 를 주어서 해야될 것같은데 0번인덱스 를 주어서 없애보았는데 안 없어지더군요 ㅠ 방법을 아시는 분 계시면 조언 부탁드립니다!
전그냥 List<Overlay>를 2개 생성해서 하나에는 지역정보 나머지 하나에는 자기 위치만 넣고
List<Overlay> mapOverlays;
mapOverlays.remove(location) 형식으로 지우고 갱신하고 했습니다.