Skip to content

Class: DrawHandler

绘制处理对象类,支持画点、线、面、标记,基于 Primitive 绘制 所有的绘制都以右键结束

Table of contents

Constructors

Properties

Accessors

Methods

Constructors

constructor

new DrawHandler(viewer, mode, options?): DrawHandler

绘制处理对象类,支持画点、线、面、标记,基于 Primitive 绘制 所有的绘制都以右键结束

Parameters

NameTypeDescription
viewerViewer视图对象
modeDrawMode绘制模式,包含点、线、面
options?DrawHandlerOptionsoptions

Returns

DrawHandler

Defined in

src/interaction/DrawHandler/index.ts:331

Properties

anchorInterceptor

anchorInterceptor: (screenPosition: Cartesian2, position: Cartesian3) => boolean

锚点的拦截器,适用在所有的绘制中。 一定是一个自运行的并返回 true / false 的函数,接收的参数是拾取到的屏幕坐标和世界坐标 Cartesian2 Cartesian3 信息。 当该函数返回是 true 时,锚点事件将继续,否则将拦截往下运行绘制点等任何操作。

Example

js
drawHandler.anchorInterceptor = (screenPosition, position) => {
  return true;
};

Type declaration

▸ (screenPosition, position): boolean

锚点的拦截器,适用在所有的绘制中。 一定是一个自运行的并返回 true / false 的函数,接收的参数是拾取到的屏幕坐标和世界坐标 Cartesian2 Cartesian3 信息。 当该函数返回是 true 时,锚点事件将继续,否则将拦截往下运行绘制点等任何操作。

Parameters
NameType
screenPositionCartesian2
positionCartesian3
Returns

boolean

Example

js
drawHandler.anchorInterceptor = (screenPosition, position) => {
  return true;
};

Defined in

src/interaction/DrawHandler/index.ts:136


activeEvent

Readonly activeEvent: Event<(...args: any[]) => void>

激活绘制事件,当 DrawHandler#activate 激活 handler 事件

Memberof

DrawHandler

Example

js
drawHandler.activeEvent.addEventListener(function (isActive) {});

Defined in

src/interaction/DrawHandler/index.ts:152


anchorEvent

Readonly anchorEvent: Event<(...args: any[]) => void>

锚点事件监听,当在绘制线、面时候才起作用

Memberof

DrawHandler

Example

js
drawHandler.anchorEvent.addEventListener(function (cartesian) {
  // 返回位置点信息
});

Defined in

src/interaction/DrawHandler/index.ts:166


drewEvent

Readonly drewEvent: Event<(...args: any[]) => void>

绘制结束事件:

  • 当绘制模式是 DrawMode.Point 时,返回绘制点和点图元以及点图元集合 (Cartesian3, PointPrimitive,primitiveCollection)
  • 当绘制模式是 DrawMode.Line 时,返回绘制点集合和线图元 ([Cartesian3, ...], Primitive || GroundPolylinePrimitive)
  • 当绘制模式是 DrawMode.Polygon 时,返回绘制点集合和面图元 ([Cartesian3, ...], Primitive || GroundPrimitive)
  • 当绘制模式是 DrawMode.Point 时,返回绘制点和 Billboard (Cartesian3, Billboard)

Memberof

DrawHandler

Example

js
drawHandler.drewEvent.addEventListener(function (result) {});

Defined in

src/interaction/DrawHandler/index.ts:186


lineStyle

lineStyle: LineStyle

绘制线样式,包含:

  • geometry 几何图形,是除去 positions 的 GroundPolylineGeometry 或者 PolylineGeometry
  • attributes 属性是 GeometryInstance#attributes,
  • appearance 外观
  • depthFailAppearance 深度测试失败时对该基本体进行着色的外观

Memberof

DrawHandler

Example

Default Value :

js
 {
   id: "jodvf-draw-line",
   geometry: {
     width: 2,
     vertexFormat: VertexFormat.ALL,
   },
   attributes: {
     color: ColorGeometryInstanceAttribute.fromColor(Color.CYAN),
   },
   appearance: new PolylineColorAppearance({ translucent: false }),
   depthFailAppearance: undefined,
 }

Defined in

src/interaction/DrawHandler/index.ts:215


markerStyle

markerStyle: BillboardGraphics

标记的样式,和 Billboard 的属性一样,但除去 positions

Memberof

DrawHandler

Default

ts
null;

Example

js
{
  image: "./images/logo-white.png";
}

Defined in

src/interaction/DrawHandler/index.ts:230


movingEvent

Readonly movingEvent: Event<(...args: any[]) => void>

鼠标滑动事件监听,当在绘制线、面时候才起作用

Memberof

DrawHandler

Example

js
drawHandler.movingEvent.addEventListener(function (screenPosition) {
  // 返回屏幕位置点信息
});

Defined in

src/interaction/DrawHandler/index.ts:245


pointStyle

pointStyle: PointPrimitive

绘制点的样式

Memberof

DrawHandler

Default

ts
new Cesium.PointPrimitive({ color: Cesium.Color.CYAN });

Defined in

src/interaction/DrawHandler/index.ts:271


polygonStyle

polygonStyle: PolygonStyle

绘制面样式,包含:

  • geometry 几何图形,是除去 polygonHierarchy 的 PolygonGeometry 或者 CoplanarPolygonGeometry
  • attributes 属性是 GeometryInstance#attributes
  • appearance 外观
  • depthFailAppearance 深度测试失败时对该基本体进行着色的

Memberof

DrawHandler

Default

ts
{
      id: "draw-editable-line",
      geometry: {
        width: 2,
        vertexFormat: PolylineColorAppearance.VERTEX_FORMAT,
      },
      attributes: {
        color: ColorGeometryInstanceAttribute.fromColor(Color.CYAN),
      },
      appearance: new PolylineColorAppearance({
        translucent: false,
      }),
      depthFailAppearance: void 0,
    }

Defined in

src/interaction/DrawHandler/index.ts:299


viewer

viewer: Viewer

Defined in

src/interaction/DrawHandler/index.ts:301


isShowDeleteBtn

isShowDeleteBtn: boolean

是否显示删除按钮

Defined in

src/interaction/DrawHandler/index.ts:323

Accessors

enableAssist

get enableAssist(): boolean

是否启用辅助功能,开启后会在画线/面时,同时绘制点/线的辅助作用

Returns

boolean

Memberof

DrawHandler

Defined in

src/interaction/DrawHandler/index.ts:1487

set enableAssist(value): void

Parameters

NameType
valueboolean

Returns

void

Defined in

src/interaction/DrawHandler/index.ts:1491


mode

get mode(): DrawMode

绘制模式

Returns

DrawMode

Memberof

DrawHandler

Defined in

src/interaction/DrawHandler/index.ts:1514

set mode(value): void

Parameters

NameType
valueDrawMode

Returns

void

Defined in

src/interaction/DrawHandler/index.ts:1518


classificationType

get classificationType(): ClassificationType

贴合类型

Returns

ClassificationType

Defined in

src/interaction/DrawHandler/index.ts:1528

set classificationType(value): void

Parameters

NameType
valueClassificationType

Returns

void

Defined in

src/interaction/DrawHandler/index.ts:1532


drawLayer

get drawLayer(): PrimitiveCollection

绘制图元集合

Returns

PrimitiveCollection

Memberof

DrawHandler

Defined in

src/interaction/DrawHandler/index.ts:1542


positions

get positions(): Cartesian3[]

绘制点的集合,只当绘制线、面时有值

Returns

Cartesian3[]

Memberof

DrawHandler

Defined in

src/interaction/DrawHandler/index.ts:1552


closePrompt

get closePrompt(): boolean

是否关闭绘制时的提示,为 true 时会在画线/面同时关闭绘制线/面的辅助提示作用

Returns

boolean

Defined in

src/interaction/DrawHandler/index.ts:1559

set closePrompt(value): void

Parameters

NameType
valueboolean

Returns

void

Defined in

src/interaction/DrawHandler/index.ts:1563


drawing

get drawing(): boolean

获取是否在绘制中状态

Returns

boolean

Defined in

src/interaction/DrawHandler/index.ts:1570


primitive

get primitive(): SimplePolygon | SimplePolyline

获取当前绘制线/面时的 primitive

Returns

SimplePolygon | SimplePolyline

Memberof

DrawHandler

Defined in

src/interaction/DrawHandler/index.ts:1580

Methods

drawPoint

drawPoint(viewer, position, pointStyle): PointPrimitiveCollection

绘制点静态方法, 可以通过点和样式绘制

Parameters

NameTypeDescription
viewerViewer视图
positionCartesian3 | Cartesian3[]
pointStylePointPrimitive点样式,类似 DrawHandler#pointStyle

Returns

PointPrimitiveCollection

PointPrimitiveCollection 点集合;

Example

js
joDVF.DrawHandler.drawPoint(
  viewer,
  [
    Cesium.Cartesian3.fromDegrees(118.914512, 32.107864),
    Cesium.Cartesian3.fromDegrees(118.922781, 32.101756)
  ],
  new Cesium.PointPrimitive({ color: Cesium.Color.CYAN })
);

Defined in

src/interaction/DrawHandler/index.ts:522


drawLine

drawLine(viewer, positions, lineStyle?, classificationType?): SimplePolyline

绘制线静态方法, 可以通过点和样式绘制

Parameters

NameTypeDescription
viewerViewer视图
positionsCartesian3[]点集合
lineStyle?LineStyle线的样式
classificationType?ClassificationType贴合类型

Returns

SimplePolyline

Defined in

src/interaction/DrawHandler/index.ts:1030


drawPolygon

drawPolygon(viewer, positions, polygonStyle?, classificationType?): SimplePolygon

绘制面静态方法, 可以通过点和样式绘制

Parameters

NameTypeDescription
viewerViewer视图
positionsCartesian3[]点集合
polygonStyle?PolygonStyle面的样式
classificationType?ClassificationType贴合类型

Returns

SimplePolygon

Defined in

src/interaction/DrawHandler/index.ts:1051


activate

activate(): void

绘制类激活 handler

Returns

void

Defined in

src/interaction/DrawHandler/index.ts:1069


cancel

cancel(): void

取消当前绘制, 用在绘制未结束时

Returns

void

Memberof

DrawHandler

Defined in

src/interaction/DrawHandler/index.ts:1098


clear

clear(): void

清除所绘制的图元

Returns

void

Memberof

DrawHandler

Defined in

src/interaction/DrawHandler/index.ts:1109


clearPrimitive

clearPrimitive(primitive): void

清除指定图元

Parameters

NameType
primitiveany

Returns

void

Defined in

src/interaction/DrawHandler/index.ts:1127


deactivate

deactivate(): void

handler 停止工作,可激活

Returns

void

Memberof

DrawHandler

Defined in

src/interaction/DrawHandler/index.ts:1135


destroy

destroy(isClear?): void

销毁,但不清除数据和图元

Parameters

NameTypeDescription
isClear?boolean是否要销毁移除图层

Returns

void

Defined in

src/interaction/DrawHandler/index.ts:1146


endDraw

endDraw(): boolean

手动结束绘制, 用在绘制未结束时

Returns

boolean

Defined in

src/interaction/DrawHandler/index.ts:1172


startEdit

startEdit(positions, type): void

开始编辑

Parameters

NameTypeDescription
positionsCartesian3[]实体坐标点
typeDrawMode

Returns

void

Defined in

src/interaction/DrawHandler/index.ts:1233


quitEdit

quitEdit(): SimplePolygon | SimplePolyline

退出编辑

Returns

SimplePolygon | SimplePolyline

Defined in

src/interaction/DrawHandler/index.ts:1430