JavaScript

[Gmap3] 2. 마커(marker)의 추가, 삭제

마커(marker)

지도에 특정 위치를 표시하는 기능인 마커는 가히 구글맵을 이용하는 주 목적이 아닐까 생각됩니다. 이를 지도에 추가하는 방법은 한가지가 아니라 여러가지 방법이 있습니다.

추가

일단 기본적으로 gmap3 함수를 실행하면서 파라미터로 marker를 넣어주는 것이 일반적입니다.

여러 마커를 넣고 싶을 때는 marker내부에 values라는 곳에 배열의 형태로 넣으면 됩니다.

사실 처음 예제에서 당연한 것처럼 address를 사용하고 있습니다. 하지만 address보다는 지구 좌표인 위도/경도가 일반적으로 쓰이죠. 이때는 latLng 를 이용하면 됩니다. 위의 예제에서 보듯, values 아래에 어떤 방식으로든 gmap3가 인식할 수 있는 형태의 배열로 넣는다면 여러 마커들이 지도에 나타나게 됩니다.

이외에도 values에 사용할 수 있는 마커 정보로는,

  • id : 고유 아이디
  • latLng : [위도, 경도]
  • address : "주소"
  • data : "추가로 저장하고 싶은 문자열"
  • option : {
    • animation : google.maps.Animation.DROP or google.maps.Animation.BOUNCE
    • draggable : true or  false
    • icon: http://iconurl
      }

등이 있습니다.

이렇게 삽입하는 방법은 지도가 생성된 후 나중에 추가로 실행할 때에도 동작하므로 페이지가 모두 로딩이 된 후에 사용해도 된다는 점이 매우 편리합니다.

삭제

전체 마커를 지우는 방법은 아래와 같습니다.

gmap3에 추가된 여러 오브젝트 중 이름이 marker인 것을 삭제하라는 명령으로, gmap3 함수에 파라미터로 전달된 marker가 선택되어 지워지는 것입니다.

위와 같은 코드는 id가 mTagX인 것만을 삭제합니다. 앞에서 마커를 추가할 때 id 항목에 값을 넣어 마커간 구분을 했다면 내가 원하는 마커의 id를 지정하여 삭제할 수 있습니다. 파라미터로 넣는 id값은 배열로 해도 잘 동작합니다.

 


Add a Comment Trackback