정보 창
지도 또는 마커 위에 상세 정보를 표출하는 기능입니다. 주로 팝업 말풍선 모양으로 많이 표현되며, 뷰 형태로 커스터마이징 할 수도 있습니다. 정보 창을 지도 위에 그리는 방법을 설명합니다.
추가 및 삭제
지도 위에 정보 창을 추가하려면 InvInfoWindow
객체를 생성한 다음 반드시 position
속성과 adapter
속성을 설정해주어야 합니다. position
속성은 setPosition()
함수를 통해 설정할 수 있으며, adapter
속성은 setAdapter()
함수 또는 정보 창 객체 생성자를 통해 설정할 수 있습니다.
생성된 정보 창 객체의 map
속성을 표출하고자 하는 지도 객체로 설정하면 정보 창이 지도 위에 표출됩니다.
반대로 지도에서 정보 창을를 제거하려면 map
속성을 null
로 설정하면 됩니다.
마커 위에 그리기
정보 창은 지도 위 뿐만 아니라 마커 위에도 그릴 수 있습니다. marker
속성으로 정보 창이 그려질 마커를 설정하거나 위에 그려진 마커의 인스턴스를 가져올 수 있습니다.
마커 위에 그려지고 있는지 확인
정보 창이 마커 위에 그려지게 되면 getMarker()
함수로 현재 그려지고 있는 마커의 인스턴스를 가져올 수 있으며, InvMarker#getInfoWindow()
함수로 마커 위에 그려지고 있는 정보 창의 인스턴스를 가져올 수 있습니다.
위치
position
속성으로 정보 창이 표출될 위치를 가져오거나 새로 설정할 수 있습니다. 이미 정보 창이 지도에 표출 중이라면, 이 속성을 변경할 경우 정보 창이 새로운 위치로 이동합니다. position
속성을 설정하지 않았거나, 좌표가 유효하지 않으면 InvalidLatLngException
이 발생합니다.
어댑터
adapter
속성으로 정보 창에 대한 어댑터를 가져오거나 새로 설정할 수 있습니다. 어댑터는 지도에 표출할 정보 창의 형태를 정의한 것을 의미합니다.
아이나비 지도 SDK는 기본적으로 두 가지 기본 어댑터를 제공합니다.
종류 | 설명 |
기본 말풍선 배경에 텍스트가 포함된 정보 창을 표출할 때 사용 | |
커스텀 뷰로 구성된 정보 창을 표출할 때 사용 |
가장 간단하게 adapter
속성을 설정하는 방법은 InvInfoWindowTextAdapter
를 사용하는 것입니다. 이 클래스에는 기본 말풍선 배경이 들어가 있으며, 개발자는 getText()
함수만을 오버라이딩하여 표출할 문구를 반환시켜주면 됩니다.
불투명도
alpha
속성으로 정보 창의 불투명도를 가져오거나 새로 설정할 수 있습니다. 0.0
~1.0
사이의 값을 입력할 수 있으며 0.0
은 완전한 투명, 1.0
은 완전한 불투명을 의미합니다.
alpha
속성 값이 0.0
이면 시각적으로는 정보 창이 표출되지 않지만 실제로 정보 창은 지도 위에 그려지고 있습니다. 따라서, 클릭 리스너를 설정했을 경우 이벤트를 받게 됩니다.
Last updated