GeOnDT GeOnDT for JS

Class: U3dPOI

U3dPOI

~extends UGroup
3D 화면의 특정 위치에 POI(관심지점, Point of Interest)를 표시하는 클래스.
이미지 마커·텍스트 라벨·지형까지의 수직선·선택 박스를 조합해 지점을 강조하며, 생성·수정·삭제를 지원합니다.

new U3dPOI(opt)

3D POI(Point of interest) 관련 클래스

POI를 생성합니다.
position(3D 월드 좌표)은 필수이며, 없으면 오류를 출력하고 생성이 중단됩니다. 이미지·라벨·선택 박스는 옵션이 있을 때만 함께 만들어집니다.

Name Type Default Description
opt U3dPOICO {} optional

생성 옵션 (위치·이름·색상·이미지·라벨 등)

Members

depthTestboolean

fontstring undefined

heightOffsetnumber

imagestring undefined

imageOffsetObject

imagePoiUCssBilboard undefined

imageSizenumber

labelstring undefined

labelOffsetObject

labelPoiUCssBilboard undefined

selectboolean

selectBoxMesh undefined

sizenumber undefined

zOffsetnumber

Methods

dispose()

POI와 그의 요소(이미지·라벨·선택 박스·수직선)를 모두 정리하고 리소스를 해제합니다.

getParameter()U3dPOICO

POI의 현재 생성 파라미터(위치·이름·색상·이미지·라벨 등)를 반환합니다.
이 값을 저장해 두면 동일한 POI를 나중에 다시 생성할 수 있습니다.

Returns:
Type Description
U3dPOICO POI 생성 파라미터

getPosition()Object|undefined

POI의 현재 위치를 위경도(EPSG:4326) 좌표로 반환합니다.
내부적으로는 3D 월드 좌표를 위경도로 변환하며, 변환에 필요한 정보(drawArg)나 위치가 없으면 undefined를 반환합니다.

Returns:
Type Description
Object | undefined 위경도 좌표 (x=경도, y=위도, z=높이), 변환 불가 시 undefined

hide()

POI를 화면에서 숨깁니다. (이미지·라벨·선택 박스·수직선을 모두 함께 숨김)

off(type, callback)

POI에 등록한 이벤트 리스너를 제거합니다.
on으로 등록할 때 넘긴 것과 동일한 콜백을 전달해야 제거됩니다.

Name Type Description
type string

이벤트 타입

callback function

등록 시 사용한 이벤트 콜백

on(type, callback)

POI에 이벤트 리스너를 등록합니다. (클릭·더블클릭·변경 등)
등록한 콜백은 해당 이벤트가 발생할 때 호출됩니다.

Name Type Description
type string

이벤트 타입 ('click' | 'dblclick' | 'change' | 'end')

callback function

이벤트 발생 시 호출되는 콜백. 인자로 이벤트 객체({type, data 등})를 받습니다

setFont(font)

POI 라벨 텍스트의 폰트 스타일을 설정합니다.

Name Type Description
font string

라벨의 폰트 스타일 (CSS font 값)

setFontFamily(fontFamily)

POI 라벨 텍스트의 글꼴을 설정합니다.

Name Type Description
fontFamily string

라벨의 폰트-family 스타일

setImage(image)

POI에 이미지 마커를 설정합니다.
이미지 마커가 아직 없으면 새로 만들어 표시하고, 있으면 이미지를 교체합니다.

Name Type Description
image string

이미지 데이터 URL

setImageSize(size)

POI 이미지 마커의 크기를 설정합니다.

Name Type Description
size number

이미지 크기

setLabel(label)

POI에 라벨(텍스트)을 설정합니다.
라벨이 아직 없으면 새로 만들어 표시하고, 있으면 텍스트를 교체합니다.

Name Type Description
label string

라벨 텍스트

setLabelSize(size)

POI 라벨 텍스트의 크기(폰트 크기)를 설정합니다.

Name Type Description
size number

텍스트 크기

setLine()

POI 지점에서 지형 표면까지 이어지는 수직선을 생성합니다.
해당 위치의 지형 높이를 조회해, POI 위치부터 지면까지 붉은 선을 그어 지점을 지면과 연결해 보여 줍니다.

setPosition(position)

POI의 위치를 3D 월드 좌표로 옮깁니다.
이미지·라벨은 물론 선택 박스와 지형 수직선까지 함께 갱신됩니다.

Name Type Description
position Vector3

3D 월드 좌표

show()

POI를 화면에 표시합니다. (이미지·라벨·선택 박스·수직선을 모두 함께 표시)

Type Definitions

U3dPOICOobject

U3dPOI 생성자 옵션

Properties:
Name Type Argument Default Description
position Vector3 <optional>

POI 위치 (3D 월드 좌표)

name string <optional>

POI 이름

color ColorRepresentation <optional>
'#ffffff'

POI 색상 (이미지 + 라벨)

imageColor ColorRepresentation <optional>
'#ffffff'

이미지 색상

labelColor ColorRepresentation <optional>
'#ffffff'

라벨 색상

image string <optional>

이미지 데이터 URL

imageSize number <optional>
20

이미지 크기

imageOffset Object <optional>

이미지 위치 보정값, 기본값 {x:0, y:-1}

label string <optional>

라벨 텍스트

text string <optional>

라벨 텍스트 (label 대체)

labelOffset Object <optional>

라벨 위치 보정값, 기본값 {x:0, y:0}

size number <optional>

텍스트 크기

font string <optional>

폰트 스타일

heightOffset number <optional>
0

POI 캔버스 높이 보정값

depthTest boolean <optional>
false

깊이(원근감) 적용 여부

select boolean <optional>
false

선택 여부

drawArg UDrawArg <optional>

드로우 아규먼트