覆盖元素 🌎
三维场景重要组成部分, 用数字化表示三场景中的一个实体和记录其实时状态
Overlay
覆盖物基类
WARNING
该类无法实例化
properties
{String} overlayId
:唯一标识readonly
{String} id
:业务唯一标识{Boolean} show
:是否显示{Object} attr
:业务属性{Array} contextMenu
:设置右击菜单,菜单的回调函数参数为 viewer,overlay{String} state
:覆盖物状态readonly
{String} type
:覆盖物类型readonly
{Boolean} allowDrillPicking
:是否可以穿透选择,默认为 false,如果为 true 时,覆盖物为穿透选择其后面的所有覆盖物,并触发其后面的所有覆盖物的鼠标事件
methods
addTo(layer)
添加到图层
- 参数
{Layer} layer
:图层
- 返回值
this
- 参数
remove()
删除
- 返回值
this
- 返回值
setLabel(text, textStyle)
设置标签
- 参数
{String} text
:文本{String} textStyle
:文本样式,详情参考:SzMap.Label
- 返回值
this
- 参数
WARNING
该函数仅对下列覆盖物有效:Point、Circle、Polygon、Billboard、Ellipse、Rectangle
on(type, callback, context)
事件订阅
- 参数
{Object} type
:订阅类型{Function} callback
:订阅回调{Object} context
:上下文
- 返回值
this
- 参数
off(type, callback, context)
取消事件订阅
- 参数
{Object} type
:订阅类型{Function} callback
:订阅回调{Object} context
:上下文
- 返回值
this
- 参数
fire(type,params)
触发事件
- 参数
{Object} type
:订阅类型{Object} params
:参数
- 返回值
this
- 参数
static methods
registerType(type)
注册覆盖物类型
- 参数
{String} type
:覆盖物类型
- 参数
getOverlayType(type)
获取覆盖物类型
- 参数
{String} type
:覆盖物类型
- 返回值
string
- 参数
SzMap.Point
点位要素,继承于Overlay
example
let position = new SzMap.Position(120, 20)
let point = new SzMap.Point(position)
point.setStyle({
pixelSize: 10,
})
creation
constructor(position)
构造函数
- 参数
{Position|String|Array|Object} position
:坐标
- 返回值
point
- 参数
properties
{Position|String|Array|Object} position
:坐标
methods
setStyle(style)
设置样式
- 参数
{Object} style
:样式,详情参考:PointGraphics
- 返回值
this
- 参数
// 样式参数(可选)
{
"pixelSize": 1, //像素大小
"heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
"color": SzMap.Color.WHITE, //颜色
"outlineColor": SzMap.Color.WHITE, //边框颜色
"outlineWidth": 0, //边框大小,
"scaleByDistance": {
"near": 0, //最近距离
"nearValue": 0, //最近距离值
"far": 1, //最远距离值
"farValue": 0 //最远距离值
}, //根据距离设置比例
"translucencyByDistance": {
"near": 0, //最近距离
"nearValue": 0, //最近距离值
"far": 1, //最远距离值
"farValue": 0 //最远距离值
}, //根据距离设置透明度
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
}, //根据距离设置可见
"disableDepthTestDistance": 0 // 深度检测距离,用于防止剪切地形,设置为零时,将始终应用深度测试。设置为Number.POSITIVE_INFINITY时,永远不会应用深度测试。
}
fromEntity(entity)
Entity 转换为 Overlay
- 参数
{Object} entity
:Cesium 覆盖物
- 返回值
point
- 参数
SzMap.Polyline
线要素,继承于Overlay
example
let polyline = new SzMap.Polyline('120,20;120,30')
polyline.setStyle({
width: 10,
})
creation
constructor(positions)
构造函数
- 参数
{String|Array<Position|Number|String|Object>} positions
:坐标串
- 返回值
polyline
- 参数
properties
{String|Array<Position|Number|String|Object>} positions
:坐标串{SzMap.Position} center
:中心点readonly
{Number} distance
:距离,单位:米readonly
methods
setStyle(style)
设置样式
- 参数
{Object} style
:样式,详情参考:PolylineGraphics
- 返回值
this
- 参数
// 样式参数(可选)
{
"width": 1, //线宽
"material": SzMap.Color.WHITE, //材质
"clampToGround": false, //是否贴地
"shadows": 0, //阴影类型,0:禁用、1:启用 、2:投射、3:接受
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
}, //根据距离设置可见
"classificationType": 2, //分类 是否影响地形,3D切片或同时影响这两者。0:地形、1:3D切片、2:两者
"zIndex": 0 //层级
}
fromEntity(entity)
Entity 转换为 Overlay
- 参数
{Object} entity
:Cesium 覆盖物
- 返回值
polyline
- 参数
SzMap.Polygon
面要素,继承于Overlay
example
let polygon = new SzMap.Polygon('120,20;120,30;122,30')
polygon.setStyle({
height: 10,
})
creation
constructor(positions)
构造函数
- 参数
{String|Array<Position|Number|String|Object} positions
:坐标串
- 返回值
polygon
- 参数
properties
{String|Array<Position|Number|String|Object>} positions
:坐标串{String|Array<Position|Number|String|Object>} holes
:洞坐标串{SzMap.Position} center
:中心点readonly
{Number} area
:距离,单位:平方米readonly
methods
setStyle(style)
设置样式
- 参数
{Object} style
:样式,详情参考:PolygonGraphics
- 返回值
this
- 参数
// 样式参数(可选)
{
"height": 1, //高度
"heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
"extrudedHeight": 0, //拉升高度
"stRotation": 0, //旋转角度
"fill": true, //是否用提供的材料填充多边形。
"material": SzMap.Color.WHITE, //材质
"outline": false, //是否显示边框
"outlineColor": SzMap.Color.BLACK, //边框颜色
"outlineWidth": 0, //边框宽度
"closeTop": true, //顶面是否闭合
"closeBottom": true, //底面是否闭合
"shadows": 0, //阴影类型,0:禁用、1:启用 、2:投射、3:接受
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
}, //根据距离设置可见
"classificationType": 2, //分类 是否影响地形,3D切片或同时影响这两者。0:地形、1:3D切片、2:两者
"zIndex": 0 //层级
}
fromEntity(entity)
Entity 转换为 Overlay
- 参数
{Object} entity
:Cesium 覆盖物
- 返回值
polygon
- 参数
SzMap.Billboard
图标要素,继承于Overlay
example
let position = new SzMap.Position(120, 20)
let billboard = new SzMap.Billboard(position, '***/**.png')
billboard.size = [20, 20]
creation
constructor(position,icon)
构造函数
- 参数
{Position|String|Array|Object} position
:坐标{String} icon
:图标地址
- 返回值
billboard
- 参数
properties
{Position|String|Array|Object} position
:坐标{String} icon
:图标地址{Array<Number>} size
:图标大小
methods
setStyle(style)
设置样式
- 参数
{Object} style
:样式,详情参考:BillboardGraphics
- 返回值
this
- 参数
// 样式参数(可选)
{
"heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
"scale": 1, //比例
"pixelOffset": { "x": 0, "y": 0 }, //偏移像素
"rotation": 0, //旋转角度
"translucencyByDistance": {
"near": 0, //最近距离
"nearValue": 0, //最近距离值
"far": 1, //最远距离值
"farValue": 0 //最远距离值
}, //根据距离设置透明度
"scaleByDistance": {
"near": 0, //最近距离
"nearValue": 0, //最近距离值
"far": 1, //最远距离值
"farValue": 0 //最远距离值
}, //根据距离设置比例
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
}, //根据距离设置可见
"disableDepthTestDistance": 0 // 深度检测距离,用于防止剪切地形,设置为零时,将始终应用深度测试。设置为Number.POSITIVE_INFINITY时,永远不会应用深度测试。
}
fromEntity(entity)
Entity 转换为 Overlay
- 参数
{Object} entity
:Cesium 覆盖物
- 返回值
billbard
- 参数
SzMap.Label
标签要素,继承于Overlay
example
let position = new SzMap.Position(120, 20)
let Label = new SzMap.Label(position, 'test')
creation
constructor(position,text)
构造函数
- 参数
{Position|String|Array|Object} position
:坐标{String} text
:文本
- 返回值
label
- 参数
properties
{Position} position
:坐标{String} text
:文本
methods
setStyle(style)
设置样式
- 参数
{Object} style
:样式,详情参考:LabelGraphics
- 返回值
this
- 参数
// 样式参数(可选)
{
"font": "30px sans-serif", // CSS 字体设置
"scale": 1, //比例
"pixelOffset": { "x": 0, "y": 0 }, //偏移像素
"heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
"showBackground": false, //是否显示背景
"backgroundColor": SzMap.Color.BLACK, //背景颜色
"backgroundPadding": { "x": 0, "y": 0 }, //背景间隙
"fillColor": SzMap.Color.BLACK, //文字颜色
"outlineColor": SzMap.Color.WHITE, //边框颜色
"outlineWidth": 0, //边框大小,
"scaleByDistance": {
"near": 0, //最近距离
"nearValue": 0, //最近距离值
"far": 1, //最远距离值
"farValue": 0 //最远距离值
}, //根据距离设置比例
"translucencyByDistance": {
"near": 0, //最近距离
"nearValue": 0, //最近距离值
"far": 1, //最远距离值
"farValue": 0 //最远距离值
}, //根据距离设置透明度
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
}, //根据距离设置可见
"disableDepthTestDistance": 0 // 深度检测距离,用于防止剪切地形,设置为零时,将始终应用深度测试。设置为Number.POSITIVE_INFINITY时,永远不会应用深度测试。
}
fromEntity(entity,text)
Entity 转换为 Overlay
- 参数
{Object} entity
:Cesium 覆盖物{String} text
:文本
- 返回值
label
- 参数
SzMap.Circle
圆要素,继承于Overlay
example
let position = new SzMap.Position(120, 20)
let circle = new SzMap.Circle(position, 200)
creation
constructor(center, radius)
构造函数
- 参数
{Position|String|Array|Object} center
:圆心{String} radius
:半径
- 返回值
billboard
- 参数
properties
{Position} center
:圆心{String} radius
:半径
methods
setStyle(style)
设置样式
- 参数
{Object} style
:样式,详情参考:EllipseGraphics
- 返回值
this
- 参数
// 样式参数(可选)
{
"height": 1, //高度
"heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
"extrudedHeight": 0, //拉升高度
"rotation": 0, //顺时针旋转角度
"stRotation": 0, //逆时针旋转角度
"fill": true, //是否用提供的材料填充多边形。
"material": SzMap.Color.WHITE, //材质
"outline": false, //是否显示边框
"outlineColor": SzMap.Color.BLACK, //边框颜色
"outlineWidth": 0, //边框宽度
"shadows": 0, //阴影类型,0:禁用、1:启用 、2:投射、3:接受
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
}, //根据距离设置可见
"classificationType": 2, //分类 是否影响地形,3D切片或同时影响这两者。0:地形、1:3D切片、2:两者
"zIndex": 0 //层级
}
SzMap.Rect
矩形要素,继承于Overlay
example
let rectangle = new SzMap.Rect('-90.0,32.0;-94.0,36.0;')
creation
constructor(positions)
构造函数
- 参数
{String|Array<Position|Number|String>} positions
:坐标串
- 返回值
rectangle
- 参数
properties
{String|Array<Position|Number|String>} positions
:坐标串
methods
setStyle(style)
设置样式
- 参数
{Object} style
:样式,详情参考:RectangleGraphics
- 返回值
this
- 参数
// 样式参数(可选)
{
"height": 1, //高度
"heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
"extrudedHeight": 0, //拉升高度
"rotation": 0, //顺时针旋转角度
"stRotation": 0, //逆时针旋转角度
"fill": true, //是否用提供的材料填充多边形。
"material": SzMap.Color.WHITE, //材质
"outline": false, //是否显示边框
"outlineColor": SzMap.Color.BLACK, //边框颜色
"outlineWidth": 0, //边框宽度
"shadows": 0, //阴影类型,0:禁用、1:启用 、2:投射、3:接受
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
}, //根据距离设置可见
"classificationType": 2, //分类 是否影响地形,3D切片或同时影响这两者。0:地形、1:3D切片、2:两者
"zIndex": 0 //层级
}
SzMap.Wall
墙体要素,继承于Overlay
example
let wall = new SzMap.Wall('-90.0,32.0,1000;-94.0,36.0,1000;')
creation
constructor(positions)
构造函数
- 参数
{String|Array<Position|Number|String>} positions
:坐标串
- 返回值
wall
- 参数
properties
{String|Array<Position|Number|String>} positions
:坐标串
methods
setStyle(style)
设置样式
- 参数
{Object} style
:样式,详情参考:WallGraphics
- 返回值
this
- 参数
// 样式参数(可选)
{
"fill": true, //是否用提供的材料填充多边形。
"material": SzMap.Color.WHITE, //材质
"outline": false, //是否显示边框
"outlineColor": SzMap.Color.BLACK, //边框颜色
"outlineWidth": 0, //边框宽度
"shadows": 0, //阴影类型,0:禁用、1:启用 、2:投射、3:接受
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
}, //根据距离设置可见
"classificationType": 2 //分类 是否影响地形,3D切片或同时影响这两者。0:地形、1:3D切片、2:两者
}
fromEntity(entity)
Entity 转换为 Overlay
- 参数
{Object} entity
:Cesium 覆盖物
- 返回值
wall
- 参数
SzMap.Model
模型要素,继承于Overlay
example
let position = new SzMap.Position(120, 20)
let model = new SzMap.Model(position, '**/**.glb')
creation
constructor(position, modelUrl)
构造函数
- 参数
- ``{Position|String|Array|Object} position`:坐标
{String} modelUrl
:模型地址
- 返回值
model
- 参数
properties
{Position} position
:坐标{String} modelUrl
:模型地址
methods
setStyle(style)
设置样式
- 参数
{Object} style
:样式,详情参考:ModelGraphics
- 返回值
this
- 参数
// 样式参数(可选)
{
"scale": 1, //比例
"minimumPixelSize": 0, //指定模型的最小像素大小,而不考虑缩放
"maximumScale": 0, //指定模型的最大比例
"heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
"shadows": 0, //阴影类型,0:禁用、1:启用 、2:投射、3:接受
"silhouetteColor": SzMap.Color.RED, //轮廓颜色
"silhouetteSize": 0, //轮廓宽度
"lightColor": SzMap.Color.RED, //模型着色时指定灯光颜色
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
} //根据距离设置可见
}
fromEntity(entity,modelUrl)
Entity 转换为 Overlay
- 参数
{Object} entity
:Cesium 覆盖物{String} modelUrl
:模型地址
- 返回值
model
- 参数
SzMap.Tileset
3Dtiles 模型要素,继承于Overlay
example
let position = new SzMap.Position(120, 20)
let tileset = new SzMap.Tileset('**/tileset.json')
tileset.setPosition(position)
creation
constructor(url,[options])
构造函数
- 参数
{String} url
:模型地址{Object} options
:参数设置,详情参考:Tileset
- 返回值
tileset
- 参数
properties
{Promise} readyPromise
:加载完成后的异步函数readonly
methods
setStyle(style)
设置样式
- 参数
{Object} style
:样式,详情参考:TileStyle
- 返回值
this
let style = new SzMap.TilesetStyle({ color: { conditions: [ ['${Height} >= 100', 'color("purple", 0.5)'], //Height 为模型设置的属性 ['${Height} >= 50', 'color("red")'], ['true', 'color("blue")'], ], }, show: '${Height} > 0', })
- 参数
setPosition(position)
设置位置
- 参数
{Position|String|Array|Object} position
:位置
- 返回值
this
- 参数
setHeadingPitchRoll(heading, pitch, roll)
设置方位角
- 参数
{Number} heading
:偏航角度,可能其他框架作 yaw,表示绕 Z 轴旋转。默认:0{Number} pitch
:俯仰角度,表示绕 Y 轴旋转。默认:0{Number} roll
:翻转角度,表示绕 X 轴旋转。默认:0
- 返回值
this
- 参数
setHeight(height,isAbsolute)
设置高度
- 参数
{Number} height
:高度{Boolean} isAbsolute
:是否为绝对高度,如果为 true,将不根据模型中心高度计算
- 返回值
this
- 参数
setScale(scale)
设置比例
- 参数
{Number} scale
:比例
- 返回值
this
- 参数
setCustomShader(customShader)
设置自定义片元着色器
- 参数
{String} customShader
:片元着色器
- 返回值
this
- 参数
setProperties(properties)
根据现有的属性添加属性
- 参数
{Array<Object>} properties
: 属性
- 返回值
this
- 参数
//属性参数
{
"key": "name", //已有属性名称
"keyValue": "1", //已有属性值
"propertyName": "highlight", //新增属性名称
"propertyValue": true //新增属性值
}
SzMap.DivIcon
DivIcon 要素,继承于Overlay
example
let position = new SzMap.Position(120, 20)
let divIcon = new SzMap.DivIcon(position, '<div></div>')
creation
constructor(position, content)
构造函数
- 参数
{Position|String|Array|Object} position
:坐标{String|Element} content
:内容
- 返回值
divIcon
- 参数
properties
{Position|String|Array} position
:坐标{String|Element} content
:内容writeonly
methods
setStyle(style)
设置样式
- 参数
{Object} style
:样式,
- 返回值
this
- 参数
// 样式参数(可选)
{
"className": "test", //样式名
"scaleByDistance": {
"near": 0, //最近距离
"nearValue": 0, //最近距离值
"far": 1, //最远距离值
"farValue": 0 //最远距离值
}, //根据距离设置比例
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
} //根据距离设置可见
}
fromEntity(entity,content)
Entity 转换为 Overlay
- 参数
{Object} entity
:Cesium 覆盖物{String|Element} content
:内容
- 返回值
divIcon
- 参数
SzMap.Box
盒要素,继承于Overlay
example
let position = new SzMap.Position(120, 20)
let box = new SzMap.Box(position, 20, 30, 40)
creation
constructor(position, length, width, height)
构造函数
- 参数
{Position|String|Array|Object} position
:坐标{Number} length
:长度{Number} width
:宽度{Number} height
:高度
- 返回值
box
- 参数
properties
{Position} position
:坐标{Number} length
:长度{Number} width
:宽度{Number} height
:高度
methods
setStyle(style)
设置样式
- 参数
{Object} style
:样式,详情参考:BoxGraphics
- 返回值
this
- 参数
// 样式参数(可选)
{
"heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
"fill": true, //是否用提供的材料填充多边形。
"material": SzMap.Color.WHITE, //材质
"outline": false, //是否显示边框
"outlineColor": SzMap.Color.BLACK, //边框颜色
"outlineWidth": 0, //边框宽度
"shadows": 0, //阴影类型,0:禁用、1:启用 、2:投射、3:接受
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
} //根据距离设置可见
}
SzMap.Corridor
走廊要素,继承于Overlay
example
let corridor = new SzMap.Corridor('120,20;120,30')
corridor.setStyle({
width: 10,
})
creation
constructor(positions)
构造函数
- 参数
{String|Array<Position|Number|String|Object>} positions
:坐标串
- 返回值
corridor
- 参数
properties
{Array<Position>} positions
:坐标串
methods
setStyle(style)
设置样式
- 参数
{Object} style
:样式,详情参考:CorridorGraphics
- 返回值
this
- 参数
// 样式参数(可选)
{
"width": 1, //线宽
"height": 0, //高度
"heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
"cornerType": 0, //转角类别,0:圆角、1:直角、2:斜角
"fill": true, //是否用提供的材料填充多边形。
"material": SzMap.Color.WHITE, //材质
"outline": false, //是否显示边框
"outlineColor": SzMap.Color.BLACK, //边框颜色
"outlineWidth": 0, //边框宽度
"shadows": 0, //阴影类型,0:禁用、1:启用 、2:投射、3:接受
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
}, //根据距离设置可见
"classificationType": 2, //分类 是否影响地形,3D切片或同时影响这两者。0:地形、1:3D切片、2:两者
"zIndex": 0 //层级
}
fromEntity(entity)
Entity 转换为 Overlay
- 参数
{Object} entity
:Cesium 覆盖物
- 返回值
corridor
- 参数
SzMap.Cylinder
圆柱要素,继承于Overlay
example
let position = new SzMap.Position(120, 20)
let cylinder = new SzMap.Cylinder(position, 20, 30, 40)
creation
constructor(position, length, topRadius, bottomRadius)
构造函数
- 参数
{Position|Number|String|Object} position
:坐标{Number} length
:长度{Number} topRadius
:上半径{Number} bottomRadius
:下半径
- 返回值
cylinder
- 参数
properties
{Position} position
:坐标{Number} length
:长度{Number} topRadius
:上半径{Number} bottomRadius
:下半径
methods
setStyle(style)
设置样式
- 参数
{Object} style
:样式,详情参考:CylinderGraphics
- 返回值
this
- 参数
// 样式参数(可选)
{
"heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
"fill": true, //是否用提供的材料填充多边形。
"material": SzMap.Color.WHITE, //材质
"outline": false, //是否显示边框
"outlineColor": SzMap.Color.BLACK, //边框颜色
"outlineWidth": 0, //边框宽度
"shadows": 0, //阴影类型,0:禁用、1:启用 、2:投射、3:接受
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
} //根据距离设置可见
}
SzMap.Ellipse
椭圆要素,继承于Overlay
example
let position = new SzMap.Position(120, 20)
let ellipse = new SzMap.Ellipse(position, 20, 30)
creation
constructor(position, semiMajorAxis, semiMinorAxis)
构造函数
- 参数
{Position|Number|String|Object} position
:坐标{Number} semiMajorAxis
:长半轴{Number} semiMinorAxis
:短半轴
- 返回值
ellipse
- 参数
properties
{Position} position
:坐标{Number} semiMajorAxis
:长半轴{Number} semiMinorAxis
:短半轴
methods
setStyle(style)
设置样式
- 参数
{Object} style
:样式,详情参考:EllipseGraphics
- 返回值
this
- 参数
// 样式参数(可选)
{
"height": 1, //高度
"heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
"extrudedHeight": 0, //拉升高度
"rotation": 0, //顺时针旋转角度
"stRotation": 0, //逆时针旋转角度
"fill": true, //是否用提供的材料填充多边形。
"material": SzMap.Color.WHITE, //材质
"outline": false, //是否显示边框
"outlineColor": SzMap.Color.BLACK, //边框颜色
"outlineWidth": 0, //边框宽度
"shadows": 0, //阴影类型,0:禁用、1:启用 、2:投射、3:接受
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
}, //根据距离设置可见
"classificationType": 2, //分类 是否影响地形,3D切片或同时影响这两者。0:地形、1:3D切片、2:两者
"zIndex": 0 //层级
}
SzMap.Ellipsoid
球体要素,继承于Overlay
example
let position = new SzMap.Position(120, 20)
let ellipsoid = new SzMap.Ellipsoid(position, { x: 30, y: 30, z: 30 })
creation
constructor(position, radius)
构造函数
- 参数
{Position|Number|String|Object} position
:坐标{Object} radius
:半径,格式是:{x: 30, y: 30, z: 30}
- 返回值
ellipsoid
- 参数
properties
{Position} position
:坐标{Object} radius
:半径,格式是:{x: 30, y: 30, z: 30}
methods
setStyle(style)
设置样式
- 参数
{Object} style
:样式,详情参考:EllipsoidGraphics
- 返回值
this
- 参数
// 样式参数(可选)
{
"heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
"fill": true, //是否用提供的材料填充多边形。
"material": SzMap.Color.WHITE, //材质
"outline": false, //是否显示边框
"outlineColor": SzMap.Color.BLACK, //边框颜色
"outlineWidth": 0, //边框宽度
"shadows": 0, //阴影类型,0:禁用、1:启用 、2:投射、3:接受
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
} //根据距离设置可见
}
SzMap.Plane
平面要素,继承于Overlay
example
let position = new SzMap.Position(120, 20)
let plane = new SzMap.Plane(position, 20, 30, { normal: 'x' })
creation
constructor(position, width, height, direction)
构造函数
- 参数
{Position|Number|String|Object} position
:坐标{Number} width
:宽度{Number} height
:高度{Object} plane
:面板格式
- 返回值
plane
- 参数
// 面板参数(可选)
{
"normal": "x", // 法线,x,y,z其中一个
"distance": 0 // 距离
}
properties
{Position} position
:坐标{Number} width
:宽度{Number} height
:高度{Number} distance
:距离
methods
setStyle(style)
设置样式
- 参数
{Object} style
:样式,详情参考:PlaneGraphics
- 返回值
this
- 参数
// 样式参数(可选)
{
"fill": true, //是否用提供的材料填充多边形。
"material": SzMap.Color.WHITE, //材质
"outline": false, //是否显示边框
"outlineColor": SzMap.Color.BLACK, //边框颜色
"outlineWidth": 0, //边框宽度
"shadows": 0, //阴影类型,0:禁用、1:启用 、2:投射、3:接受
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
} //根据距离设置可见
}
SzMap.PolylineVolume
管道要素,继承于Overlay
example
function computeCircle(radius) {
var positions = []
for (var i = 0; i < 360; i++) {
var radians = SzMap.Math.toRadians(i)
positions.push({
x: radius * Math.cos(radians),
y: radius * Math.sin(radians),
})
}
return positions
}
let polylineVolume = new SzMap.PolylineVolume(
'-90.0,32.0,0.0;-90.0,36.0,100000.0;-94.0,36.0,0.0;',
computeCircle(60000)
)
creation
constructor(positions, shape)
构造函数
- 参数
{String|Array<Position|Number|String|Object>} positions
:坐标串{Array} shape
:形状
- 返回值
polylineVolume
- 参数
properties
{Array<Position>} positions
:坐标串{Array} shape
:形状
methods
setStyle(style)
设置样式
- 参数
{Object} style
:样式,详情参考:PolylineVolumeGraphics
- 返回值
this
- 参数
// 样式参数(可选)
{
"cornerType": 0, //转角类别,0:圆角、1:直角、2:斜角
"fill": true, //是否用提供的材料填充多边形。
"material": SzMap.Color.WHITE, //材质
"outline": false, //是否显示边框
"outlineColor": SzMap.Color.BLACK, //边框颜色
"outlineWidth": 0, //边框宽度
"shadows": 0, //阴影类型,0:禁用、1:启用 、2:投射、3:接受
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
} //根据距离设置可见
}
fromEntity(entity)
Entity 转换为 Overlay
- 参数
{Object} entity
:Cesium 覆盖物
- 返回值
polylineVolume
- 参数
SzMap.DynamicBillboard
动态图标,继承于Overlay
example
let position = new SzMap.Position(120, 20)
let billboard = new SzMap.DynamicBillboard(position, '***/**.png')
billboard.size = [20, 20]
creation
constructor(position,icon)
构造函数
- 参数
{Position|String|Array|Object} position
:坐标{String} icon
:图标地址
- 返回值
billboard
- 参数
properties
{Position} position
:坐标readonly
{String} icon
:图标地址{Array<Number>} size
:图标大小
methods
addPosition(position,interval)
添加点位
- 参数
{Position|Array|String|Object} position
:点位{Number} interval
:间隔,单位:秒
- 返回值
this
- 参数
setStyle(style)
设置样式
- 参数
{Object} style
:样式,详情参考:BillboardGraphics
- 返回值
this
- 参数
// 样式参数(可选)
{
"heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
"scale": 1, //比例
"pixelOffset": { "x": 0, "y": 0 }, //偏移像素
"rotation": 0, //旋转角度
"translucencyByDistance": {
"near": 0, //最近距离
"nearValue": 0, //最近距离值
"far": 1, //最远距离值
"farValue": 0 //最远距离值
}, //根据距离设置透明度
"scaleByDistance": {
"near": 0, //最近距离
"nearValue": 0, //最近距离值
"far": 1, //最远距离值
"farValue": 0 //最远距离值
}, //根据距离设置比例
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
}, //根据距离设置可见
"disableDepthTestDistance": 0 // 深度检测距离,用于防止剪切地形,设置为零时,将始终应用深度测试。设置为Number.POSITIVE_INFINITY时,永远不会应用深度测试。
}
SzMap.DynamicModel
动态模型要素,继承于Overlay
example
let position = new SzMap.Position(120, 20)
let model = new SzMap.DynamicModel(position, '**/**.glb')
creation
constructor(position, modelUrl)
构造函数
- 参数
{Position|String|Array|Object} position
:坐标{String} modelUrl
:模型地址
- 返回值
model
- 参数
properties
{Position} position
:坐标readonly
{String} modelUrl
:模型地址
methods
addPosition(position,interval)
添加点位
- 参数
{Position|Array|String|Object} position
:点位{Number} interval
:间隔,单位:秒
- 返回值
this
- 参数
setStyle(style)
设置样式
- 参数
{Object} style
:样式,详情参考:ModelGraphics
- 返回值
this
- 参数
// 样式参数(可选)
{
"scale": 1, //比例
"minimumPixelSize": 0, //指定模型的最小像素大小,而不考虑缩放
"maximumScale": 0, //指定模型的最大比例
"heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
"shadows": 0, //阴影类型,0:禁用、1:启用 、2:投射、3:接受
"silhouetteColor": SzMap.Color.RED, //轮廓颜色
"silhouetteSize": 0, //轮廓宽度
"lightColor": SzMap.Color.RED, //模型着色时指定灯光颜色
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
} //根据距离设置可见
}
SzMap.CustomBillboard
自定义图标,继承于Overlay
example
let position = new SzMap.Position(120, 20)
let billboard = new SzMap.CustomBillboard(position, '***/**.png')
billboard.size = [20, 20]
creation
constructor(position,icon)
构造函数
- 参数
{Position|String|Array|Object} position
:坐标{String} icon
:图标地址
- 返回值
billboard
- 参数
properties
{Position} position
:坐标{String} icon
:图标地址{Array<Number>} size
:图标大小
methods
setVLine(style)
设置垂直线
- 参数
{Object} style
:样式,详情参考:PolylineGraphics
- 返回值
this
- 参数
setBottomCircle(radius,style,rotateAmount)
设置底圆
- 参数
{Number} radius
:半径{Object} style
:样式,详情参考:EllipseGraphics{Number} rotateAmount
:旋转量
- 返回值
this
- 参数
setStyle(style)
设置样式
- 参数
{Object} style
:样式,详情参考:BillboardGraphics
- 返回值
this
- 参数
// 样式参数(可选)
{
"heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
"scale": 1, //比例
"pixelOffset": { "x": 0, "y": 0 }, //偏移像素
"rotation": 0, //旋转角度
"translucencyByDistance": {
"near": 0, //最近距离
"nearValue": 0, //最近距离值
"far": 1, //最远距离值
"farValue": 0 //最远距离值
}, //根据距离设置透明度
"scaleByDistance": {
"near": 0, //最近距离
"nearValue": 0, //最近距离值
"far": 1, //最远距离值
"farValue": 0 //最远距离值
}, //根据距离设置比例
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
}, //根据距离设置可见
"disableDepthTestDistance": 0 // 深度检测距离,用于防止剪切地形,设置为零时,将始终应用深度测试。设置为Number.POSITIVE_INFINITY时,永远不会应用深度测试。
}
SzMap.CustomLabel
自定义文本,继承于Overlay
example
let position = new SzMap.Position(120, 20)
let label = new SzMap.CustomLabel(position, 'test')
creation
constructor(position,text)
构造函数
- 参数
{Position|String|Array|Object} position
:坐标{String} text
:文本
- 返回值
label
- 参数
properties
{Position} position
:坐标{String} text
:文本
methods
setVLine(style)
设置垂直线
- 参数
{Object} style
:样式,详情参考:PolylineGraphics
- 返回值
this
- 参数
setBottomCircle(radius,style,rotateAmount)
设置底圆
- 参数
{Number} radius
:半径{Object} style
:样式,详情参考:EllipseGraphics{Number} rotateAmount
:旋转量
- 返回值
this
- 参数
setStyle(style)
设置样式
- 参数
{Object} style
:样式,详情参考:LabelGraphics
- 返回值
this
- 参数
// 样式参数(可选)
{
"heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
"scale": 1, //比例
"pixelOffset": { "x": 0, "y": 0 }, //偏移像素
"rotation": 0, //旋转角度
"translucencyByDistance": {
"near": 0, //最近距离
"nearValue": 0, //最近距离值
"far": 1, //最远距离值
"farValue": 0 //最远距离值
}, //根据距离设置透明度
"scaleByDistance": {
"near": 0, //最近距离
"nearValue": 0, //最近距离值
"far": 1, //最远距离值
"farValue": 0 //最远距离值
}, //根据距离设置比例
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
}, //根据距离设置可见
"disableDepthTestDistance": 0 // 深度检测距离,用于防止剪切地形,设置为零时,将始终应用深度测试。设置为Number.POSITIVE_INFINITY时,永远不会应用深度测试。
}
SzMap.AttackArrow
攻击箭头要素,继承于Overlay
example
let attackArrow = new SzMap.AttackArrow('-90.0,32.0;-94.0,36.0;-94.0,38.0')
creation
constructor(positions)
构造函数
- 参数
{String|Array<Position|Number|String|Object>} positions
:坐标串
- 返回值
attackArrow
- 参数
properties
{Array<Position>} positions
:坐标串
methods
setStyle(style)
设置样式
- 参数
{Object} style
:样式,详情参考:Polygon
- 返回值
this
- 参数
SzMap.DoubleArrow
双箭头要素,继承于Overlay
example
let doubleArrow = new SzMap.DoubleArrow('-90.0,32.0;-94.0,36.0;-94.0,38.0')
creation
constructor(positions)
构造函数
- 参数
{String|Array<Position|Number|String|Object>} positions
:坐标串
- 返回值
doubleArrow
- 参数
properties
{Array<Position>} positions
:坐标串
methods
setStyle(style)
设置样式
- 参数
{Object} style
:样式,详情参考:Polygon
- 返回值
this
- 参数
SzMap.FineArrow
直箭头要素,继承于Overlay
example
let fineArrow = new SzMap.FineArrow('-90.0,32.0;-94.0,36.0')
creation
constructor(positions)
构造函数
- 参数
{String|Array<Position|Number|String|Object>} positions
:坐标串
- 返回值
fineArrow
- 参数
properties
{Array<Position>} positions
:坐标串
methods
setStyle(style)
设置样式
- 参数
{Object} style
:样式,详情参考:Polygon
- 返回值
this
- 参数
SzMap.GatheringPlace
聚集地要素,继承于Overlay
example
let gatheringPlace = new SzMap.GatheringPlace('-90.0,32.0;-94.0,36.0')
creation
constructor(positions)
构造函数
- 参数
{String|Array<Position|Number|String|Object>} positions
:坐标串
- 返回值
gatheringPlace
- 参数
properties
{Array<Position>} positions
:坐标串
methods
setStyle(style)
设置样式
- 参数
{Object} style
:样式,详情参考:Polygon
- 返回值
this
- 参数
SzMap.TailedAttackArrow
聚集地,继承于Overlay
example
let tailedAttackArrow = new SzMap.TailedAttackArrow('-90.0,32.0;-94.0,36.0')
creation
constructor(positions)
构造函数
- 参数
{String|Array<Position|Number|String|Object>} positions
:坐标串
- 返回值
tailedAttackArrow
- 参数
properties
{Array<Position>} positions
:坐标串
methods
setStyle(style)
设置样式
- 参数
{Object} style
:样式,详情参考:Polygon
- 返回值
this
- 参数
SzMap.BillboardPrimitive
图标图元,继承于Overlay
example
let position = new SzMap.Position(120, 20)
let billboard = new SzMap.BillboardPrimitive(position, '***/**.png')
billboard.size = [20, 20]
creation
constructor(position,icon)
构造函数
- 参数
{Position|Number|String|Object} position
:坐标{String} icon
:图标地址
- 返回值
billboard
- 参数
properties
{Position} position
:坐标{String} icon
:图标地址{Array<Number>} size
:图标大小
methods
setStyle(style)
设置样式
- 参数
{Object} style
:样式,详情参考:Billboard
- 返回值
this
- 参数
// 样式参数(可选)
{
"heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
"scale": 1, //比例
"pixelOffset": { "x": 0, "y": 0 }, //偏移像素
"rotation": 0, //旋转角度
"translucencyByDistance": {
"near": 0, //最近距离
"nearValue": 0, //最近距离值
"far": 1, //最远距离值
"farValue": 0 //最远距离值
}, //根据距离设置透明度
"scaleByDistance": {
"near": 0, //最近距离
"nearValue": 0, //最近距离值
"far": 1, //最远距离值
"farValue": 0 //最远距离值
}, //根据距离设置比例
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
}, //根据距离设置可见
"disableDepthTestDistance": 0 // 深度检测距离,用于防止剪切地形,设置为零时,将始终应用深度测试。设置为Number.POSITIVE_INFINITY时,永远不会应用深度测试。
}
SzMap.BounceBillboardPrimitive
跳动图标图元,继承于BillboardPrimitive
example
let position = new SzMap.Position(120, 20)
let billboard = new SzMap.BounceBillboardPrimitive(position, '***/**.png')
billboard.size = [20, 20]
creation
constructor(position,icon)
构造函数
- 参数
{Position|Number|String|Object} position
:坐标{String} icon
:图标地址
- 返回值
billboard
- 参数
methods
setStyle(style)
设置样式
- 参数
{Object} style
:样式,详情参考:Billboard
- 返回值
this
- 参数
// 样式参数(可选)
{
"maxOffsetY": 10, //垂直方向最大平移量
"offsetAmount": 0.1 //垂直方向每帧平移量
// 其他样式参考 BillboardPrimitive 样式
}
SzMap.DiffuseWallPrimitive
扩散墙图元,继承于Overlay
example
let position = new SzMap.Position(120, 20)
let wall = new SzMap.DiffuseWallPrimitive(position, 2000, 1000)
creation
constructor(center, radius, height)
构造函数
- 参数
{Position|Number|String|Object} center
:圆心{Number} radius
:半径{Number} height
:高度
- 返回值
wall
- 参数
properties
{Position|Number|String|Object} center
:圆心{Number} radius
:半径{Number} height
:高度
methods
setStyle(style)
设置样式
- 参数
{Object} style
:样式
- 返回值
this
- 参数
// 样式参数(可选)
{
"minRadius": 10, // 动画最小半径
"minHeight": 30, // 动画最小高度
"color": SzMap.Color.RED, // 墙体颜色
"slices": 128, //边数
"speed": 10 //速度
}
SzMap.ElecEllipsoidPrimitive
电弧球图元,继承于Overlay
example
let elecEllipsoid = new SzMap.ElecEllipsoidPrimitive('120,20',{x:2000,y:2000:z:2000})
creation
constructor(center,radius)
构造函数
- 参数
{Position|Number|String|Object} center
:球心{Object} radius
:球半径
- 返回值
elecEllipsoid
- 参数
properties
{Position|Number|String|Object} center
:球心{Object} radius
:球半径
methods
setStyle(style)
设置样式
- 参数
{Object} style
:样式
- 返回值
this
- 参数
// 样式参数(可选)
{
"speed": 5, //速度
"color": SzMap.Color.WHITE //颜色
}
SzMap.FlowLinePrimitive
流动线图元,继承于Overlay
example
let flowLinePrimitive = new SzMap.FlowLinePrimitive('120,20;120,30;122,30')
creation
constructor(positions,[asynchronous])
构造函数
- 参数
{String|Array<Position|Number|String|Object>} positions
:坐标串
- 返回值
flowLine
- 参数
properties
{String|Array<Position|Number|String|Object>} positions
:坐标串
methods
setStyle(style)
设置样式
- 参数
{Object} style
:样式
- 返回值
this
- 参数
// 样式参数(可选)
{
"speed": 5, //速度
"color": SzMap.Color.WHITE, //颜色
"percent": 0.3, // 比例
"gradient": 0.1 // 透明程度
}
SzMap.LabelPrimitive
标签图元,继承于Overlay
example
let position = new SzMap.Position(120, 20)
let Label = new SzMap.LabelPrimitive(position, 'test')
creation
constructor(position,text)
构造函数
- 参数
{Position|Number|String|Object} position
:坐标{String} text
:文本
- 返回值
label
- 参数
properties
{Position|Number|String|Object} position
:坐标{String} text
:文本
methods
setStyle(style)
设置样式
- 参数
{Object} style
:样式,详情参考:Label
- 返回值
this
- 参数
// 样式参数(可选)
{
"font": "30px sans-serif", // CSS 字体设置
"scale": 1, //比例
"pixelOffset": { "x": 0, "y": 0 }, //偏移像素
"heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
"showBackground": false, //是否显示背景
"backgroundColor": SzMap.Color.BLACK, //背景颜色
"backgroundPadding": { "x": 0, "y": 0 }, //背景间隙
"fillColor": SzMap.Color.BLACK, //文字颜色
"outlineColor": SzMap.Color.WHITE, //边框颜色
"outlineWidth": 0, //边框大小,
"scaleByDistance": {
"near": 0, //最近距离
"nearValue": 0, //最近距离值
"far": 1, //最远距离值
"farValue": 0 //最远距离值
}, //根据距离设置比例
"translucencyByDistance": {
"near": 0, //最近距离
"nearValue": 0, //最近距离值
"far": 1, //最远距离值
"farValue": 0 //最远距离值
}, //根据距离设置透明度
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
}, //根据距离设置可见
"disableDepthTestDistance": 0 // 深度检测距离,用于防止剪切地形,设置为零时,将始终应用深度测试。设置为Number.POSITIVE_INFINITY时,永远不会应用深度测试。
}
SzMap.LightCylinderPrimitive
光柱要素,继承于Overlay
example
let position = new SzMap.Position(120, 20)
let cylinder = new SzMap.LightCylinderPrimitive(position, 1000, 1, 100)
creation
constructor(position, length, topRadius, bottomRadius)
构造函数
- 参数
{Position|Number|String|Object} position
:坐标{Number} length
:长度{Number} topRadius
:上半径{Number} bottomRadius
:下半径
- 返回值
cylinder
- 参数
properties
{Position} position
:坐标{Number} length
:长度{Number} topRadius
:上半径{Number} bottomRadius
:下半径
methods
setStyle(style)
设置样式
- 参数
{Object} style
:样式
- 返回值
this
- 参数
// 样式参数(可选)
{
"color": SzMap.Color.BLACK //颜色
}
SzMap.BounceLabelPrimitive
跳动文本图元,继承于LabelPrimitive
example
let position = new SzMap.Position(120, 20)
let label = new SzMap.BounceLabelPrimitive(position, 'test')
creation
constructor(position,text)
构造函数
- 参数
{Position|Number|String|Object} position
:坐标{String} text
:文本
- 返回值
label
- 参数
methods
setStyle(style)
设置样式
- 参数
{Object} style
:样式,详情参考:Label
- 返回值
this
- 参数
// 样式参数(可选)
{
"maxOffsetY": 10, //垂直方向最大平移量
"offsetAmount": 0.1 //垂直方向每帧平移量
// 其他样式参考 LabelPrimitive 样式
}
SzMap.ModelPrimitive
模型图元,继承于Overlay
example
let position = new SzMap.Position(120, 20)
let model = new SzMap.ModelPrimitive(position, '**/**.glb')
creation
constructor(position, modelUrl)
构造函数
- 参数
{Position|Number|String|Object} position
:坐标{String} modelUrl
:模型地址
- 返回值
model
- 参数
properties
{Position|Number|String|Object} position
:坐标{String} modelUrl
:模型地址{Promise} readyPromise
:加载完成后的异步函数readonly
methods
getMaterial(name)
设置材质
- 参数
{String} name
:节点名称
- 返回值
modelMaterial
- 参数
getMesh(name)
获取三角网
- 参数
{String} name
:节点名称
- 返回值
modelMesh
- 参数
getNode(name)
获取节点
- 参数
{String} name
:节点名称
- 返回值
modelNode
- 参数
getNodes()
获取所有节点
- 返回值
array<ModelNode>
- 返回值
setStyle(style)
设置样式
- 参数
{Object} style
:样式,详情参考:Model
- 返回值
this
- 参数
// 样式参数(可选)
{
"scale": 1, //比例
"minimumPixelSize": 0, //指定模型的最小像素大小,而不考虑缩放
"maximumScale": 0, //指定模型的最大比例
"heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
"shadows": 0, //阴影类型,0:禁用、1:启用 、2:投射、3:接受
"silhouetteColor": SzMap.Color.RED, //轮廓颜色
"silhouetteSize": 0, //轮廓宽度
"lightColor": SzMap.Color.RED, //模型着色时指定灯光颜色
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
} //根据距离设置可见
}
SzMap.ModelCollectionPrimitive
模型结合图元,继承于Overlay
example
let positions = '120,20;120,30;122,30'
let model = new SzMap.ModelCollectionPrimitive(positions, '**/**.glb')
creation
constructor(positions, modelUrl)
构造函数
- 参数
{Array<Position|String|Object>} positions
:坐标串{String} modelUrl
:模型地址
- 返回值
model
- 参数
properties
{Array<Position|String|Object>} positions
:坐标串{String} modelUrl
:模型地址{Array<Object>} attrs
:属性集合{Promise} readyPromise
:加载完成后的异步函数readonly
methods
getModelInstance(instanceId)
获取模型实例
- 参数
{String} instanceId
:实例 ID,默认为实例的 index,可通过鼠标事件获取
- 返回值
modelInstance
- 参数
getAttrByInstanceId(instanceId)
获取属性
- 参数
{String} instanceId
:实例 ID,默认为实例的 index,可通过鼠标事件获取
- 返回值
Object
- 参数
setStyle(style)
设置样式
- 参数
{Object} style
:样式,详情参考:Model
- 返回值
this
- 参数
// 样式参数(可选)
{
"scale": 1, //比例
"minimumPixelSize": 0, //指定模型的最小像素大小,而不考虑缩放
"maximumScale": 0, //指定模型的最大比例
"heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
"shadows": 0, //阴影类型,0:禁用、1:启用 、2:投射、3:接受
"silhouetteColor": SzMap.Color.RED, //轮廓颜色
"silhouetteSize": 0, //轮廓宽度
"lightColor": SzMap.Color.RED, //模型着色时指定灯光颜色
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
} //根据距离设置可见
}
SzMap.PointPrimitive
点位图元,继承于Overlay
example
let position = new SzMap.Position(120, 20)
let point = new SzMap.PointPrimitive(position)
point.setStyle({
pixelSize: 10,
})
creation
constructor(position)
构造函数
- 参数
{Position|Number|String|Object} position
:坐标
- 返回值
point
- 参数
properties
{Position|Number|String|Object} position
:坐标
methods
setStyle(style)
设置样式
- 参数
{Object} style
:样式,详情参考:PointGraphics
- 返回值
this
- 参数
// 样式参数(可选)
{
"pixelSize": 1, //像素大小
"heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
"color": SzMap.Color.WHITE, //颜色
"outlineColor": SzMap.Color.WHITE, //边框颜色
"outlineWidth": 0, //边框大小,
"scaleByDistance": {
"near": 0, //最近距离
"nearValue": 0, //最近距离值
"far": 1, //最远距离值
"farValue": 0 //最远距离值
}, //根据距离设置比例
"translucencyByDistance": {
"near": 0, //最近距离
"nearValue": 0, //最近距离值
"far": 1, //最远距离值
"farValue": 0 //最远距离值
}, //根据距离设置透明度
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
}, //根据距离设置可见
"disableDepthTestDistance": 0 // 深度检测距离,用于防止剪切地形,设置为零时,将始终应用深度测试。设置为Number.POSITIVE_INFINITY时,永远不会应用深度测试。
}
SzMap.PolylinePrimitive
线图元,继承于Overlay
example
let polyline = new SzMap.PolylinePrimitive('120,20;120,30')
polyline.setStyle({
width: 10,
})
creation
constructor(positions)
构造函数
- 参数
{String|Array<Position|Number|String|Object>} positions
:坐标串
- 返回值
polyline
- 参数
properties
{String|Array<Position|Number|String|Object>} positions
:坐标串{Position} center
:中心点readonly
{Number} distance
:距离,单位:米readonly
methods
setStyle(style)
设置样式
- 参数
{Object} style
:样式,详情参考:Polyline
- 返回值
this
- 参数
// 样式参数(可选)
{
"width": 1, //线宽
"material": SzMap.Color.WHITE, //材质
"clampToGround": false, //是否贴地
"shadows": 0, //阴影类型,0:禁用、1:启用 、2:投射、3:接受
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
}, //根据距离设置可见
"classificationType": 2, //分类 是否影响地形,3D切片或同时影响这两者。0:地形、1:3D切片、2:两者
"zIndex": 0 //层级
}
SzMap.ScanCirclePrimitive
扫描圆图元,继承于Overlay
example
let scanCirclePrimitive = new SzMap.ScanCirclePrimitive('120,20', 1000)
creation
constructor(position,radius)
构造函数
- 参数
{String|Position|Array|Object} position
:圆心{Number} radius
:半径
- 返回值
scanCircle
- 参数
properties
{String|Position|Array|Object} position
:圆心{Number} radius
:半径
methods
setStyle(style)
设置样式
- 参数
{Object} style
:样式
- 返回值
this
- 参数
// 样式参数(可选)
{
"speed": 5, //速度
"color": SzMap.Color.WHITE //颜色
}
SzMap.TrailLinePrimitive
轨迹线图元,继承于Overlay
example
let trailLinePrimitive = new SzMap.TrailLinePrimitive('120,20;120,30;122,30')
creation
constructor(positions,[asynchronous])
构造函数
- 参数
{String|Array<Position|Number|String|Object>} positions
:坐标串
- 返回值
trailLine
- 参数
properties
{String|Array<Position|Number|String|Object>} positions
:坐标串
methods
setStyle(style)
设置样式
- 参数
{Object} style
:样式
- 返回值
this
- 参数
// 样式参数(可选)
{
"speed": 5, //速度
"color": SzMap.Color.WHITE //颜色
}
SzMap.WaterPrimitive
水面图元,继承于Overlay
example
let water = new SzMap.WaterPrimitive('120,20;120,30;122,30')
water.setStyle({
baseWaterColor: SzMap.Color.AQUA.withAlpha(0.3),
normalMap: 'examples/images/icon/waterNormalsSmall.jpg',
frequency: 1000.0,
animationSpeed: 0.01,
amplitude: 10,
specularIntensity: 10,
})
creation
constructor(positions,[holes])
构造函数
- 参数
{String|Array<Position|Number|String|Object>} positions
:坐标串{Array<Position|Number|String|Object>} holes
:洞面坐标
- 返回值
water
- 参数
properties
{String|Array<Position|Number|String|Object>} positions
:坐标串
methods
setStyle(style)
设置样式
- 参数
{Object} style
:样式,详情参考:PolygonGraphics
- 返回值
this
- 参数
// 样式参数(可选)
{
"height": 1, //高度
"extrudedHeight": 0, //拉升高度
"stRotation": 0, //旋转角度
"outline": false, //是否显示边框
"closeTop": true, //顶面是否闭合
"closeBottom": true, //底面是否闭合
"classificationType": 2, //分类 是否影响地形,3D切片或同时影响这两者。0:地形、1:3D切片、2:两者
"baseWaterColor": SzMap.Color.WHITE, // 水体颜色
"blendColor": SzMap.Color.WHITE, // 混合颜色
"specularMap": "", // 镜面图
"normalMap": "", // 法线图
"frequency": 1000, //波纹数量
"animationSpeed": 0.03, // 动画速度
"amplitude": 10, //水波振幅
"specularIntensity": 10 //镜面反射强度
}
SzMap.VideoPrimitive
视频图元,继承于Overlay
example
let videoEl = new document.getElementById('video')
let videoPrimitive = new SzMap.VideoPrimitive('120,20;120,30;122,30', videoEl)
creation
constructor(positions,video)
构造函数
- 参数
{String|Array<Position|Number|String|Object>} positions
:坐标串{Element} video
:视频节点
- 返回值
videoPrimitive
- 参数
properties
{String|Array<Position|Number|String|Object>} positions
:坐标串{Element} video
:视频节点