DrawTool

DrawTool

绘制控制类

Constructor

new DrawTool(viewer, obj)

Example
let drawTool = new DrawTool(window.viewer, {
    canEdit: true,
  });
  plotDrawTool.on("endCreate", function (entObj, ent) {});
  plotDrawTool.start({
      "name": "面",
      "type": "polygon",
      "style": {
          "color": "#0000ff",
          "outline": true,
          "outlineColor": "#ff0000",
          "heightReference": 1
      }
  })
Parameters:
Name Type Description
viewer Cesium.viewer 地图viewer对象
obj Object 相关属性配置
Properties
Name Type Description
canEdit Boolean 是否可编辑

Members

canEdit

Properties:
Name Type Description
canEdit Boolear 绘制的对象,是否可编辑

entityObjArr

Properties:
Name Type Description
entityObjArr Array 标绘对象数组

fireEdit

Properties:
Name Type Description
fireEdit Boolear 绘制的对象,是否直接进入编辑状态(需要canEdit==true)

startEditFun

Properties:
Name Type Description
nowEditEntityObj Object 当前编辑对象

Methods

closeEdit()

Description:
  • 关闭编辑功能

createByGeojson(data)

Description:
  • 由geojson格式数据创建对象
Parameters:
Name Type Description
data Object geojson格式数据

createByPositions(opt)

Description:
  • 根据坐标构建绘制对象
Parameters:
Name Type Description
opt Object 绘制的对象
Properties
Name Type Attributes Description
positions Array.<Cesium.Cartesian3> | Array 坐标数组
style Object 当前绘制对象的样式配置,具体配置见style;
success Funtion 创建完成的回调函数
show Boolean <optional>
创建完成后,是否展示

destroy()

Description:
  • 销毁

end()

Description:
  • 结束当前操作

endEdit()

Description:
  • 结束编辑

getEntityObjArr() → {Array}

Description:
  • 获取当前所有对象
Returns:
entityObjArr
Type
Array

getEntityObjByField(fieldName, fieldValueopt) → {Object}

Description:
  • 根据attr属性字段获取对象
Parameters:
Name Type Attributes Description
fieldName String 属性字段名称
fieldValue String <optional>
属性值,若不填,则默认以id进行查询
Returns:
obj 对象在数组中位置以及对象
Type
Object

getEntityObjById(id) → {Object}

Description:
  • 根据id获取对象,同getEntityObjByField('id',idvalue);
Parameters:
Name Type Description
id String | Number 创建时的attr中的id
Returns:
obj 对象在数组中位置以及对象
Type
Object

getEntityObjByObjId(id) → {Object}

Description:
  • 根据id获取对象
Parameters:
Name Type Description
id String | Number entityObj的objid
Returns:
obj 对象在数组中位置以及对象
Type
Object

hasEntityObj(entityObj)

Description:
  • 是否包含某个对象
Parameters:
Name Type Description
entityObj Object 绘制对象

on(type, fun)

Description:
  • 事件绑定
Parameters:
Name Type Description
type String 事件类型(startEdit 开始编辑时 / endEdit 编辑结束时 / remove 删除对象时 / endCreate 创建完成后)
fun function 绑定函数

openEdit()

Description:
  • 开启编辑功能

removeAll()

Description:
  • 移除全部绘制对象

removeById(id)

Description:
  • 根据attr.id移除创建的对象
Parameters:
Name Type Description
id String | Number 创建时的attr.id

removeByObjId(id)

Description:
  • 根据id移除创建的对象
Parameters:
Name Type Description
id String | Number 对象id

removeOne(entityObj)

Description:
  • 移除某个绘制对象
Parameters:
Name Type Description
entityObj Object 已绘制完成绘制对象

setVisible(id, visible)

Description:
  • 根据id设置对象的显示隐藏
Parameters:
Name Type Description
id String | Number 对象id
visible Boolean 是否展示

start(opt) → {Object}

Description:
  • 开始绘制
Parameters:
Name Type Description
opt Object 相关属性
Properties
Name Type Description
type String 绘制类型 polyline、polygon、billboard、circle、rectangle、gltfModel、point、label、arrow
style Object 当前绘制对象的样式配置,具体配置见style;
Returns:
entityObj 当前绘制对象
Type
Object

startEditOne(entityObj)

Description:
  • 开始编辑绘制对象
Parameters:
Name Type Description
entityObj Object 绘制的对象

toGeojson() → {Object}

Description:
  • 转为geojson格式
Returns:
featureCollection geojson格式数据
Type
Object

updateOneStyle(entityObj, style)

Description:
  • 修改绘制对象的样式
Parameters:
Name Type Description
entityObj Object 绘制的对象
style Object 样式

zoomToByObjId(id)

Description:
  • 根据id缩放至绘制的对象
Parameters:
Name Type Description
id String 对象id