Tracker

Tracker

특정 영역을 선택하기 위한 트래커 전용 클래스 이다.
트래커는 사각형, 원, 타원, 폴리곤 형식을 지원한다.

Constructor

new Tracker()

객체 초기 상태를 설정한다.

Methods

handlerClear()

트래커 객체를 삭제한다.

Example
tracker.handlerClear();

select(type, continuity, callback) → {bool}

Example
var tracker = new D2.Core.Tracker(window.map);
 tracker.setStyle([0, 0, 255, 1.0], 2, [128, 128, 128, 0.2]);
 tracker.select('ellipse', false, function (extent, paramCenter, paramSemiMajor, paraSemiMinor) {
     console.log(extent, paramCenter, paramSemiMajor, paraSemiMinor);    

     var center = ol.proj.transform(paramCenter, 'EPSG:3857', 'EPSG:4326'); //Google Mercator를 경위도로 환산
     console.log(center);

     var coordinateCenter = paramCenter; 
     var semiMajor = paramSemiMajor;
     var semiMinor = paraSemiMinor;
     var coordinates = ellipse(coordinateCenter, semiMajor, semiMinor);

     //OL 폴리곤 객체를 생성한다.
     //OL 원(Circle)을 사용하지 않고 Polygon으로 생성한 이유는 정확한 반경값 계산을 위해서 이다.
     var feature = new ol.Feature(new ol.geom.Polygon([coordinates]));

     //원형 객체에 스타일을 설정한다.
     var style = new ol.style.Style({
             stroke: new ol.style.Stroke({
             color: [0, 0, 255, 1.0], //'rgba(0, 0, 255, 0.5)', //배열이나 rgba로 색상처리 모두 가능
             width: 2
         }),
         fill: new ol.style.Fill({
              color: [128, 128, 128, 0.3]
          }),
         zIndex: 500
     });
     feature.setStyle(style);
     feature.setProperties({ properties: { SIDC: 'Circle' }, queryStatus: 0, visible: true });

     //객체 도시를 도시하도록 생성된 피쳐를 등록한다.
     olSource.addFeature(feature);

     //~~~ 

     //트래커 객체 삭제
      tracker.handlerClear();
});
Parameters:
Name Type Description
type string

트래커 종류 설정('rectangle', 'circle', 'ellipse', 'polygon')

continuity bool

트래커 계속 작동 여부

callback callback

트래커 종류별 결과값을 callback으로 반환
type이 'rectangle'인 경우 트래커 영역[minX, minY, maxX, maxY] 반환
type이 'circle'인 경우 트래커 영역[minX, minY, maxX, maxY], 중심점[startX, startY], 반경 반환(radius)
type이 'ellipse'인 경우 트래커 영역[minX, minY, maxX, maxY], 중심점, 장반경, 단반경 반환
type이 'polygon'인 경우 트래커 영역[minX, minY, maxX, maxY], 폴리곤 배열값 반환

Returns:

select 성공여부 반환

Type
bool

setStyle(lineColor, lineWidth, fillColor)

트래커 스타일을 설정한다.

Example
var tracker = new D2.Core.Tracker(window.map);
tracker.setStyle([0, 0, 255, 1.0], 2, [128, 128, 128, 0.2]);
Parameters:
Name Type Description
lineColor color

트래커 라인색 설정

lineWidth number

트래커 라인 두께 설정

fillColor color

트래커 채움색 설정