Closed egiskorea01 closed 10 months ago
안녕하세요
샌드박스의 POI 샘플 을 사용하셨다면 아래 코드를 변경하면 가시 범위가 제어 됩니다.
// POI 오브젝트를 추가 할 레이어 생성
//var layerList = new Module.JSLayerList(true);
let layerList = Module.getObjectLayerList(); // 로컬레이어 리스트 관리, new Module.JSLayerList(true)와 동일
let layer = layerList createObjectLayer({
name: "POI_TEST",
type: Module.ELT_3DPOINT,
visible: true,
selectable: true,
minDistance: 1.0, // 가시 범위 최소 거리 m ( 카메라에서 값 이하로 가까우면 표현하지 않음 )
maxDistance: 1000.0, // 가시 범위 최대 거리 m ( 카메라에서 값 이상으로 멀어지면 표현하지 않음)
});
위 코드의 기술 재원 링크
xd서버에 있는 데이터를 호출해야해서 Module.XDEMapCreateLayer api를 사용하고있습니다.
api로 레이어 호출 후 setMinDistance / setMaxDistance / tile_load_ratio 모두 조절하였으나 확대 시 사라지고 특정 레벨에서만 가시화됩니다.
데이터 확장자는 POI로 14레벨부터 0레벨까지 모두 데이터가 존재하며 호출을 다음과 같이 하고있습니다.
xd서버 호출 :
`
`
js 호출 : Module.XDEMapCreateLayer("poi_palgong_course", "map.dtwincloud.com", 0, false, true, false, 5, 0, 14);
가공데이터 전달해주신 부서에서는 빌더에서는 확대하여도 잘 나오며 엔진단에서 레벨 조절이 필요한 것 같다고 하셨습니다!
https://github.com/EgisCorp/XDWorld/assets/109057178/42f0a761-c4a3-42f4-87c6-083ca48f11a8
POI Tile Layer 포맷을 확인 후 결과에 대해 답변드립니다.
현재 POI Tile Layer는 특정 가시화 레벨에 맞춰진 Tile Layer로, POI는 14레벨과 15레벨에서만 보이도록 설정되었습니다.
아래 그림을 참고하면 이해가 더 쉬울 것입니다.
그림에 따르면 각 레벨별로 고도값이 설정되어 있으며, 이 고도를 기준으로 레이어의 가시화 여부가 결정됩니다. 입력된 높이값은 정확한 수치가 아니라 예시를 위한 임의의 값입니다.
만약 카메라가 15레벨보다 낮은 위치에 있다면, 가시화가 되지 않습니다. 이를 해결하기 위해
"Module.setVisibleRange("POI Tile Layer", "타일 레이어 가시화 거리 비율", "옥트리 레이어 가시화거리 비율")" 함수에서 타일 레이어 가시화 거리 비율을 1보다 큰 값으로 설정하면 고도 값 범위 조절이 가능합니다.
<먼거리> <근거리>
처리된 결과물은 현재 POI 심볼이 없기 때문에 제가 임의로 처리하여 표현하였습니다.
빌더와 가시화 엔진 사이에 내부적으로 가시화 결과에 차이가 있어, 빌더의 가시화를 엔진에 맞추는 작업을 진행 중입니다. 최종적으로는 이러한 문제가 발생하지 않도록 할 예정입니다.
또한, 이 문제를 해결한 엔진이 문제가 없다면 이번 주에 새로운 엔진을 릴리즈할 계획입니다.
엔진 버전 :1.55.2
문의 내용 : POI 타입의 레이어를 호출하는데 지도 확대 시 꺼지는 현상이 발생됩니다. 엔진에서 레벨 조정이 가능한가요 ?
확대 안 할 경우
확대 할 경우