FingerEyes-Xr에서 제공하는 DeferableLabelText 클래스는 이원화된 DBMS로부터 데이터와 공간 데이터를 연계해 라벨의 텍스트로 표현할 수 있는 기능을 제공합니다. 이 글은 DeferableLabelText 클래스의 활용예에 대해서 최대한 간략하게 정리한 글입니다.
먼저 DeferableLabelText를 상속받은 예는 아래와 같습니다.
MyDeferableLabelText = Xr.Class({ name: "MyDeferableLabelText", extend: Xr.theme.DeferableLabelText, construct: function () { this.superclass(); }, methods: { /* void */ requestLabelText: function (fid) { var that = this; // 이 부분은 DBMS로부터 데이터를 가져오는 AJAX 코드로 대체되어야 할 부분 setTimeout(function () { that.setText(fid, "HELLO"); }, 1000); } } });
이렇게 정의한 MyDeferableLabelText 클래스는 수치지도 레이어에 지정되며 아래의 예와 같습니다.
var lyr = new Xr.layers.ShapeMapLayer(layerId, ...); lyr.deferableLabelText(new MyDeferableLabelText());