gltf小模型图层(内部用 ModelPrimitive )
说明:主要用于studio场景平台管理发布1个gltf模型的矢量图层,常规开发请用GraphicLayer中直接加ModelPrimitive更方便管理
参数名称 | 类型 | 描述信息 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
可选
参数对象,包括以下:
|
使用示例:
//单个模型时,直接按下面传入position即可
let gltfLayer = new mars3d.layer.ModelLayer({
name: '上海浦东',
style: { url: 'http://data.mars3d.cn/gltf/mars/shanghai/scene.gltf', scale: 520, heading: 215 }, //style同标绘的model类型
position: [121.507762, 31.233975, 200],
})
map.addLayer(gltfLayer)
参考:
继承
成员(属性)
是否允许鼠标穿透拾取
指定时间范围内显示该对象 [提示:仅部分子类实现,非所有对象都支持]
- 继承自:
使用示例:
// 普通传值方式,多个【建议】
layer.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)
layer.availability = [
{ start: 0, stop: 10, isStartIncluded: true, isStopIncluded: false },
{ start:30, duration: 10 } //支持不配置stop,直接配置duration秒数时长
]
// 普通传值方式,单个
layer.availability = { start: "2017-08-25 08:00:00", stop: "2017-08-25 08:01:20", isStartIncluded: true, isStopIncluded: false }
// cesium原生写法, 多个
layer.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原生写法,单个
layer.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,
isStopIncluded: false
})
是否开启聚合(点数据时) ,如果修改属性请调用setOptions方法
当加载 DivGraphic 数据的内部DOM容器 DivGraphic
当加载Entity类型数据的内部Cesium容器 BaseEntity
readonly graphics : Array.<BaseGraphic>|Array
layer/graphicLayer/GraphicLayer.js 620
图层内的Graphic集合对象
当加载普通 贴地的 primitive类型数据的内部Cesium容器 BasePrimitive
是否自动激活编辑(true时,单击后自动激活编辑)
- 继承自:
是否可以调整透明度
- 继承自:
是否可以调整图层顺序(在同类型图层间)
对象的id标识
- 继承自:
是否已添加到地图
- 继承自:
完成标绘时是否自动启动编辑(需要hasEdit:true时)
是否连续标绘
是否已经销毁了
- 继承自:
是否正在编辑状态
是否正在编辑状态
是否Mars3D内部的私有对象,如标绘拖拽点等
- 继承自:
图层内的Graphic矢量数据个数
- 继承自:
名称 标识
- 继承自:
获取当前图层中所有对象,用于贴模型分析时,排除的不进行贴模型计算的模型对象
透明度,取值范围:0.0-1.0
- 继承自:
对象的pid标识
- 继承自:
当加载 DivGraphic 数据的DIV是否可以鼠标交互,为false时可以穿透操作及缩放地图,但无法进行鼠标交互及触发相关事件。
当加载普通 primitive类型数据的内部Cesium容器 BasePrimitive
readonly readyPromise : Promise.<(BaseLayer|object)>
layer/BaseLayer.js 189
获取图层完成解析加载完成的Promise承诺, 等价于load事件(区别在于load事件必须在load完成前绑定才能监听)。
- 继承自:
使用示例:
tiles3dLayer.readyPromise.then(function(layer) {
console.log("load完成", layer)
})
显示隐藏状态
- 继承自:
卷帘对比时,设置所在的屏幕,NONE时不分屏[仅对Model小模型矢量数据有效]
readonly state : State
layer/BaseLayer.js 144
当前对象的状态
- 继承自:
图层中统一的url模版,比如可以将服务url前缀统一使用模板,方便修改或动态配置。
图层类型
- 继承自:
图层顺序,数字大的在上面。
只对 同类型(Entity/Primitive) + 贴地(clampToGround: true) 矢量对象间有效
- 继承自:
方法
对象从地图上移除的创建钩子方法, 每次remove时都会调用
返回值:
无
activateEdit() → GraphicLayer
layer/graphicLayer/GraphicLayer.js 1790
激活编辑,绑定相关处理,同 hasEdit=true
返回值:
当前对象本身,可以链式调用
addGraphic(graphic) → BaseGraphic|Array.<BaseGraphic>
layer/graphicLayer/GraphicLayer.js 1342
添加Graphic矢量数据
参数名称 | 类型 | 描述信息 |
---|---|---|
graphic |
BaseGraphic | Array.<BaseGraphic> | object | Array.<object> |
矢量数据 或 对应的构造参数对象(需要有type值) |
返回值:
添加后的Graphic对象
addTo(map) → BaseLayer
layer/BaseLayer.js 397
添加到地图上,同 map.addThing
参数名称 | 类型 | 描述信息 |
---|---|---|
map |
Map |
地图对象 |
返回值:
当前对象本身,可以链式调用
- 继承自:
autoSurfaceHeight(options) → Promise.<(BaseGraphic|*)>
layer/graphicLayer/GraphicLayer.js 1627
异步计算更新坐标进行贴地(或贴模型)
参数名称 | 类型 | 默认值 | 描述信息 | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object |
{}
|
可选
参数对象:
|
返回值:
绘制创建完成的Promise
bindContextMenu(content, options) → BaseGraphicLayer
layer/BaseGraphicLayer.js 465
绑定右键菜单
参数名称 | 类型 | 默认值 | 描述信息 | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
content |
Array.<object> |
右键菜单配置数组,数组中每一项包括:
|
|||||||||||||||||||
options |
object |
{}
|
可选
控制参数
|
返回值:
当前对象本身,可以链式调用
- 继承自:
使用示例:
//在layer上绑定右键菜单
graphicLayer.bindContextMenu([
{
text: '删除对象',
icon: 'fa fa-trash-o',
callback: function (e) {
let graphic = e.graphic
if (graphic) {
graphicLayer.removeGraphic(graphic)
}
},
},
{
text: '计算长度',
icon: 'fa fa-medium',
show: function (e) {
let graphic = e.graphic
return graphic.type === 'polyline'
},
callback: function (e) {
let graphic = e.graphic
let strDis = mars3d.MeasureUtil.formatDistance(graphic.distance)
alert('该对象的长度为:' + strDis)
},
},
])
绑定鼠标移入或单击后的 对象高亮
参数名称 | 类型 | 描述信息 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object |
可选
参数:
|
返回值:
无
bindPopup(content, options) → BaseGraphicLayer
layer/BaseGraphicLayer.js 253
绑定鼠标单击对象后的弹窗。
参数名称 | 类型 | 描述信息 |
---|---|---|
content |
string | function |
弹窗内容html字符串,或者回调方法。 |
options |
Popup.StyleOptions |
可选
控制参数 |
返回值:
当前对象本身,可以链式调用
bindTooltip(content, options) → BaseGraphicLayer
layer/BaseGraphicLayer.js 334
绑定鼠标移入的弹窗
参数名称 | 类型 | 描述信息 |
---|---|---|
content |
string | function |
弹窗内容html字符串,或者回调方法。 |
options |
Tooltip.StyleOptions |
可选
控制参数 |
返回值:
当前对象本身,可以链式调用
清除图层内所有矢量数据
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
hasDestroy |
boolean |
true
|
可选
是否释放矢量对象 |
返回值:
无
- 继承自:
清除正在绘制的对象
返回值:
是否清除了对象
closeContextMenu() → BaseGraphicLayer
layer/BaseGraphicLayer.js 513
关闭右键菜单
返回值:
当前对象本身,可以链式调用
清除已高亮的矢量对象
返回值:
无
closePopup() → BaseGraphicLayer
layer/BaseGraphicLayer.js 298
关闭弹窗
返回值:
当前对象本身,可以链式调用
closeSmallTooltip() → BaseGraphicLayer
layer/BaseGraphicLayer.js 542
关闭小提示窗
返回值:
当前对象本身,可以链式调用
closeTooltip() → BaseGraphicLayer
layer/BaseGraphicLayer.js 383
关闭弹窗
返回值:
当前对象本身,可以链式调用
disableEdit() → GraphicLayer
layer/graphicLayer/GraphicLayer.js 1806
释放编辑,解除绑定相关事件,同 hasEdit=false
返回值:
当前对象本身,可以链式调用
eachGraphic(method, context, reverse) → GraphicLayer
layer/graphicLayer/GraphicLayer.js 1492
遍历所有矢量数据并将其作为参数传递给回调函数
参数名称 | 类型 | 描述信息 |
---|---|---|
method |
function |
回调方法 |
context |
object |
可选
侦听器的上下文(this关键字将指向的对象)。 |
reverse |
boolean |
可选
是否倒序执行 |
返回值:
当前对象本身,可以链式调用。
完成绘制和编辑,如有未完成的绘制会自动完成。 在移动端需要调用此方法来类似PC端双击结束。
返回值:
是否正常结束了矢量对象绘制
- 继承自:
飞行定位至图层数据所在的视角
参数名称 | 类型 | 默认值 | 描述信息 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object |
{}
|
可选
参数对象:
|
返回值:
如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise
- 继承自:
获取指定时间下的时序对应的 显示隐藏 状态
参数名称 | 类型 | 描述信息 |
---|---|---|
time |
Cesium.JulianDate |
指定时间 |
返回值:
显示隐藏 状态
获取当前图层聚合点列表
返回值:
聚合点列表
获取绑定的右键菜单数组
返回值:
右键菜单数组
getGraphicByAttr(attrValue, attrName) → BaseGraphic|*
layer/graphicLayer/GraphicLayer.js 1453
根据 指定属性 获取 单个矢量数据对象(多个匹配时取首个)
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
attrValue |
string | number |
属性值 |
|
attrName |
string |
'id'
|
可选
属性键 |
返回值:
矢量数据对象
getGraphicById(id) → BaseGraphic|*
layer/graphicLayer/GraphicLayer.js 1443
根据id取矢量数据对象
参数名称 | 类型 | 描述信息 |
---|---|---|
id |
string | number |
矢量数据id |
返回值:
矢量数据对象
getGraphics(hasPrivate) → Array.<BaseGraphic>|Array
layer/graphicLayer/GraphicLayer.js 1502
获取图层内 所有矢量数据
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
hasPrivate |
boolean |
false
|
可选
是否取私有的graphic |
返回值:
矢量数据数组
getGraphicsByAttr(attrValue, attrName) → Array.<BaseGraphic>
layer/graphicLayer/GraphicLayer.js 1463
根据 指定属性 获取 矢量数据对象 数组
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
attrValue |
string | number |
属性值 |
|
attrName |
string |
'id'
|
可选
属性键 |
返回值:
矢量数据对象
getGraphicsByIds(ids) → Array.<BaseGraphic>
layer/graphicLayer/GraphicLayer.js 1522
根据 id集合列表 取 矢量数据对象列表
参数名称 | 类型 | 描述信息 |
---|---|---|
ids |
Array.<string> | Array.<number> |
矢量数据id列表 |
返回值:
矢量数据对象列表
getGraphicsByStyle(styleName, styleVal) → Array.<BaseGraphic>
layer/graphicLayer/GraphicLayer.js 1474
根据 指定style样式 获取 矢量数据对象 数组
参数名称 | 类型 | 描述信息 |
---|---|---|
styleName |
string |
style内的字段名称 |
styleVal |
string | number | boolean | * |
属性值 |
返回值:
矢量数据对象
获取图层内所有数据的 最大高度
返回值:
高度
获取当前图层未聚合的grpahic对象列表
参数名称 | 类型 | 描述信息 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
options |
object |
可选
参数
|
返回值:
未聚合的grpahic对象列表
获取当前对象真实实际的显示状态
参数名称 | 类型 | 描述信息 |
---|---|---|
time |
Cesium.JulianDate |
当前时间 |
返回值:
真实的实时显示状态,当时序范围外,被聚合时返回的是false
获取图层内所有数据的 矩形边界值
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
isFormat |
boolean |
false
|
可选
是否格式化,格式化时示例: { xmin: 73.16895, xmax: 134.86816, ymin: 12.2023, ymax: 54.11485 } |
返回值:
isFormat:true时,返回格式化对象,isFormat:false时返回Cesium.Rectangle对象
是否有绑定的右键菜单
返回值:
是否有绑定
是否存在Popup绑定,判断图层及内部所有矢量数据
返回值:
是否存在Popup绑定
是否绑定了tooltip
返回值:
是否绑定
loadGeoJSON(geojson, options) → Array.<BaseGraphic>
layer/graphicLayer/GraphicLayer.js 1167
加载转换GeoJSON格式规范数据为Graphic后加载到图层中。
参数名称 | 类型 | 描述信息 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
geojson |
string | object |
GeoJSON格式规范数据 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
options |
object |
可选
加载控制参数,包含:
|
返回值:
转换后的Graphic对象数组
async loadJSON(json) → Promise.<(Array.<BaseGraphic>|*)>
layer/graphicLayer/GraphicLayer.js 1131
参数方式添加矢量对象, 同addGraphic
参数名称 | 类型 | 描述信息 |
---|---|---|
json |
object | Array.<object> | string |
矢量数据构造参数,可以用toJSON方法导出的值; 传string时对应的值存放的json路径地址。 |
返回值:
绘制创建完成的Promise 添加后的Graphic对象
openContextMenu(position) → BaseGraphicLayer
layer/BaseGraphicLayer.js 497
打开右键菜单
参数名称 | 类型 | 描述信息 |
---|---|---|
position |
BaseGraphic | Cesium.Cartesian3 |
矢量对象 或 显示的位置 |
返回值:
当前对象本身,可以链式调用
高亮对象
参数名称 | 类型 | 描述信息 |
---|---|---|
graphic |
BaseGraphic |
高亮的矢量对,类型支持 |
event |
object |
可选
事件对象 |
返回值:
无
openPopup(position) → BaseGraphicLayer
layer/BaseGraphicLayer.js 284
打开绑定的弹窗
参数名称 | 类型 | 描述信息 |
---|---|---|
position |
BaseGraphic | LngLatPoint | Cesium.Cartesian3 |
矢量对象 或 显示的位置 |
返回值:
当前对象本身,可以链式调用
openSmallTooltip(position, message) → BaseGraphicLayer
layer/BaseGraphicLayer.js 530
显示小提示窗,一般用于鼠标操作的提示。
参数名称 | 类型 | 描述信息 |
---|---|---|
position |
Cesium.Cartesian2 | Cesium.Cartesian3 |
显示的屏幕坐标位置 或 笛卡尔坐标位置 |
message |
* |
显示的内容 |
返回值:
当前对象本身,可以链式调用
openTooltip(position) → BaseGraphicLayer
layer/BaseGraphicLayer.js 367
打开绑定的tooltip弹窗
参数名称 | 类型 | 描述信息 |
---|---|---|
position |
BaseGraphic | LngLatPoint | Cesium.Cartesian3 |
graphic矢量对象 或 显示的位置 |
返回值:
当前对象本身,可以链式调用
从地图上移除,同map.removeThing
参数名称 | 类型 | 描述信息 |
---|---|---|
destroy |
boolean |
可选
是否调用destroy释放 |
返回值:
无
- 继承自:
removeGraphic(graphic, hasDestroy) → GraphicLayer
layer/graphicLayer/GraphicLayer.js 1414
移除Graphic矢量数据
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
graphic |
BaseGraphic | * |
矢量数据 |
|
hasDestroy |
boolean |
true
|
可选
是否释放矢量对象 |
返回值:
当前对象本身,可以链式调用
设置整体透明度(globalAlpha值) , 非全部矢量数据都支持,具体需要对应Graphic支持才有效 对象本身透明度请修改 graphic.setStyle({ opacity: value })
参数名称 | 类型 | 描述信息 |
---|---|---|
value |
number |
透明度 |
返回值:
无
setOptions(options) → BaseLayer
layer/BaseLayer.js 632
更新图层参数
参数名称 | 类型 | 描述信息 |
---|---|---|
options |
object |
与类的构造方法参数相同 |
返回值:
当前对象本身,可以链式调用
- 继承自:
startDraw(options) → Promise.<(BaseGraphic|*)>
layer/graphicLayer/GraphicLayer.js 1712
开始绘制矢量数据,绘制的数据会加载在当前图层。
参数名称 | 类型 | 描述信息 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object | * |
绘制参数,包含:
|
返回值:
绘制创建完成的Promise,等价于success参数
- 继承自:
使用示例:
//写法一,使用Promise
graphicLayer.startDraw({
type: "point",
style: { pixelSize: 12, color: "#3388ff" },
})
.then(function (graphic) {
console.log("绘制矢量对象完成", graphic);
});
//写法二,使用success回调方法参数
graphicLayer.startDraw({
type: "point",
style: { pixelSize: 12, color: "#3388ff" },
success: function (graphic){
console.log("绘制矢量对象完成", graphic);
}
})
//写法三,在图层全局监听完成事件
graphicLayer.on(mars3d.EventType.drawCreated, function (e) {
console.log("绘制矢量对象完成", e);
});
graphicLayer.startDraw({
type: "point",
style: { pixelSize: 12, color: "#3388ff" }
})
startEditing(graphic, event) → GraphicLayer
layer/graphicLayer/GraphicLayer.js 1888
激活编辑指定的矢量数据
参数名称 | 类型 | 描述信息 |
---|---|---|
graphic |
BaseGraphic | * |
需要激活编辑的矢量数据 |
event |
object |
可选
内部使用,传递事件 |
返回值:
当前对象本身,可以链式调用
停止绘制。 线面对象:未完成的绘制会自动删除,已绘制的会完成在最后一个点位; 点状对象:会结束停留在最后一个点位,未完成的绘制会自动删除 如果需要清除正在绘制的对象,请用 clearDrawing() 方法
返回值:
是否清除了未完成的对象
stopEditing() → GraphicLayer
layer/graphicLayer/GraphicLayer.js 1912
停止编辑,释放正在编辑的对象。
返回值:
当前对象本身,可以链式调用
将当前图层在map中层级进行 置底 (只对同类型图层间+贴地对象 有效)。
返回值:
无
将图层数据导出为GeoJSON格式规范对象。
参数名称 | 类型 | 描述信息 | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object |
可选
参数对象:
|
返回值:
GeoJSON格式规范对象
将图层转为Json简单对象,用于存储后再传参加载
返回值:
Json简单对象
- 继承自:
将当前图层在map中层级进行 置顶 (只对同类型图层间+贴地对象 有效)。
返回值:
无
- 继承自:
unbindContextMenu(bubbling) → BaseGraphicLayer
layer/BaseGraphicLayer.js 480
解除绑定的右键菜单
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
bubbling |
boolean |
false
|
可选
单击事件中是否继续冒泡查找 |
返回值:
当前对象本身,可以链式调用
解绑鼠标移入或单击后的高亮处理
返回值:
无
unbindPopup(bubbling) → BaseGraphicLayer
layer/BaseGraphicLayer.js 268
解除绑定的鼠标单击对象后的弹窗。
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
bubbling |
boolean |
false
|
可选
单击事件中是否继续冒泡查找 |
返回值:
当前对象本身,可以链式调用
unbindTooltip(bubbling) → BaseGraphicLayer
layer/BaseGraphicLayer.js 350
解除绑定的鼠标移入对象后的弹窗。
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
bubbling |
boolean |
false
|
可选
单击事件中是否继续冒泡查找 |
返回值:
当前对象本身,可以链式调用