PanelProperty

객체 속성 표시 패널 클래스.
A Panel that shows the properties of an object.

new Ditap.PanelProperty(options)

Name Type Description
options object 다음과 같은 속성을 가진 객체.
Object with the following properties:
Name Type Description
container Element optional 패널을 생성할 컨테이너 요소.
A panel container element.
viewer DitapViewer optional 사용할 Ditap Viewer 인스턴스.
he DitapViewer instance to use.
selectedObject object optional 선택된 객체.
The selected object.
properties Array.<string> optional 선택 객체의 속성.
The properties of selected object.
propertyCallback function optional 속성 콜백 함수.
property callback Function.
Example:
const viewer = new Ditap.DitapViewer("ditapContainer");

const position1 = new Ditap.Cartesian3.fromDegrees(
  126.97759025002786,
  37.56679755138474
);
const position2 = new Ditap.Cartesian3.fromDegrees(
  126.97764810657144,
  37.566518888624664
);

// LinestringEntity instance 생성
const linestringEntity = new Ditap.LinestringEntity(viewer, [
  position1,
  position2,
]);

const linestringEntityProperty = 
  {
     properties: {
       id: "line2",
       position1 : position1,
       position2 : position2
     }
  };

// 비동기로 속성값을 요청하는 promise를 반환하는 함수
function getPropertiesPromise(selectedObject) {
  // 첫번째 파라미터로 받은 선택된 객체 인스턴스를 활용하여 콜백함수 작성
  if (!selectedObject) {
    return;
  }
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve([
        {
          title: "newObject",
          properties: {
            name: "objectName",
            content: "objectContent",
          },
        },
        {
          title: "newObject2",
          properties: {
            name: "objectName2",
            content: "objectContent2",
          },
        },
      ]);
    }, 2000);
  });
}
const ditapPanelElement = document.createElement("div");
ditapPanelElement.classList.add("ditap-panel");
document.body.append(ditapPanelElement);

const panel = new Ditap.PanelProperty(
  {
    container: ditapPanelElement,
    viewer: viewer,
    selectedObject: linestringEntity,
    properties: [linestringEntityProperty],
    propertyCallback: getPropertiesPromise,
  })

Methods

addProperties(properties)

패널 객체 속성 목록 추가.
Adds a list of object properties to the PanelProperty.
Name Type Description
properties object 추가할 객체 속성.
The properties of Entity.

close(element)

패널 닫기.
Close panel.
Name Type Description
element Element 매개변수가 없는 경우 wrapper 오픈.
If no parameter is entered, close wrapper.

runPropertyCallback(properties)

Run property Callback function.
Name Type Description
properties object The properties of Entity