矢量数据 基础类
参数名称 | 类型 | 描述信息 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object |
参数对象,包括以下:
|
参考:
继承
成员(属性)
是否允许鼠标穿透拾取
属性信息
指定时间范围内显示该对象 [提示:仅部分子类实现,非所有对象都支持]
使用示例:
// 普通传值方式,多个【建议】
graphic.availability = [
{ start: "2017-08-25 08:00:00", stop: "2017-08-25 08:01:20", isStartIncluded: true, isStopIncluded: false },
{ start: "2017-08-25 09:00:00", duration: 10 } //支持不配置stop,直接配置duration秒数时长
]
// 也支持相对时间的 秒数 传值(相对于map.clock.startTime)
graphic.availability = [
{ start: 0, stop: 10, isStartIncluded: true, isStopIncluded: false },
{ start:30, duration: 10 } //支持不配置stop,直接配置duration秒数时长
]
// 普通传值方式,单个
graphic.availability = { start: "2017-08-25 08:00:00", stop: "2017-08-25 08:01:20", isStartIncluded: true, isStopIncluded: false }
// cesium原生写法, 多个
graphic.availability = new Cesium.TimeIntervalCollection([
new Cesium.TimeInterval({
start: Cesium.JulianDate.fromDate(new Date("2017-08-25 08:00:00")),
stop: Cesium.JulianDate.fromDate(new Date("2017-08-25 08:00:20")),
isStartIncluded: true,
isStopIncluded: false
}),
])
// cesium原生写法,单个
graphic.availability = new Cesium.TimeInterval({
start: Cesium.JulianDate.fromDate(new Date("2017-08-25 08:00:00")),
stop: Cesium.JulianDate.fromDate(new Date("2017-08-25 08:00:20")),
isStartIncluded: true, //等于start时,是否显示
isStopIncluded: false //等于stop时,是否显示
})
中心点坐标(笛卡尔坐标)
readonly centerPoint : LngLatPoint
graphic/BaseGraphic.js 538
中心点坐标
readonly czmObject : Cesium.Entity|Cesium.Primitive|Cesium.GroundPrimitive|Cesium.ClassificationPrimitive|*
graphic/BaseGraphic.js 224
矢量数据对应的 Cesium内部对象 (不同子类中实现)
当前地图的ellipsoid
设置事件的启用和禁用状态
从参考系到所提供椭球体的固定参考系的4x4变换矩阵
是否 后端动态属性
是否 后端动态坐标
是否支持聚合
是否可以编辑
是否可以调整透明度
对象的id标识
是否已添加到图层
是否被聚合
是否已经销毁了
是否为点状数据 true: 点状,有position坐标 false:线面,有positions坐标
是否Mars3D内部的私有对象,如标绘拖拽点等
名称
当前类的构造参数
- 继承自:
对象的pid标识
显示隐藏状态(属性值)
readonly state : State
graphic/BaseGraphic.js 183
当前对象的状态
样式信息
矢量数据类型
方法
对象添加到图层上的创建钩子方法, 每次add时都会调用
参数名称 | 类型 | 描述信息 |
---|---|---|
style |
object |
完整样式信息 |
返回值:
无
对象添加到图层前创建一些对象的钩子方法, 只会调用一次
返回值:
无
对象从图层上移除的创建钩子方法, 每次remove时都会调用
返回值:
无
addEventParent(obj) → BaseClass
core/BaseClass.js 307
添加抛出事件到父类,它将接收传播的事件
参数名称 | 类型 | 描述信息 |
---|---|---|
obj |
object |
父类对象 |
返回值:
当前对象本身,可以链式调用
addTo(layer) → BaseGraphic|*
graphic/BaseGraphic.js 582
添加到图层上,同 layer.addGraphic
参数名称 | 类型 | 描述信息 |
---|---|---|
layer |
GraphicLayer |
图层对象 |
返回值:
当前对象本身,可以链式调用
bindContextMenu(content, options) → BaseGraphic|*
graphic/BaseGraphic.js 1594
绑定右键菜单
参数名称 | 类型 | 默认值 | 描述信息 | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
content |
Array.<object> |
右键菜单配置数组,数组中每一项包括:
|
|||||||||||||||||||
options |
object |
{}
|
可选
控制参数
|
返回值:
当前对象本身,可以链式调用
使用示例:
graphic.bindContextMenu([
{
text: '删除对象',
icon: 'fa fa-trash-o',
callback: function (e) {
let graphic = e.graphic
if (graphic) {
graphic.remove()
}
},
},
])
绑定鼠标移入或单击后的 对象高亮
参数名称 | 类型 | 描述信息 | ||||||
---|---|---|---|---|---|---|---|---|
options |
object |
高亮的样式,具体见各
|
返回值:
无
bindPickId(item) → BaseGraphic|*
graphic/BaseGraphic.js 607
绑定Cesium内部对象进行相关管理。
参数名称 | 类型 | 描述信息 |
---|---|---|
item |
* |
Cesium对象 |
返回值:
当前对象本身,可以链式调用
bindPopup(content, options) → BaseGraphic|*
graphic/BaseGraphic.js 1375
绑定鼠标单击对象后的弹窗。
参数名称 | 类型 | 描述信息 |
---|---|---|
content |
string | function |
弹窗内容html字符串,或者回调方法。 |
options |
Popup.StyleOptions |
可选
控制参数 |
返回值:
当前对象本身,可以链式调用
bindTooltip(content, options) → BaseGraphic|*
graphic/BaseGraphic.js 1473
绑定鼠标移入的弹窗
参数名称 | 类型 | 描述信息 |
---|---|---|
content |
string | function |
弹窗内容html字符串,或者回调方法。 |
options |
Tooltip.StyleOptions |
可选
控制参数 |
返回值:
当前对象本身,可以链式调用
清除 后端动态坐标
返回值:
closeContextMenu() → BaseGraphic|*
graphic/BaseGraphic.js 1642
关闭右键菜单
返回值:
当前对象本身,可以链式调用
closePopup() → BaseGraphic|*
graphic/BaseGraphic.js 1428
关闭弹窗
返回值:
当前对象本身,可以链式调用
closeSmallTooltip() → BaseGraphic|*
graphic/BaseGraphic.js 1671
关闭小提示窗
返回值:
当前对象本身,可以链式调用
closeTooltip() → BaseGraphic|*
graphic/BaseGraphic.js 1522
关闭弹窗
返回值:
当前对象本身,可以链式调用
销毁当前对象
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
noDel |
boolean |
false
|
可选
false:会自动delete释放所有属性,true:不delete绑定的变量 |
返回值:
无
- 继承自:
启用或禁用所有内部控件(含tooltip、popup、contextmenu)
参数名称 | 类型 | 描述信息 |
---|---|---|
value |
boolean |
是否启用 |
返回值:
无
fire(type, data, propagate) → BaseClass
core/BaseClass.js 203
触发指定类型的事件。
参数名称 | 类型 | 描述信息 |
---|---|---|
type |
EventType | string |
事件类型 |
data |
object |
可选
传输的数据或对象,可在事件回调方法中event对象中获取进行使用 |
propagate |
BaseClass |
可选
将事件传播给父类 (用addEventParent设置) |
返回值:
当前对象本身,可以链式调用
- 继承自:
飞行定位至 数据所在的视角
参数名称 | 类型 | 默认值 | 描述信息 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object |
{}
|
可选
参数对象:
|
返回值:
如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise
获取后端动态属性,当存在attr是动态属性配置时可用【attr.type === "ajax" && attr.url】
返回值:
实时获取当前的动态属性值
获取时间范围的简单对象数组(转为相对map.clock.startTime的相对数字)
返回值:
时间对象列表
获取指定时间下的时序对应的 显示隐藏 状态
参数名称 | 类型 | 描述信息 |
---|---|---|
time |
Cesium.JulianDate |
指定时间 |
返回值:
显示隐藏 状态
获取绑定的右键菜单数组
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
hasLayer |
boolean |
true
|
可选
是获取图层上的右键菜单 |
返回值:
右键菜单数组
获取数据的最大高度
返回值:
高度
getPopup() → Popup
graphic/BaseGraphic.js 1439
获取当前对象打开的Popup对象
返回值:
当前对象打开的Popup对象
获取当前对象真实实际的显示状态
参数名称 | 类型 | 描述信息 |
---|---|---|
time |
Cesium.JulianDate |
可选
当前时间,不传时不做availability判断 |
返回值:
真实的实时显示状态,当时序范围外,被聚合时返回的是false
获取数据的矩形边界
参数名称 | 类型 | 描述信息 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
boolean |
可选
控制参数
|
返回值:
isFormat:true时,返回格式化对象,isFormat:false时返回Cesium.Rectangle对象
getTooltip() → Tooltip
graphic/BaseGraphic.js 1533
获取当前对象打开的Tooltip对象
返回值:
当前对象打开的Tooltip对象
是否有绑定的右键菜单
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
hasLayer |
boolean |
true
|
可选
是否判断图层上的右键菜单 |
返回值:
是否有绑定
是否绑定了抛出事件到指定父类
参数名称 | 类型 | 描述信息 |
---|---|---|
obj |
object |
父类对象 |
返回值:
是否绑定了抛出事件
是否存在Popup绑定
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
hasLayer |
boolean |
true
|
可选
是否判断图层上的Popup |
返回值:
是否存在Popup绑定
是否绑定了tooltip
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
hasLayer |
boolean |
true
|
可选
是否判断图层上的tooltip |
返回值:
是否绑定
判断点坐标是否在球的背面 或当前视域屏幕内
参数名称 | 类型 | 描述信息 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
position |
Cesium.Cartesian3 |
可选
坐标 |
||||||||
options |
object |
可选
参数
|
返回值:
是否后端动态坐标
是否有绑定指定的事件
参数名称 | 类型 | 描述信息 |
---|---|---|
type |
EventType | string |
事件类型 |
propagate |
BaseClass |
可选
是否判断指定的父类 (用addEventParent设置的) |
返回值:
是否存在
- 继承自:
off(types, fn, context) → BaseClass
core/BaseClass.js 95
解除绑定指定类型事件监听器
参数名称 | 类型 | 描述信息 |
---|---|---|
types |
EventType | string | Array.<EventType> |
可选
事件类型,未传值时解绑所有事件 |
fn |
function |
可选
绑定的监听器回调方法,未传值时解绑所有指定类型对应事件,特殊说明:map.on监听的Cesium相关原生事件时必须传入该参数 |
context |
object |
可选
侦听器的上下文(this关键字将指向的对象)。 |
返回值:
当前对象本身,可以链式调用
- 继承自:
on(types, fn, context) → BaseClass
core/BaseClass.js 61
绑定指定类型事件监听器, 支持在监听中调用 event.stopPropagation(); 阻止事件冒泡
参数名称 | 类型 | 描述信息 |
---|---|---|
types |
EventType | string | Array.<EventType> | Array.<string> | object |
事件类型 |
fn |
function |
绑定的监听器回调方法 |
context |
object |
可选
侦听器的上下文(this关键字将指向的对象)。 |
返回值:
当前对象本身,可以链式调用
- 继承自:
once(types, fn, context) → BaseClass
core/BaseClass.js 284
绑定一次性执行的指定类型事件监听器 与on类似,监听器只会被触发一次,然后被删除。
参数名称 | 类型 | 描述信息 |
---|---|---|
types |
EventType | string | Array.<EventType> |
事件类型 |
fn |
function |
绑定的监听器回调方法 |
context |
object |
可选
侦听器的上下文(this关键字将指向的对象)。 |
返回值:
当前对象本身,可以链式调用
- 继承自:
openContextMenu(position) → BaseGraphic|*
graphic/BaseGraphic.js 1627
打开右键菜单
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
position |
Cesium.Cartesian3 |
this.center
|
可选
矢量对象 或 显示的位置 |
返回值:
当前对象本身,可以链式调用
openPopup(position, event) → BaseGraphic|*
graphic/BaseGraphic.js 1409
打开绑定的弹窗
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
position |
LngLatPoint | Cesium.Cartesian3 | Array.<number> | * |
this.center
|
可选
矢量对象 或 显示的位置 |
event |
object |
可选
用于抛出事件时的相关额外属性 |
返回值:
当前对象本身,可以链式调用
openSmallTooltip(position, message) → BaseGraphic|*
graphic/BaseGraphic.js 1659
显示小提示窗,一般用于鼠标操作的提示。
参数名称 | 类型 | 描述信息 |
---|---|---|
position |
Cesium.Cartesian2 | Cesium.Cartesian3 |
显示的屏幕坐标位置 或 笛卡尔坐标位置 |
message |
* |
显示的内容 |
返回值:
当前对象本身,可以链式调用
openTooltip(position, event) → BaseGraphic|*
graphic/BaseGraphic.js 1505
打开绑定的tooltip弹窗
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
position |
LngLatPoint | Cesium.Cartesian3 | Array.<number> |
this.center
|
可选
显示的位置,默认为矢量对象所在点或中心点位置 |
event |
object |
可选
用于抛出事件时的相关额外属性 |
返回值:
当前对象本身,可以链式调用
从图层上移除,同 layer.removeGraphic
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
hasDestroy |
boolean |
true
|
可选
是否调用destroy释放 |
返回值:
无
removeEventParent(obj) → BaseClass
core/BaseClass.js 320
移除抛出事件到父类
参数名称 | 类型 | 描述信息 |
---|---|---|
obj |
object |
父类对象 |
返回值:
当前对象本身,可以链式调用
设置后端动态坐标,当存在点状对象是动态属性配置时可用【position.type === "ajax" && position.url)】
参数名称 | 类型 | 描述信息 |
---|---|---|
position |
BaseGraphic.AjaxPosition |
动态坐标配置 |
返回值:
是否后端动态坐标
设置整体透明度(globalAlpha值), 不是所有类型均支持,主要看数据类型和材质类型决定。 对象本身透明度请用 graphic.setStyle({ opacity: value })
参数名称 | 类型 | 描述信息 |
---|---|---|
value |
number |
透明度 |
返回值:
无
setOptions(options) → BaseGraphic|*
graphic/BaseGraphic.js 787
重新赋值参数,同构造方法参数一致。
参数名称 | 类型 | 描述信息 |
---|---|---|
options |
object |
参数,与类的构造方法参数相同 |
返回值:
当前对象本身,可以链式调用
setStyle(newStyle, hasMerge) → BaseGraphic|*
graphic/BaseGraphic.js 853
设置 样式信息 的钩子方法
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
newStyle |
object |
本次更新的部分样式信息,内部会合并属性 |
|
hasMerge |
boolean |
true
|
可选
是否合并,如果传入的newStyle是完整对象时,hasMerge可传false |
返回值:
当前对象本身,可以链式调用
将矢量数据导出为GeoJSON格式规范对象。
参数名称 | 类型 | 描述信息 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object |
可选
参数对象:
|
返回值:
GeoJSON格式规范对象
将矢量数据的坐标、样式及属性等信息导出为对象,可以用于存储。
返回值:
导出的坐标、样式及属性等信息
unbindContextMenu(bubbling) → BaseGraphic|*
graphic/BaseGraphic.js 1612
解除绑定的右键菜单
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
bubbling |
boolean |
false
|
可选
单击事件中是否继续冒泡查找 |
返回值:
当前对象本身,可以链式调用
解绑鼠标移入或单击后的高亮处理
返回值:
无
unbindPopup(bubbling) → BaseGraphic|*
graphic/BaseGraphic.js 1392
解除绑定的鼠标单击对象后的弹窗。
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
bubbling |
boolean |
false
|
可选
单击事件中是否继续冒泡往上级查找 |
返回值:
当前对象本身,可以链式调用
unbindTooltip(bubbling) → BaseGraphic|*
graphic/BaseGraphic.js 1489
解除绑定的鼠标移入对象后的弹窗。
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
bubbling |
boolean |
false
|
可选
单击事件中是否继续冒泡查找 |
返回值:
当前对象本身,可以链式调用
定义的类型
【从后端读取的动态属性】
动态时SDK内判断规则: if (attr.type === "ajax" && attr.url)
动态属性仅Popup等使用时才会自动获取,如外部代码中需要使用时,请调用代码实时获取: let attr = await graphic.getAjaxAttr()
属性:
属性名称 | 类型 | 可选 | 默认值 | 描述信息 |
---|---|---|---|---|
type |
string | 类型,目前仅支持 "ajax" |
||
url |
string | 后端服务URL地址 |
||
queryParameters |
object |
<可选> |
与请求一起发送的 URL 参数,例如 {id: 1987 } |
|
headers |
object |
<可选> |
一个对象,将发送的其他HTTP标头。比如:headers: { 'X-My-Header': 'valueOfHeader' } |
|
dataColumn |
string |
<可选> |
接口返回数据中,对应的属性数据所在的读取字段名称,支持多级(用.分割);如果数据直接返回时可以不配置。 |
|
cacheTime |
number |
<可选> |
1 | 在time秒内再次访问读取时,直接使用上一次历史值,避免高频访问后端。 |
【从后端读取的动态坐标】
动态时SDK内判断规则: if (position.type === "ajax" && position.url)
属性:
属性名称 | 类型 | 可选 | 默认值 | 描述信息 |
---|---|---|---|---|
type |
string | 类型,目前仅支持 "ajax" |
||
url |
string | 后端服务URL地址 |
||
queryParameters |
object |
<可选> |
与请求一起发送的 URL 参数,例如 {id: 1987 } |
|
headers |
object |
<可选> |
一个对象,将发送的其他HTTP标头。比如:headers: { 'X-My-Header': 'valueOfHeader' } |
|
dataColumn |
string |
<可选> |
接口返回数据中,对应的属性数据所在的读取字段名称,支持多级(用.分割);如果数据直接返回时可以不配置。 |
|
latColumn |
string |
<可选> |
"lat" | 纬度值对应的字段名称, 如果数据内有position字段,position的优先级高于lngColumn |
lngColumn |
string |
<可选> |
"lng" | 经度值对应的字段名称 |
altColumn |
string |
<可选> |
"alt" | 高度值对应的字段名称 |
time |
number |
<可选> |
无配置时仅取值一次,有值时间隔time秒后不断取 |
当前类支持的EventType
事件类型
属性:
属性名称 | 类型 | 描述信息 |
---|---|---|
add |
string | 本身被添加 |
remove |
string | 本身被移除 |
show |
string | 显示了对象本身 |
hide |
string | 隐藏了对象本身 |
updatePosition |
string | 更新了坐标位置 |
updateStyle |
string | 更新了style对象 |
updateAttr |
string | 更新了attr对象 |
click |
string | 左键单击 鼠标事件 【仅支持交互的相关对象内存在】 |
rightClick |
string | 右键单击 鼠标事件 |
mouseOver |
string | 鼠标移入 鼠标事件 |
mouseOut |
string | 鼠标移出 鼠标事件 |
popupOpen |
string | popup弹窗打开后 |
popupClose |
string | popup弹窗关闭 |
tooltipOpen |
string | tooltip弹窗打开后 |
tooltipClose |
string | tooltip弹窗关闭 |
contextMenuOpen |
string | 右键菜单 打开后 |
contextMenuClose |
string | 右键菜单 关闭 |
contextMenuClick |
string | 右键菜单 单击某一项后 |
highlightOpen |
string | highlight高亮后 |
highlightClose |
string | highlight关闭后 |
postRender |
string | 每帧渲染 【仅DIV或Popup相关对象内存在】 |
drawStart |
string | 开始绘制 标绘事件 【仅支持标绘的相关对象内存在】 |
drawMouseMove |
string | 正在移动鼠标中,绘制过程中鼠标移动了点 标绘事件 |
drawAddPoint |
string | 绘制过程中增加了点 标绘事件 |
drawRemovePoint |
string | 绘制过程中删除了最后一个点 标绘事件 |
drawCreated |
string | 创建完成 标绘事件 |
editStart |
string | 开始编辑 标绘事件 【仅支持编辑的相关对象内存在】 |
editMouseDown |
string | 移动鼠标按下左键(LEFT_DOWN)标绘事件 |
editMouseMove |
string | 正在移动鼠标中,正在编辑拖拽修改点中(MOUSE_MOVE) 标绘事件 |
editMovePoint |
string | 编辑修改了点(LEFT_UP)标绘事件 |
editRemovePoint |
string | 编辑删除了点 标绘事件 |
editStyle |
string | 图上编辑修改了相关style属性 标绘事件 |
editStop |
string | 停止编辑 标绘事件 |
load |
string | 相关数据或对象加载完成后【仅 ModelEntity、ModelPrimitive、DivGraphic 类及其子类部分对象存在】 |
stop |
string | 模型addDynamicPosition添加的动态点,到时时间停止后触发【仅addDynamicPosition动态点时存在】 |
使用示例:
//绑定监听事件
graphic.on(mars3d.EventType.click, function (event) {
console.log('单击了矢量数据对象', event)
})