在阅读API之前,您至少应该了解 Cesium 和 Mars3D ( MarsGIS for Cesium )框架.
框架的核心静态方法,它用来在页面中创建地图.
mars3d.createMap({
id: 'cesiumContainer',
url: "config.json",
success: function (viewer, jsondata) {//地图成功加载完成后执行
}
});查看运行效果 »
创建示例 | 说明 |
---|---|
mars3d.createMap( | 将地图部署在给定ID的DIV容器中,并设置地图的选项. |
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
id | String | 必须传入 | 地图Div容器的id。 |
url | String | url或data参数必须有一个有值 | 框架规定规范的地图配置信息的Json文件url地址(该json文件中有map3d节点) |
data | Object | url或data参数必须有一个有值 | 框架规定规范的地图配置信息的Json文件Object对象(只需要类似config.json中的map3d节点数据即可) |
success | function | null | 地图创建完成后的回调函数.
|
serverURL | String | 会替换图层中配置的url地址中的$serverURL$ 参数为该值,用于统一配置url中GIS服务器的ip和端口的变量,方便部署时修改ip。 | |
* | * | * | 支持所有config.json中可以配置的属性 ,此处优秀级高于config.josn,会覆盖config.json中的设置。 |
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
* | * | * | 支持所有Cesium.Viewer的参数,具体请参阅 Cesium API |
实例化完成viewer后,会在viewer有扩展的一个静态类 viewer.mars.*, 该类是静态类,等价于mars3d.ViewerEx实体类,如果是外部自行构造的Viewer可以手动viewer.mars = new mars3d.ViewerEx进行绑定。 包含坐标转换、popup、tooltip、定位等方法或对象。
属性名 | 返回值 | 说明 |
---|---|---|
config |
| 获取createMap时传入的url或data中的相关参数属性值。 |
keyboardRoam | keyboardRoam | 键盘漫游对象。(详见后面keyboardRoam类介绍) |
location | location | 下侧 鼠标位置信息状态栏 对象。(详见后面location类介绍) |
popup | popup | 鼠标单击信息框处理类。(详见后面popup类介绍) |
tooltip |
| 鼠标悬浮提示信息框处理类。(详见后面tooltip类介绍) |
contextmenu | contextmenu | 右键菜单管理类对象。(详见后面contextmenu类介绍) |
contextmenuItems |
| 右击地图时,右键菜单项 ,数组内部对应格式示例(children可以配置二级):
|
defaultContextmenuItems [只读] |
| 内部绑定的默认右键菜单 |
draw [只读] |
| 内部绑定的内置已经实例化的Draw对象,方便简单场景下使用绘制矢量对象 |
方法名 | 返回值 | 说明 |
---|---|---|
addOperationalLayer( | BaseLayer图层 | 绑定图层管理,添加内部封装的BaseLayer图层到OperationalLayer进行图层控制 |
removeOperationalLayer( |
| 移除图层控制 |
getCenter( |
| 提取屏幕中心点坐标,返回值示例:{ "y": 31.787488, "x": 117.222228, "z": 229 }。ps:同point类方法。 当地球是高德等gcj坐标时,isToWgs设置是否转换为wgs84坐标 |
getExtent( |
| 获取当前地球的视域边界{xmin: 113.23422, xmax: 125.23452, ymin: 30.23436, ymax: 33.234252}。ps:同point类方法。 支持opts:{scale:缩放比例} |
getCameraView( |
| 获取当前相机视角范围参数坐标值,返回值示例:{ "y": 31.787488, "x": 117.222228, "z": 224, "heading": 56, "pitch": -29, "roll": 45 }。ps:同point类方法。 当地球是高德等gcj坐标时,isToWgs设置是否转换为wgs84坐标 |
getSurfaceHeight( |
| 获取坐标的贴地(或贴模型)高度,ps:同point类方法。 opts支持: 是否在has3dtiles:true , 是否异步 asyn:true 异步回调方法calback
|
flyTo( |
| 视角飞行定位到entiy处 options支持:scale控制线面数据边界的放大比例,radius控制点数据视距距离
|
centerAt( |
| 地球定位至指定区域,相机切换到centeropt指定的参数位置 options为数字时,代表播放动画时长(秒) options为对象时,支持viewer.camera.flyTo所有参数
|
centerAtArr( |
| 按arr数组顺序播放地球定位至指定区域,地球定位至指定区域。arr数组中单个对象除了centerAt支持的参数外,还支持: duration:3, //时长,stop:1, //两个视角中间停留秒数(默认1秒) onStart:function, //视角切换播放前回调方法 onEnd:function, //视角切换播放后回调方法 |
centerPoint( |
| 地球定位至指定区域,定位至position设置的目标点位置 options支持viewer.camera.flyToBoundingSphere所有参数
|
cancelCenterAt() |
| 取消centerAt等执行的飞行,停止视角切换 |
getConfig() | Object | 返回构造地球时传入的config.json配置信息的克隆后值 |
getLayer( | BaseLayer | 根据指定字段值(默认名称name)获取指定图层,keyname可以定义id等,为配置信息的字段名,默认是name |
getBasemap() | BaseLayer | 获取当前显示的底图 |
changeBasemap( | BaseLayer | 根据config配置的id或name属性,更新显示指定的地图底图 |
hasTerrain() | Boolean | 是否有地形数据 |
updateTerrainProvider( |
| 更新地形,参数传入是否显示地形 |
openFlyAnimation( |
| 开场动画,动画播放地球飞行定位指指定区域(默认为config.josn中配置的视域)
|
isFlyAnimation() | Boolean | 是否在调用了openFlyAnimation正在进行飞行动画 |
rotateAnimation( |
| 旋转地球动画,可以指定旋转的时长duration秒
|
getCrs() | String | 获取当前地图坐标系,值为gcj时表示是国测局偏移坐标 |
point2map({x:经度,y:纬度}) | {x:经度,y:纬度} | 在不同坐标系情况下,转换“目标坐标值”至“地图坐标系”一致的坐标 |
point2wgs({x:经度,y:纬度}) | {x:经度,y:纬度} | 在不同坐标系情况下 ,获取地图上的坐标后,转为wgs标准坐标系坐标值 |
keyboard( | void | 根据value设置开启或关闭键盘漫游,speedRatio对应支持以下属性: moveStep: 10, //平移步长 (米)。dirStep: 25, //相机原地旋转步长,值越大步长越小。 rotateStep: 1.0, //相机围绕目标点旋转速率,0.3 - 2.0 minPitch: 0.1, //最小仰角 0 - 1 maxPitch: 0.95, //最大仰角 0 - 1 |
keyboardAuto( | void | 同keyboard,此方法按自动切换开启关闭键盘漫游 |
expImage( | void | 导出场景图片,截图
|
destroy() | void | 销毁释放对象 |
viewer.mars.popup该类是静态类。鼠标单击信息框处理类。
属性 | 参数类型 | 说明 |
---|---|---|
isOnly | boolean | 是否唯一弹窗模式,默认true,传入false可以启用多弹窗。 | enable | boolean | 是否禁用。 |
方法名 | 返回值 | 说明 |
---|---|---|
show( | void | 弹出popup信息框(entity需要有popup属性,其信息为绑定信息框内容的html信息)
|
close( | void | 关闭popup信息框,多弹窗模式,关闭指定id的弹窗,默认关闭所有 |
setEnable( |
| 禁用或启用 popup弹窗功能 |
getEnable() | Boolean | 获取当前禁用或启用状态 |
destroy() | void | 释放销毁对象 |
viewer.mars.tooltip该类是静态类。鼠标悬浮提示信息框处理类。
属性 | 参数类型 | 说明 | enable | boolean | 是否禁用。 |
---|
方法名 | 返回值 | 说明 |
---|---|---|
show( | 弹出tooltip信息框(entity需要有tooltip对象,其信息为绑定信息框内容的html信息)
| |
close() |
| 关闭tooltip信息框 |
destroy() | void | 释放销毁对象 |
viewer.mars.keyboardRoam该类是静态类。键盘漫游(快捷键)处理类。
属性 | 参数类型 | 说明 | enable | boolean | 是否禁用。 |
---|
方法名 | 返回值 | 说明 |
---|---|---|
bind( | void | 启用键盘漫游,可以传参重置默认参数 |
unbind() | void | 关闭键盘漫游 |
startMoveForward() | void | 不按键一直自动往前走,调用stopMoveForward停止。 |
stopMoveForward() | void | 停止自动往前走 |
startMoveBackward() | void | 不按键一直自动往后退,调用stopMoveBackward停止。 |
stopMoveBackward() | void | 停止自动往后退 |
startMoveRight() | void | 不按键一直自动往右走,调用stopMoveRight停止。 |
stopMoveRight() | void | 停止自动往右走 |
startMoveLeft() | void | 不按键一直自动往往左,调用stopMoveLeft停止。 |
stopMoveLeft() | void | 停止自动往左走 |
moveCamera( | void | 相对于屏幕中心点进行移动或旋转 type示例: mars3d.KeyboardType.LEFT_ROTATE |
rotateCamera( | void | 相对于相机本身进行旋转 type示例: mars3d.KeyboardType.LEFT_ROTATE |
destroy() | void | 释放销毁对象 |
viewer.mars.location该类是静态类。下侧 鼠标位置信息状态栏 处理类。
属性 | 参数类型 | 说明 | show | boolean | 是否显示状态栏。 |
---|
方法名 | 返回值 | 说明 |
---|---|---|
css( | void | 设置状态栏的css。类同jquery的 $(dom).css(style)方法 |
destroy() | void | 销毁释放对象 |
viewer.mars.contextmenu该类是静态类。右键菜单管理 处理类。
var defaultContextmenuItems = [
{
text: '显示此处经纬度',
iconCls: 'fa fa-info-circle',
calback: function (e) {
var mpt = mars3d.point.formatPosition(e.position);
var inhtml = "经度:" + mpt.x + " , 纬度:" + mpt.y + "高程:" + mpt.z;
haoutil.alert(inhtml, '位置信息');
}
},
{
text: '开启深度监测',
iconCls: 'fa fa-eye-slash',
visible: function () {
return !viewer.scene.globe.depthTestAgainstTerrain
},
calback: function (e) {
viewer.scene.globe.depthTestAgainstTerrain = true;
}
},
{
text: '关闭深度监测',
iconCls: 'fa fa-eye',
visible: function () {
return viewer.scene.globe.depthTestAgainstTerrain
},
calback: function (e) {
viewer.scene.globe.depthTestAgainstTerrain = false;
}
},
{
text: '视角切换',
iconCls: 'fa fa-street-view',
children: [
{
text: '第一视角站到此处',
iconCls: 'fa fa-street-view',
calback: function (e) {
viewer.camera.flyTo({
destination: mars3d.point.addPositionsHeight(e.position, 10), //升高10米
orientation: {
heading: Cesium.Math.toRadians(0), //绕垂直于地心的轴旋转
pitch: Cesium.Math.toRadians(10), //绕纬度线旋转
roll: Cesium.Math.toRadians(0) //绕经度线旋转
},
});
}
},
{
text: '开启键盘漫游',
iconCls: 'fa fa-keyboard-o',
visible: function (e) {
return !viewer.mars.keyboardRoam.enable
},
calback: function (e) {
viewer.mars.keyboardRoam.enable = true;
}
},
{
text: '关闭键盘漫游',
iconCls: 'fa fa-keyboard-o',
visible: function (e) {
return viewer.mars.keyboardRoam.enable
},
calback: function (e) {
viewer.mars.keyboardRoam.enable = false;
}
},
{
text: '取消锁定',
iconCls: 'fa fa-unlock-alt',
visible: function (e) {
return viewer.trackedEntity != undefined
},
calback: function (e) {
viewer.trackedEntity = undefined;
}
},
]
}
]
viewer.mars.contextmenuItems = defaultContextmenuItems;
属性 | 参数类型 | 说明 | enable | boolean | 是否禁用右键菜单 |
---|
方法名 | 返回值 | 说明 |
---|---|---|
resetDefault() | void | 右键菜单还原为默认的defaultContextmenuItems |
close() | void | 关闭右键菜单,等同于单击了地图空白处 |
destroy() | void | 销毁释放对象 |
mars3d.layer该类是静态类。创建图层和图层相关处理类。
方法名 | 返回值 | 说明 |
---|---|---|
createLayer( | BaseLayer | 平台内部创建图层,item为配置信息,具体参考配置信息手册
|
createImageryProvider( | ImageryProvider | 创建底图瓦片图层,item为配置信息,具体参考配置信息手册
|
regLayerForConfig( |
| 向框架内部注册自定义type类型的图层处理类
|
hasTerrain() | Boolean | 是否有地形数据 |
getEllipsoidTerrain() | EllipsoidTerrainProvider | 获取无地形的标准椭球体对象 |
getTerrainProvider( | CesiumTerrainProvider | 根据配置获取地形对象
|
mars3d.layer.BaseLayer是实体类,是所有图层控制处理类的基类。
//方式1:直接使用,方便进行图层控制,如基础项目的 bindToLayerControl
var layer = new BaseLayer({
pid: 30,
name: '企业',
mydata:null, //自行赋值
visible: true,
onAdd: function () {//显示回调
//这里把数据this.mydata添加到地图上
},
onRemove: function () {//隐藏回调
//这里把数据this.mydata从地图上移除
},
onCenterAt: function (duration) {//定位回调
},
}, viewer);
//方式2:继承后扩展使用,下面示例的是超图S3M 三维模型图层加载
var S3MLayer = mars3d.layer.BaseLayer.extend({
//代码省略,具体参考 https://github.com/marsgis/mars3d-supermap/blob/master/js/layer/S3MLayer.js
add: function () {
},
remove: function () {
},
});
//注册到mars3d内部图层管理中:type为s3m时,实例化S3MLayer
mars3d.layer.regLayerForConfig("supermap_s3m", S3MLayer);
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
其他 |
|
| 参考 配置项手册 |
属性 | 参数类型 | 说明 |
---|---|---|
config | Object | config.json中图层配置信息 |
viewer | Viewer |
方法名 | 返回值 | 说明 |
---|---|---|
create() | Boolean | 创建图层时会自动调用该方法 |
add() | Boolean | 将图层实例并添加到地图上 |
remove() | Boolean | 将图层实例从地图上移除 |
hasOpacity | Boolean属性 | 该图层是否可以设置透明度 |
hasZIndex | Boolean属性 | 该图层是否可以调整层级顺序 |
方法名 | 返回值 | 说明 |
---|---|---|
setVisible( |
| 设置图层可见性 |
getVisible() | Boolean | 获取图层可见性 |
centerAt( |
| 定位至数据区域,duration参数为动画时间,默认3秒;0表示没有动画; |
setOpacity( |
| 设置透明度 |
setZIndex( |
| 设置叠加顺序 |
destroy() |
| 销毁对象 |
mars3d.layer.TileLayer是实体类,瓦片图层处理类,继承自mars3d.layer.BaseLayer
。
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
其他 |
|
| 参考 配置项手册 |
属性 | 参数类型 | 说明 |
---|---|---|
layer | ImageryLayer | 图层 |
属性 | 参数类型 | 说明 |
---|---|---|
config | Object | config.json中图层配置信息 |
viewer | Viewer |
方法名 | 返回值 | 说明 |
---|---|---|
getVisible() |
| 获取图层可见性 |
setVisible( |
| 设置图层可见性 |
centerAt( |
| 定位至数据区域,duration参数为动画时间,默认3秒;0表示没有动画; |
setOpacity( |
| 设置透明度 |
setZIndex( |
| 设置叠加顺序 |
mars3d.layer.GltfLayer是实体类, gltf三维模型处理图层,继承自mars3d.layer.BaseLayer
。
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
其他 |
|
| 参考 配置项手册 |
属性 | 参数类型 | 说明 |
---|---|---|
model | ModelGraphics | model entity对象 |
属性 | 参数类型 | 说明 |
---|---|---|
config | Object | config.json中图层配置信息 |
viewer | Viewer |
方法名 | 返回值 | 说明 |
---|---|---|
getVisible() |
| 获取图层可见性 |
setVisible( |
| 设置图层可见性 |
centerAt( |
| 定位至数据区域,duration参数为动画时间,默认3秒;0表示没有动画; |
setOpacity( |
| 设置透明度 |
setZIndex( |
| 设置叠加顺序 |
mars3d.layer.Tiles3dLayer是实体类, 3dtiles三维模型处理图层,继承自mars3d.layer.BaseLayer
。
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
其他 |
|
| 参考 配置项手册 |
属性 | 参数类型 | 说明 |
---|---|---|
model | Cesium3DTileset | Cesium3DTileset图层对象 |
originalCenter | Object | 中心位置 |
属性 | 参数类型 | 说明 |
---|---|---|
config | Object | config.json中图层配置信息 |
viewer | Viewer |
方法名 | 返回值 | 说明 |
---|---|---|
getVisible() |
| 获取图层可见性 |
setVisible( |
| 设置图层可见性 |
centerAt( |
| 定位至数据区域,duration参数为动画时间,默认3秒;0表示没有动画; |
setOpacity( |
| 设置透明度 |
setZIndex( |
| 设置叠加顺序 |
mars3d.layer.GeoJsonLayer是实体类, GeoJson格式数据处理图层,继承自mars3d.layer.BaseLayer
。
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
其他 |
|
| 参考 配置项手册 |
属性 | 参数类型 | 说明 |
---|---|---|
dataSource | GeoJsonDataSource | GeoJsonDataSource图层对象 |
属性 | 参数类型 | 说明 |
---|---|---|
config | Object | config.json中图层配置信息 |
viewer | Viewer |
方法名 | 返回值 | 说明 |
---|---|---|
getVisible() |
| 获取图层可见性 |
setVisible( |
| 设置图层可见性 |
centerAt( |
| 定位至数据区域,duration参数为动画时间,默认3秒;0表示没有动画; |
setOpacity( |
| 设置透明度 |
setZIndex( |
| 设置叠加顺序 |
mars3d.layer.ArcFeatureLayer是实体类, arcgis 矢量数据服务 处理图层(一次性全部加载,适合少量数据时),继承自mars3d.layer.GeoJsonLayer
。
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
其他 |
|
| 参考 配置项手册 |
属性 | 参数类型 | 说明 |
---|---|---|
dataSource | GeoJsonDataSource | GeoJsonDataSource图层对象 |
属性 | 参数类型 | 说明 |
---|---|---|
config | Object | config.json中图层配置信息 |
viewer | Viewer |
方法名 | 返回值 | 说明 |
---|---|---|
getVisible() |
| 获取图层可见性 |
setVisible( |
| 设置图层可见性 |
centerAt( |
| 定位至数据区域,duration参数为动画时间,默认3秒;0表示没有动画; |
setOpacity( |
| 设置透明度 |
setZIndex( |
| 设置叠加顺序 |
mars3d.layer.KmlLayer是实体类, KML格式数据处理图层 处理图层,继承自mars3d.layer.GeoJsonLayer
。
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
其他 |
|
| 参考 配置项手册 |
属性 | 参数类型 | 说明 |
---|---|---|
dataSource | KmlDataSource | KmlDataSource图层对象 |
属性 | 参数类型 | 说明 |
---|---|---|
config | Object | config.json中图层配置信息 |
viewer | Viewer |
方法名 | 返回值 | 说明 |
---|---|---|
getVisible() |
| 获取图层可见性 |
setVisible( |
| 设置图层可见性 |
centerAt( |
| 定位至数据区域,duration参数为动画时间,默认3秒;0表示没有动画; |
setOpacity( |
| 设置透明度 |
setZIndex( |
| 设置叠加顺序 |
mars3d.layer.CzmlLayer是实体类, CZML格式数据处理图层 处理图层,继承自mars3d.layer.GeoJsonLayer
。
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
其他 |
|
| 参考 配置项手册 |
属性 | 参数类型 | 说明 |
---|---|---|
dataSource | CzmlDataSource | CzmlDataSource图层对象 |
属性 | 参数类型 | 说明 |
---|---|---|
config | Object | config.json中图层配置信息 |
viewer | Viewer |
方法名 | 返回值 | 说明 |
---|---|---|
getVisible() |
| 获取图层可见性 |
setVisible( |
| 设置图层可见性 |
centerAt( |
| 定位至数据区域,duration参数为动画时间,默认3秒;0表示没有动画; |
setOpacity( |
| 设置透明度 |
setZIndex( |
| 设置叠加顺序 |
mars3d.layer.TerrainLayer是实体类, 地形管理(地球对象有且仅有一个地形图层),继承自mars3d.layer.BaseLayer
。
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
其他 |
|
| 参考 配置项手册 |
属性 | 参数类型 | 说明 |
---|---|---|
terrain | CesiumTerrainProvider | CesiumTerrainProvider图层对象 |
属性 | 参数类型 | 说明 |
---|---|---|
config | Object | config.json中图层配置信息 |
viewer | Viewer |
方法名 | 返回值 | 说明 |
---|---|---|
getVisible() |
| 获取图层可见性 |
setVisible( |
| 设置图层可见性 |
centerAt( |
| 定位至数据区域,duration参数为动画时间,默认3秒;0表示没有动画; |
setOpacity( |
| 设置透明度 |
setZIndex( |
| 设置叠加顺序 |
mars3d.layer.CustomFeatureGridLayer是实体类, 按类似瓦片规则动态分块加载视域内矢量数据,公共基类,继承自mars3d.layer.BaseLayer
。
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
其他 |
|
| 参考 配置项手册 |
属性 | 参数类型 | 说明 |
---|---|---|
dataSource | CustomDataSource | 用于存储管理图层内所有entity对象集合 |
primitives | PrimitiveCollection | 用于存储管理图层内所有primitive对象集合 |
属性 | 参数类型 | 说明 |
---|---|---|
config | Object | config.json中图层配置信息 |
viewer | Viewer |
方法名 | 返回值 | 说明 |
---|---|---|
getDataForGrid( | void | 获取网格内的数据(opts包含具体网格信息),calback为回调方法,calback参数传回数据数组 |
createEntity( | Entity | 根据数据创造entity,opts为当前网格信息,attributes为getDataForGrid返回的数组中单个对象,calback在异步构造时,调用回调,返回entity |
updateEntity( | void | 更新entity(动态数据时有用),entity为图层中对应id的历史对象,attributes为getDataForGrid返回的数组中单个对象 |
removeEntity( | void | 移除entity,需要特殊处理时可以重写。entity为图层中对应id的历史对象,attributes为getDataForGrid返回的数组中单个对象 |
方法名 | 返回值 | 说明 |
---|---|---|
reload() | void | 重新加载数据 |
getLength() | Number | 当前图层内所有矢量对象的数量 |
方法名 | 返回值 | 说明 |
---|---|---|
getVisible() |
| 获取图层可见性 |
setVisible( |
| 设置图层可见性 |
centerAt( |
| 定位至数据区域,duration参数为动画时间,默认3秒;0表示没有动画; |
setOpacity( |
| 设置透明度 |
setZIndex( |
| 设置叠加顺序 |
该类在插件不在mars3d.js主库中,在单独的插件mars3d-esri.js文件内。
mars3d.layer.ArcFeatureGridLayer是实体类, arcgis 矢量数据服务分块加载处理图层(按瓦片加载当前视域内数据,适合大量数据时),继承自mars3d.layer.CustomFeatureGridLayer
。
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
其他 |
|
| 参考 配置项手册 |
属性 | 参数类型 | 说明 |
---|---|---|
dataSource | CustomDataSource | 用于存储管理图层内所有entity对象集合 |
primitives | PrimitiveCollection | 用于存储管理图层内所有primitive对象集合 |
属性 | 参数类型 | 说明 |
---|---|---|
config | Object | config.json中图层配置信息 |
viewer | Viewer |
方法名 | 返回值 | 说明 |
---|---|---|
reload() | void | 重新加载数据 |
getLength() | Number | 当前图层内所有矢量对象的数量 |
方法名 | 返回值 | 说明 |
---|---|---|
getVisible() |
| 获取图层可见性 |
setVisible( |
| 设置图层可见性 |
centerAt( |
| 定位至数据区域,duration参数为动画时间,默认3秒;0表示没有动画; |
setOpacity( |
| 设置透明度 |
setZIndex( |
| 设置叠加顺序 |
mars3d.Draw是实体类,标绘控制处理类,提供文字、点、线、面、立体、模型等各类entity对象的绘制。
var drawControl = new mars3d.Draw(viewer, {hasEdit: true });
//标绘文字
drawControl.startDraw({
type: "label",
style: {
text: "火星科技三维地球",
color: "#0081c2",
font_size: 50,
border: true,
border_color: "#ffffff",
border_width: 2
},
success: function (entity) {
//简单绘制时,绘制完成后回调,更多复杂回调可以注册事件监听
}
});
//事件监听(可以自行加相关代码实现业务需求,此处主要做示例)
drawControl.on(mars3d.draw.event.DrawStart, function (e) {
console.log('开始绘制');
});
drawControl.on(mars3d.draw.event.DrawAddPoint, function (e) {
console.log('绘制过程中增加了点');
});
drawControl.on(mars3d.draw.event.DrawRemovePoint, function (e) {
console.log('绘制过程中删除了点');
});
drawControl.on(mars3d.draw.event.DrawCreated, function (e) {
console.log('创建完成');
});
drawControl.on(mars3d.draw.event.EditStart, function (e) {
console.log('开始编辑');
});
drawControl.on(mars3d.draw.event.EditMovePoint, function (e) {
console.log('编辑修改了点');
});
drawControl.on(mars3d.draw.event.EditRemovePoint, function (e) {
console.log('编辑删除了点');
});
drawControl.on(mars3d.draw.event.EditStop, function (e) {
console.log('停止编辑');
});
drawControl.on(mars3d.draw.event.Delete, function (e) {
console.log('删除了对象');
});
创建示例 | 说明 |
---|---|
mars3d.Draw( | 根据相关参数创建一个标绘控制器 |
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
hasEdit | Boolean | false | 是否可以编辑 |
nameTooltip | Boolean | true | 是否在不可编辑状态时将 name名称 属性 绑定到tooltip |
removeScreenSpaceEvent | Boolean | true | 是否移除Cesium内部的双击事件,因为会影响标绘的事件交互。默认true,为true时,内部会执行:
|
widgets\plotAttr\config\attr.json
文件名称 | 参数 |
---|---|
文字 |
|
点标记 |
|
图标点标记 |
|
模型 |
|
线 |
|
管道线 |
|
墙体 |
|
走廊 |
|
面 |
|
矩形 |
|
圆 |
|
椭圆 |
|
圆锥体 |
|
球体 |
|
平面 |
|
盒子 |
|
方法名 | 返回值 | 说明 |
---|---|---|
startDraw( | Entity | 激活开始绘制 |
endDraw() | this | 外部控制,完成绘制,比如手机端无法双击结束 |
stopDraw() | this | 停止绘制 |
clearDraw() | this | 清除所有绘制,等同deleteAll |
getCurrentEntity() | 获取当前编辑的要素 | |
hasEdit( |
| 设置是否在绘制完成后可以编辑修改entity |
startEditing( |
| 激活编辑entity |
stopEditing() | 停止编辑entity | |
updateAttribute( | Entity | 修改的Entity的属性,entit为空时为当前正在编辑的对象 |
setPositions( | Entity | 修改Entity的坐标、高程,entit为空时为当前正在编辑的对象 |
deleteEntity( |
| 删除单个entity,entit为空时为当前正在编辑的对象。兼容remove方法名 |
deleteAll() |
| 删除所有entity。 兼容removeAll方法名 |
toGeoJSON() | String | 转换所有标绘的Entity为geojson标准格式,用于保存 |
loadJson( | Entity[] | 转换保存过的geojson数据为entity,并添加到Draw进行控制 options参数支持:{ clear: true, //是否清除, flyTo: true, //是否定位至数据所在视域 style: objcet //默认样式 } |
addPoint( | Entity | 外部添加 billboard图标点 数据
|
addPolyline( | Entity | 外部添加 线 数据
|
addPolygon( | Entity | 外部添加 面 数据
|
attributeToEntity( | Entity | 通过属性和坐标,代码控制来生成entity(不是通过图上绘制的方式) |
bindExtraEntity( | Entity | 绑定外部非Draw产生的entity到标绘进行编辑 |
setVisible( |
| 设置所有绘制数据的可见性 |
hasDraw() | Boolean | 是否存在有绘制的entity |
getEntityById( | Entity | 获取指定id的实体对象(根据entity.attribute.attr.id校验) |
getEntitys() | Entity[] | 获取所有绘制的实体对象列表 |
getDataSource() | DataSource[] | 获取内部保存绘制Entity的DataSource对象。 |
getCoordinates( | [] | 获取实体的经纬度坐标数组 |
getPositions( | [] | 获取实体的笛卡尔坐标数组 |
flyTo( |
| 视角飞行定位到entiy处 options支持:scale控制线面数据边界的放大比例,radius控制点数据视距距离 |
destroy() |
| 销毁释放对象 |
方法名 | 返回值 | 说明 |
---|---|---|
on( | this | 将一个监听器函数(fn)添加到对象的特定事件类型。您可以选择指定侦听器的context(该事件方法内的this关键字将指向的对象)。您还可以传递几个空格分隔的类型(例如'click dblclick')。 |
on( | this | 添加一组类型/侦听器对,例如 {click: onClick, mousemove: onMouseMove} |
off( | this | 删除以前添加的监听器功能。如果没有指定函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您传递了一个自定义context参数进行on,则必须传递相同的context参数off才能删除该侦听器。 |
off( | this | 删除一组类型/侦听器对。 |
off() | this | 删除绑定到对象上的所有事件。 |
fire( | this | 触发指定类型的事件。您可以选择提供数据对象 - 监听器函数的第一个参数将包含其属性。该事件可以可选地传播到事件的父级。 |
listens( | Boolean | 如果特定事件类型具有附加的侦听器,则返回true。 |
once(…) | this | 与 |
addEventParent( | this | 添加一个它的父级将接收传播的事件 |
removeEventParent( | this | 删除一个绑定的addEventParent事件,删除后它将停止接收传播的事件 |
addEventListener(…) | this |
|
removeEventListener(…) | this |
|
clearAllEventListeners(…) | this |
|
addOneTimeEventListener(…) | this |
|
fireEvent(…) | this |
|
hasEventListeners(…) | Boolean |
|
mars3d.draw.util 该类是静态类。绘制相关的常用工具方法集合。
方法名 | 返回值 | 说明 |
---|---|---|
getDefStyle( | Object | 获取指定type的默认的标绘样式。 |
extend( | Object | 将src对象(或多个对象)的属性合并到dest对象中并返回后者。 |
isArray(obj) | Boolean | 兼容polyfill的 Array.isArray |
indexOf( | Number | 兼容polyfill的 Array.prototype.indexOf |
mars3d.draw.event 该类是静态类。主要是Draw可以使用的事件类型常量
Event名称 | 说明 |
---|---|
DrawStart | 当 开始绘制 时触发。 |
DrawAddPoint | 当 绘制过程中增加了点 时触发。 |
DrawRemovePoint | 当 绘制过程中删除了点 时触发。 |
DrawMouseMove | 当 绘制过程中鼠标移动了点 时触发。 |
DrawCreated | 当 绘制结束创建完成 时触发。 |
EditStart | 当 开始编辑 时触发。 |
EditMovePoint | 当 编辑修改了点 时触发。 |
EditRemovePoint | 当 编辑删除了点 时触发。 |
EditStop | 当 停止编辑 时触发。 |
Delete | 当 删除了对象 时触发。 |
mars3d.draw.tooltip 该类是静态类。主要是Draw标绘过程中的鼠标提示信息,可以赋值后自定义设置提示文本。
mars3d.draw.tooltip.draw.point.start = '单击 完成绘制';
mars3d.draw.tooltip.draw.polyline.start = '单击 开始绘制';
mars3d.draw.tooltip.draw.polyline.cont = '单击增加点,右击删除点';
mars3d.draw.tooltip.draw.polyline.end = '单击增加点,右击删除点<br />双击完成绘制';
mars3d.draw.tooltip.draw.polyline.end2 = '单击完成绘制'; //已到达最大点数时提示
mars3d.draw.tooltip.edit.start = '单击后 激活编辑';
mars3d.draw.tooltip.edit.end = '释放后 完成修改';
mars3d.draw.tooltip.dragger.def = '拖动 修改位置'; //默认拖拽时提示
mars3d.draw.tooltip.dragger.addMidPoint = '拖动 增加点';
mars3d.draw.tooltip.dragger.moveHeight = '拖动 修改高度';
mars3d.draw.tooltip.dragger.editRadius = '拖动 修改半径';
mars3d.draw.tooltip.dragger.editHeading = '拖动 修改方向';
mars3d.draw.tooltip.dragger.editScale = '拖动 修改缩放比例';
mars3d.draw.tooltip.del.def = '<br />右击 删除该点';
mars3d.draw.tooltip.del.min = '无法删除,点数量不能少于';
mars3d.draw.dragger 该类是静态类。主要是拖拽点控制处理。可以重新设置编辑时拖拽点颜色等。
mars3d.draw.dragger.PointColor.Control = new Cesium.Color.fromCssColorString("#1c197d"); //位置控制拖拽点
mars3d.draw.dragger.PointColor.MoveHeight = new Cesium.Color.fromCssColorString("#9500eb"); //上下移动高度的拖拽点
mars3d.draw.dragger.PointColor.EditAttr = new Cesium.Color.fromCssColorString("#f73163"); //辅助修改属性(如半径)的拖拽点
mars3d.draw.dragger.PointColor.AddMidPoint = new Cesium.Color.fromCssColorString("#04c2c9").withAlpha(0.3); //增加新点,辅助拖拽点
方法名 | 返回值 | 说明 |
---|---|---|
createDragger( | Point Entity | 创建Dragger拖动点的公共方法 |
mars3d.draw.attr 该类是静态类。用于entity通用相关属性处理,不用判断entity类型,内部自动处理,是对后续其他单个指定类型entity的属性处理的进一步便捷封装。
方法名 | 返回值 | 说明 |
---|---|---|
getPositions( |
| 获取entity的坐标 |
getCenterPosition( |
| 获取entity的的中心点坐标 |
getCoordinates( |
| 获取entity的坐标(geojson规范的格式) |
toGeoJSON( |
| 将entity转换为GeoJSON对象,用于保存 |
style2Entity( | Entity.billboard | 将style属性配置信息更新至entity对象中
|
mars3d.draw.attr.label 该类是静态类。用于label entity相关属性处理。
方法名 | 返回值 | 说明 |
---|---|---|
style2Entity( | Entity.label | 将style属性配置信息更新至entity对象中
|
getPositions( |
| 获取label entity的坐标 |
getCoordinates( |
| 获取label entity的坐标(geojson规范的格式) |
toGeoJSON( |
| 将label entity转换为GeoJSON对象,用于保存 |
mars3d.draw.attr.point 该类是静态类。用于point entity相关属性处理。
方法名 | 返回值 | 说明 |
---|---|---|
style2Entity( | Entity.point | 将style属性配置信息更新至entity对象中
|
getPositions( |
| 获取point entity的坐标 |
getCoordinates( |
| 获取point entity的坐标(geojson规范的格式) |
toGeoJSON( |
| 将point entity转换为GeoJSON对象,用于保存 |
mars3d.draw.attr.billboard 该类是静态类。用于billboard entity相关属性处理。
方法名 | 返回值 | 说明 |
---|---|---|
style2Entity( | Entity.billboard | 将style属性配置信息更新至entity对象中
|
getPositions( |
| 获取billboard entity的坐标 |
getCoordinates( |
| 获取billboard entity的坐标(geojson规范的格式) |
toGeoJSON( |
| 将billboard entity转换为GeoJSON对象,用于保存 |
mars3d.draw.attr.model 该类是静态类。用于model entity相关属性处理。
方法名 | 返回值 | 说明 |
---|---|---|
style2Entity( | Entity.model | 将style属性配置信息更新至entity对象中
|
getPositions( |
| 获取model entity的坐标 |
getCoordinates( |
| 获取model entity的坐标(geojson规范的格式) |
toGeoJSON( |
| 将model entity转换为GeoJSON对象,用于保存 |
mars3d.draw.attr.polyline 该类是静态类。用于polyline entity相关属性处理。
方法名 | 返回值 | 说明 |
---|---|---|
style2Entity( | Entity.polyline | 将style属性配置信息更新至entity对象中
|
getPositions( |
| 获取polyline entity的坐标 |
getCoordinates( |
| 获取polyline entity的坐标(geojson规范的格式) |
toGeoJSON( |
| 将polyline entity转换为GeoJSON对象,用于保存 |
line2curve( |
| 坐标点数组 转为 贝塞尔曲线坐标点数组 |
mars3d.draw.attr.polygon 该类是静态类。用于polygon entity相关属性处理。
方法名 | 返回值 | 说明 |
---|---|---|
style2Entity( | Entity.polygon | 将style属性配置信息更新至entity对象中
|
getPositions( |
| 获取polygon entity的坐标 |
getCoordinates( |
| 获取polygon entity的坐标(geojson规范的格式) |
toGeoJSON( |
| 将polygon entity转换为GeoJSON对象,用于保存 |
mars3d.draw.attr.ellipse 该类是静态类。用于 圆及椭圆 ellipse entity相关属性处理。
方法名 | 返回值 | 说明 |
---|---|---|
style2Entity( | Entity.ellipse | 将style属性配置信息更新至entity对象中
|
getPositions( |
| 获取ellipse entity的坐标 |
getCoordinates( |
| 获取ellipse entity的坐标(geojson规范的格式) |
toGeoJSON( |
| 将ellipse entity转换为GeoJSON对象,用于保存 |
getOutlinePositions( |
| 获取圆对应的 边界 的坐标,noAdd标识是否闭合 count控制返回的点数量, 传入参数后共返回coutn*4个点,默认360个点 |
getOutlineCoordinates( |
| 获取圆对应的 边界 的坐标(geojson规范的格式),noAdd标识是否闭合 count控制返回的点数量, 传入参数后共返回coutn*4个点,默认360个点 |
mars3d.draw.attr.rectangle 该类是静态类。用于rectangle entity相关属性处理。
方法名 | 返回值 | 说明 |
---|---|---|
style2Entity( | Entity.rectangle | 将style属性配置信息更新至entity对象中
|
getPositions( |
| 获取rectangle entity的坐标 |
getCoordinates( |
| 获取rectangle entity的坐标(geojson规范的格式) |
toGeoJSON( |
| 将rectangle entity转换为GeoJSON对象,用于保存 |
getOutlinePositions( |
| 获取矩形对应的 四个顶点边界 的坐标 ,noAdd标识是否闭合 |
getOutlineCoordinates( |
| 获取矩形对应的 四个顶点边界 的坐标(geojson规范的格式),noAdd标识是否闭合 |
mars3d.draw.attr.**** 除了上面列举的外,其他entity均有对应的相关属性处理类,名称与entity对象相同。
mars3d.RectangularSensorGraphics是实体类,提供自定义雷达效果的Entity对象展示。
varsensorEntity = viewer.entities.add({
position: position,
orientation: Cesium.Transforms.headingPitchRollQuaternion(position, hpr), //同gltf的一样,设置方向
rectangularSensor: new mars3d.RectangularSensorGraphics({
radius: radius, //传感器的半径
xHalfAngle: Cesium.Math.toRadians(xHalfAngle), //传感器水平半角
yHalfAngle: Cesium.Math.toRadians(yHalfAngle), //传感器垂直半角
material: new Cesium.Color(0.0, 1.0, 1.0, 0.4), //目前用的统一材质
lineColor: new Cesium.Color(0.0, 1.0, 1.0, 1.0), //线的颜色
showScanPlane: showScanPlane, //是否显示扫描面
scanPlaneColor: new Cesium.Color(0.0, 1.0, 1.0, 1.0), //扫描面颜色
scanPlaneMode: 'vertical', // 扫描面模式 垂直vertical/水平horizontal
scanPlaneRate: 3, //扫描速率,
showThroughEllipsoid: false //此参数控制深度检测
})
})
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
show | boolean | true | 是否显示 |
radius | Number |
| 传感器的半径 |
xHalfAngle | Number |
| 传感器水平半角 |
yHalfAngle | Number |
| 传感器垂直半角 |
material |
|
| 材质,一般传颜色 |
lineColor |
|
| 框线颜色 |
showScanPlane | boolean | true | 是否显示扫描面 |
scanPlaneColor |
|
| 扫描面颜色 |
scanPlaneMode | String | vertical | 扫描面模式 垂直vertical/水平horizontal |
scanPlaneRate | Number |
| 扫描速率 |
showThroughEllipsoid | boolean | true | 此参数控制深度检测,为false启用深度检测,可以解决雷达一半在地球背面时显示的问题 |
slice | Number | 32 | 切分程度 |
showSectorLines | boolean | true | 是否显示扇面的线 |
showSectorSegmentLines | boolean | true | 是否显示扇面和圆顶面连接的线 |
showLateralSurfaces | boolean | true | 是否显示侧面 |
lateralSurfaceMaterial |
| undefined | 侧面材质(Material) |
showDomeSurfaces | boolean | true | 是否显示圆顶表面 |
domeSurfaceMaterial |
| undefined | 圆顶表面材质(Material) |
showDomeLines | boolean | true | 是否显示圆顶面线 |
showIntersection | boolean | true | 是否显示与地球相交的线 |
intersectionColor |
| Color.WHITE | 与地球相交的线的颜色 |
intersectionWidth | Number | 5.0 | 与地球相交的线的宽度(像素) |
mars3d.DivPoint是实体类,提供div点,用于自定义动态效果的点对象展示,div中可以绑定任意html。
var divpoint = new mars3d.DivPoint(viewer, {
html: "任意html",
position: Cesium.Cartesian3.fromDegrees(118.810112, 31.231319),
anchor: [0, 0],
data: item, //item为需要绑定的数据
click: function (e) {//单击后的回调
}
});
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
html | String |
| 绑定的html代码,一般为div |
position |
|
| 坐标 |
anchor | [Number,Number] | [0,0] | 展示位置的横、纵偏移量 |
click | function |
| 绑定的单击事件回调 |
popup | html |
| 绑定框架支持的popup鼠标单击信息提示 |
tooltip | html |
| 绑定框架支持的tootip鼠标移入信息提示 |
distanceDisplayCondition |
|
| 在指定的相机视距范围内显示 |
scaleByDistance |
|
| 按指定缩放规则进行缩放处理 |
heightReference |
|
| 高度模式,主要用于无高度值时可以指定贴地 |
depthTest | boolean | true | 是否进行深度检测,false时地球遮挡等情况下一直可见 |
属性名 | 类型 | 说明 |
---|---|---|
dom |
| 该html对应的DOM对象,可以进行其他自定义操作 |
visible |
| 设置点的显示或隐藏状态 |
html | String | 绑定的html代码,一般为div |
popup | html | 绑定框架支持的popup鼠标单击信息提示 |
tooltip | html | 绑定框架支持的tootip鼠标移入信息提示 |
depthTest | boolean | 是否进行深度检测,false时地球遮挡等情况下一直可见 |
方法名 | 返回值 | 说明 |
---|---|---|
showPopup() | void | 如有绑定popup时,将popup弹出显示 |
closePopup() | void | 如有绑定popup时,将popup关闭 |
destroy() | void | 释放销毁对象 |
mars3d.DynamicRiver是实体类,提供动态河流效果的矢量对象展示。
var river = new mars3d.DynamicRiver(viewer, {
image: './img/textures/movingRiver.png',
positions: pots,
width: 200,
height: 10,
speed: 10,
});
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
position |
|
| 坐标 |
image | String |
| 材质图片url路径 |
flipY | boolean | false | 是否Y方向,用于控制图片横纵方向 |
width | Number | 10 | 河宽度 |
height | Number | 0 | 高程高度值 |
alpha | Number | 0.5 | 透明度 |
move | boolean | true | 是否流动 |
speed | Number | 1.0 | 流动时的流速 |
moveDir | boolean | true | 控制流速的方向 |
moveVar |
| Cesium.Cartesian3(50, 1, 100) | 控制流速的水面动画 |
属性名 | 类型 | 说明 |
---|---|---|
flipY | boolean | 是否Y方向,用于控制图片横纵方向 |
width | Number | 河宽度 |
height | Number | 高程高度值 |
alpha | Number | 透明度 |
move | boolean | 是否流动 |
speed | Number | 流动时的流速 |
moveDir | boolean | 控制流速的方向 |
moveVar |
| 控制流速的水面动画 |
方法名 | 返回值 | 说明 |
---|---|---|
setPositions( | void | 初始化没传坐标时,可后续设置坐标 |
destroy() | void | 释放销毁对象 |
mars3d.ParticleSystemEx是实体类,提供对Cesium原生的ParticleSystem进一步封装,达到简化使用的目的。
var particleSystemEx = new mars3d.ParticleSystemEx(viewer, {
//ParticleSystem原生属性
image: './img/particle/smoke.png',
startColor: Cesium.Color.LIGHTCYAN.withAlpha(0.3), //粒子出生时的颜色
endColor: Cesium.Color.WHITE.withAlpha(0.0), //当粒子死亡时的颜色
particleSize: 20, //粒子图片的Size大小(单位:像素)
startScale: 2.0, //粒子在出生时的比例(单位:相对于imageSize大小的倍数)
endScale: 4.0, //粒子在死亡时的比例(单位:相对于imageSize大小的倍数)
minimumParticleLife: 1.0,//粒子可能存在的最短寿命时间,实际寿命将随机生成(单位:秒)
maximumParticleLife: 3.0,//粒子可能存在的最长寿命时间,实际寿命将随机生成(单位:秒)
emissionRate: 200, //粒子发射器的发射速率 (单位:次/秒)
//mars扩展的属性
position: Cesium.Cartesian3.fromDegrees(117.221844, 31.813857, 28.5), //位置
gravity: -11, //重力因子,会修改速度矢量以改变方向或速度(基于物理的效果)
target: new Cesium.Cartesian3(-0.151, 0.294, 0.225), // 粒子的方向
maxHeight: 5000, //超出该高度后不显示粒子效果
})
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
image | String |
| 粒子对象的图片url路径 |
particleSize | Number | 25 | 粒子对象的大小(像素值) |
其他ParticleSystem原生属性 |
|
| Cesium.ParticleSystem原生所有属性均支持 |
position |
|
| 当粒子是固定位置时,传入的具体坐标 |
modelMatrix | function |
| 当粒子是基于运动的对象时,可以传入modelMatrix来控制粒子的实时运动位置
|
gravity | Number | 0 | 重力因子,会修改速度矢量以改变方向或速度(基于物理的效果) |
target | Cesium.Cartesian3 | Cesium.Cartesian3(0, 0, 0) | 粒子的运动方向 |
maxHeight | Number | 5000 | 超出该高度后不显示粒子效果,因为超出一定高度后粒子都拥挤在一起,很不美观。 |
transX | Number | 0 | 在粒子系统本地坐标系中转换粒子系统发射器时的x方向值 |
transY | Number | 0 | 在粒子系统本地坐标系中转换粒子系统发射器时的y方向值 |
transZ | Number | 0 | 在粒子系统本地坐标系中转换粒子系统发射器时的z方向值 |
hasDefUpdate | boolean | true | 控制内部是否进行 updateCallback 回调处理 |
属性名 | 类型 | 说明 |
---|---|---|
particleSystem | Cesium.ParticleSystem | Cesium原生的粒子对象 |
show | boolean | 粒子对象的显示隐藏状态 |
particleSize | Number | 粒子对象的大小(像素值) |
position |
| 当粒子是固定位置时,传入的具体坐标 |
modelMatrix | function | 当粒子是基于运动的对象时,可以传入modelMatrix来控制粒子的实时运动位置
|
target | Cesium.Cartesian3 | 粒子的运动方向 |
方法名 | 返回值 | 说明 |
---|---|---|
destroy() | void | 释放销毁对象 |
mars3d.water.createWaterPrimitive是一个创建动态水面primitive对象的方法
//水效果
var polygon = new Cesium.PolygonGeometry({
height: height, //水面高
perPositionHeight: true,
extrudedHeight: height, //底部高
polygonHierarchy: new Cesium.PolygonHierarchy(positions),
});
var primitive = mars3d.water.createWaterPrimitive(polygon, {
normalMap: './img/textures/waterNormals.jpg', //水正常扰动的法线图
frequency: 9000.0, //控制波数的数字。
animationSpeed: 0.03, //控制水的动画速度的数字。
amplitude: 5.0, //控制水波振幅的数字。
specularIntensity: 0.2, //控制镜面反射强度的数字。
baseWaterColor: "#123e59", //rgba颜色对象基础颜色的水。#00ffff,#00baff,#006ab4
blendColor: "#123e59" //从水中混合到非水域时使用的rgba颜色对象。
})
viewer.scene.primitives.add(primitive);
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
normalMap | String |
| 水正常扰动的法线图url路径 |
frequency | Number | 8000 | 控制波数的数字。 |
animationSpeed | Number | 0.03 | 控制水的动画速度的数字。 |
amplitude | Number | 5.0 | 控制水波振幅的数字。 |
specularIntensity | Number | 0.8 | 控制镜面反射强度的数字。 |
baseWaterColor | String | #123e59 | rgba颜色对象基础颜色的水。 |
blendColor | String | #123e59 | 从水中混合到非水域时使用的rgba颜色对象。 |
clampToGround | boolean | false | 是否贴地 |
mars3d.LineFlowMaterial是实体类,提供动画线材质扩展,可以用于polyline、wall等Etnity的material绑定。
//示例:箭头动态特效
viewer.entities.add({
polyline: {
positions: Cesium.Cartesian3.fromDegreesArrayHeights([
117.150141, 31.833051, 33.9,
117.166225, 31.819655, 44.6,
117.195088, 31.807772, 42.3
]),
width: 5,
material: new mars3d.LineFlowMaterial({//动画线材质
color: Cesium.Color.CHARTREUSE,
duration: 1000, //时长,控制速度
url: 'img/textures/ArrowOpacity.png'
}),
}
});
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
color |
| new Cesium.Color(0, 0, 0, 0) | 颜色 |
duration | Number | 1000 | 动画时长,单位:毫秒 |
url | String |
| 贴图url地址 |
repeat | Cesium.Cartesian2 | new Cesium.Cartesian2(1.0, 1.0) | 横纵方向的贴图,重复次数 |
axisY | Boolean | false | 是否为Y轴方向,用于指定横纵方向 |
mars3d.CircleFadeMaterial是实体类,提供动态波纹效果材质扩展,可以用于ellipse Etnity的material绑定,模拟动态点波纹。
var center = Cesium.Cartesian3.fromDegrees(117.29, 32.0581, 1);
viewer.entities.add({
position: center,
ellipse: {
height: 0.0,
semiMinorAxis: 80000.0,
semiMajorAxis: 80000.0,
material: new mars3d.CircleFadeMaterial({
color: new Cesium.Color(77 / 255, 201 / 255, 255 / 255, 0.9)
}),
}
});
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
color |
|
| 颜色 |
duration | Number | 1000 | 动画时长,单位:毫秒 |
mars3d.CircleWaveMaterial是实体类,提供动态波纹效果材质扩展,可以用于ellipse Etnity的material绑定,模拟动态点波纹(多个圈)。
var center = Cesium.Cartesian3.fromDegrees(117.29, 32.0581, 1);
viewer.entities.add({
position: center,
ellipse: {
height: 0.0,
semiMinorAxis: 500.0,
semiMajorAxis: 500.0,
material: new mars3d.CircleWaveMaterial({
duration:2000,//动画时长,单位:毫秒
color: Cesium.Color.CHARTREUSE,
gradient:0,
count:3
}),
}
});
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
color |
|
| 颜色 |
duration | Number | 1000 | 动画时长,单位:毫秒 |
count | Number | 2 | 圆圈个数 |
gradient | Number | 0.1 | 透明度的幂方(0-1),0表示无虚化效果,1表示虚化成均匀渐变 |
mars3d.TextMaterial是实体类,提供文字贴图材质扩展,可以用于面状Etnity的material绑定,模拟不同文字效果。
viewer.entities.add({
name: '路面文字',
rectangle: {
coordinates: Cesium.Rectangle.fromDegrees(121.479989, 29.791162, 121.480114, 29.791201),
classificationType: Cesium.ClassificationType.BOTH,
material: new mars3d.TextMaterial({
text: '火 星 路',
textStyles: {
font: '50px 楷体',
fill: true,
fillColor: Cesium.Color.DARKGREEN,
stroke: true,
strokeWidth: 3,
strokeColor: Cesium.Color.WHITE,
backgroundColor: new Cesium.Color(0.0, 0.0, 0.0, 0),
},
}),
rotation: Cesium.Math.toRadians(163),
stRotation: Cesium.Math.toRadians(163),
}
});
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
color |
|
| 颜色 |
text | String |
| 显示的文本 |
textStyles | Object |
| 设置文本的相关配置及样式,具体参数参考 |
mars3d.analysi.Measure是实体类,提供测量长度、面积、高度等处理类。
this.measureSurface = new mars3d.analysi.Measure({
viewer: viewer,
terrain: false
});
measureSurface.measuerLength();//测量长度
measureSurface.measureArea();//测量面积
measureSurface.measureHeight();//测量高度
measureSurface.clearMeasure();//清除
创建示例 | 说明 |
---|---|
mars3d.analysi.Measure( | 根据相关参数创建一个量算控制器 |
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
viewer | viewer | 必须传入 | 当前的地球对象viewer |
font | String | '16px SimHei' | 显示测量结果文本的字体 |
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
unit | String | null | 指定显示测试结果的的计量单位,未指定时内部会自动处理显示。 长度高度可选值有:km(公里)、mile(海里)、m(米)、zhang(丈) 面积可选值有: m(平方米)、km(平方公里)、mu(亩)、ha(公顷) |
calback | function | null | 返回测量结果的回调方法,用于在其他界面显示测量结果。
|
terrain | Boolean | null | 测量长度、面积时标识是否贴地模式 |
isSuper | Boolean | null | measureHeight高度测量时标识不同模式 |
方法名 | 返回值 | 说明 |
---|---|---|
measuerLength( | void | 长度测量,terrain参数控制是否贴地测量 |
measureArea( | void | 面积测量,terrain参数控制是否贴地测量 |
measureHeight( | void | 高度测量,isSuper参数控制是否三角测量 |
measureAngle( | void | 角度测量 |
measureSection( | void | 剖面分析 |
measurePoint( | void | 坐标测量 |
updateUnit( | void | 更新单位,thisType标识类型,如area、length、height |
clearMeasure() | void | 清除所有测量结果 |
stopDraw() | void | 停止绘制,但不清除已有的绘制。 |
endDraw() | void | 外部控制,等价于双击完成绘制,比如手机端无法双击结束 |
formatArea( | String | 进行单位换算,格式化显示面积 unit可选值有: m(平方米)、km(平方公里)、mu(亩)、ha(公顷) |
formatLength( | String | 进行单位换算,格式化显示长度 unit可选值有: km(公里)、mile(海里)、m(米)、zhang(丈) |
mars3d.analysi.MeasureVolume是实体类,提供基于方量分析测量填挖方体积的计算。
var measureObj = new mars3d.analysi.MeasureVolume(viewer,{
callBack:function(){
}
});
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
heightLabel | boolean | true | 是否显示各坐标的海拔高度值 |
offsetLabel | boolean | false | 是否显示各坐标的离地高度值 |
onStart | function |
| 分析前回调方法 |
onStop | function |
| 分析完成后回调 |
属性名 | 类型 | 说明 |
---|---|---|
height | Number | 基准面高度,默认为最低点的高度值 |
maxheight | Number | 最大高度,主要用于显示墙高度 |
heightLabel | boolean | 是否显示各坐标的海拔高度值 |
offsetLabel | boolean | 是否显示各坐标的离地高度值 |
方法名 | 返回值 | 说明 |
---|---|---|
startDraw() | void | 激活绘制面,进行分析绘制区域结果的体积 |
selecteHeight() | void | 激活图上绘制,点选基准面 |
start( | void | 通过传入坐标进行分析 |
clear() | void | 清除分析 |
destroy() | void | 销毁释放对象 |
mars3d.analysi.Slope是实体类,提供基于计算绘制的范围内的插值点的坡度坡向值。
var slope = new mars3d.analysi.Slope({
viewer: viewer,
point: {
show: true,
pixelSize: 9,
color: Cesium.Color.RED.withAlpha(0.5),
disableDepthTestDistance: Number.POSITIVE_INFINITY,
},
arrow: {
show: true,
scale: 0.3, //箭头长度的比例(范围0.1-0.9)
width: 15, //箭头宽度
color: Cesium.Color.YELLOW
},
tooltip: function (entity) {//自定义tooltip显示内容
var attr = entity.properties;
return `坡度: ${attr.slopeStr1} (${attr.slopeStr2}) 坡向: ${attr.direction}°`
},
})
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
viewer | Viewer |
| 地球对象 |
arrow | Object | {show:true, scale:0.3, width:1.5, color:Cesium.Color.YELLOW} | 箭头的显示对象相关属性 |
point | Object | {show:true, pixelSize:9, width:1.5, color:Cesium.Color.RED.withAlpha(0.5)} | 坡度点的显示对象相关属性 |
tooltip | String/function |
| 绑定的tooltip显示对象,格式参考tooltip示例规范 |
positions |
| null | 需要分析的面的边界点 |
calbak | function |
| 分析完成的回调方法,传回分析结果的所有点
|
方法名 | 返回值 | 说明 |
---|---|---|
add( | void | 通过传入坐标进行分析 options支出下面参数:
|
clear() | void | 清除分析 |
destroy() | void | 销毁释放对象 |
mars3d.analysi.Underground是实体类,提供开启地下模式浏览方式。
var underObj = new mars3d.analysi.Underground(viewer, {
alpha: 0.5,
enable: true,
});
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
alpha | Number | 0.5 | 地表透明度 0-1 |
enable | boolean | false | 是否开启地表透明 |
属性名 | 类型 | 说明 |
---|---|---|
depth | Number | 允许相机地下深度(相对于地表海拔) |
alpha | Number | 地表透明度 0-1 |
enable | boolean | 是否开启地表透明 |
mars3d.analysi.FloodByEntity是实体类,提供polygon Entity模拟的平面 淹没分析效果。
var floodControl = new mars3d.analysi.FloodByEntity(viewer);
//开始分析
floodControl.start(drawEntity, {
height: minValue,
maxHeight: maxValue,
speed: speed,
onChange: function (height) {
$("#msg").html('当前高度:' + height.toFixed(1));
},
onStop: function () {
$("#msg").html('已完成分析');
}
});
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
height | Number |
| 当前海拔高度,一般为分析的最低点高程 |
maxHeight | Number |
| 分析的最高点高程 |
speed | Number |
| 淹没速度 ,单位 :米/秒 |
onChange | function |
| 高程变化回调 |
onStop | function |
| 分析完成,到达最高海拔后回调 |
属性名 | 类型 | 说明 |
---|---|---|
height |
| 当前淹没到的海拔高度 |
方法名 | 返回值 | 说明 |
---|---|---|
start( | void | 开始分析 |
clear() | void | 停止并清除分析结果 |
mars3d.analysi.FloodByTerrain是实体类,提供基于Globel材质处理的淹没分析效果。
var floodObj = new mars3d.analysi.FloodByTerrain(viewer, {
positions: positions,
minHeight: minValue,
maxHeight: maxValue,
speed: speed,
visibleOutArea: visibleOutArea
});;
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
height | Number |
| 当前海拔高度,一般为分析的最低点高程 |
minHeight | Number |
| 分析的最低点高程 |
maxHeight | Number |
| 分析的最高点高程 |
speed | Number |
| 淹没速度 ,单位 :米/秒 |
visibleOutArea | boolean |
| 非淹没区域显示 |
onStop | function |
| 分析完成,到达最高海拔后回调 |
属性名 | 类型 | 说明 |
---|---|---|
show | boolean | 显示隐藏 |
speed | Number | 淹没速度 ,单位 :米/秒 |
visibleOutArea | boolean | 非淹没区域显示 |
方法名 | 返回值 | 说明 |
---|---|---|
setPositions( | void | 初始化没传区域坐标时,可后续设置区域坐标 |
cancelFloodSpeed() | void | 暂停淹没动画 |
reFlood() | void | 重新淹没 |
destroy() | void | 销毁释放对象 |
mars3d.analysi.TerrainClipPlan是实体类,提供基于ClippingPlane裁剪地形的开挖分析效果。
var terrainClip = new mars3d.analysi.TerrainClipPlan(viewer, {
positions: positions,
height: height, //高度
splitNum: 50, //wall边界插值数
wallImg: './img/textures/excavate_side_min.jpg', //边界墙材质
bottomImg: './img/textures/excavate_bottom_min.jpg'//底部区域材质
});
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
height | Number |
| 当前海拔高度,一般为分析的最低点高程 |
positions |
|
| 挖地区域边界坐标数组 |
splitNum | Number |
| 边界墙 插值个数 |
wallImg | String |
| 边界墙材质 图片url |
bottomImg | String |
| 底部区域材质 图片url |
属性名 | 类型 | 说明 |
---|---|---|
show |
| 显示隐藏开挖区域 |
height |
| 当前淹没到的海拔高度 |
方法名 | 返回值 | 说明 |
---|---|---|
updateData( | void | 更新开挖区域 |
clear() | void | 清除开挖区域结果 |
mars3d.analysi.TerrainClip是实体类,提供基于Globe材质的裁剪地形的开挖分析效果。
var terrainExcavate = new mars3d.analysi.TerrainClip(viewer, {
positions: positions,
height: height,
splitNum: 50, //wall边界插值数
wallImg: './img/textures/excavate_side_min.jpg',
bottomImg: './img/textures/excavate_bottom_min.jpg'
});
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
height | Number |
| 当前海拔高度,一般为分析的最低点高程 |
positions |
|
| 挖地区域边界坐标数组 |
splitNum | Number |
| 边界墙 插值个数 |
wallImg | String |
| 边界墙材质 图片url |
bottomImg | String |
| 底部区域材质 图片url |
属性名 | 类型 | 说明 |
---|---|---|
show |
| 显示隐藏开挖区域 |
showSelfOnly |
| 仅显示自己 |
height |
| 当前淹没到的海拔高度 |
boundingSwell |
| 点集合的包围盒膨胀数值 |
方法名 | 返回值 | 说明 |
---|---|---|
setPositions( | void | 初始化没传区域坐标时,可后续设置区域坐标 |
destroy() | void | 释放清除开挖区域结果 |
mars3d.analysi.HeightCounterByTerrain是实体类,提供基于Globe材质的等高线限定范围分析效果。
var heightCounterByTerrain = new mars3d.analysi.HeightCounterByTerrain(viewer, {
positions: positions
});
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
positions |
|
| 等高线区域边界坐标数组 |
属性名 | 类型 | 说明 |
---|---|---|
show |
| 显示隐藏等高线区域 |
方法名 | 返回值 | 说明 |
---|---|---|
setPositions( | void | 初始化没传区域坐标时,可后续设置区域坐标 |
destroy() | void | 释放清除结果 |
mars3d.tiles.TilesClipPlan是实体类,提供基于ClippingPlane裁剪模型的剖切分析效果。
var clipTileset = new mars3d.tiles.TilesClipPlan(tileset,{
type:mars3d.tiles.TilesClipPlan.Type.Z,//切顶部
distance:10//裁剪距离
});
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
type | mars3d.tiles.TilesClipPlan.Type |
| 剖切方向 |
distance | Number |
| 剖切距离 ,离模型中心原点的距离,单位:米 |
属性名 | 类型 | 说明 |
---|---|---|
type |
| 剖切方向 |
distance |
| 剖切距离 ,离模型中心原点的距离,单位:米 |
方法名 | 返回值 | 说明 |
---|---|---|
clear() | void | 清除剖切结果 |
mars3d.tiles.MixedOcclusion是实体类,提供建筑物混合遮挡效果。 1.楼块不能遮挡道路、水系、绿地和标注等地图元素; 2.楼快之间,需要实现不透明的实际遮挡效果。
var fuseTileAndBG = new mars3d.tiles.MixedOcclusion(viewer, {
alpha: 0.5
});
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
enabled | Boolean | true | 是否启用 |
alpha | Number | 0.5 | 透明度 |
属性名 | 类型 | 说明 |
---|---|---|
enabled | Boolean | 是否启用 |
alpha | Number | 透明度 |
方法名 | 返回值 | 说明 |
---|---|---|
destroy() | void | 清除销毁对象 |
mars3d.tiles.TilesClip是实体类,提供倾斜摄影模型的模型裁剪功能。该功能对3dtiles数据有要求,仅适用于无自带着色器的模型。
var tilesetClip = new mars3d.tiles.TilesClip({
viewer: viewer,
tileset: tileset,
positions: positions,
clipOutSide: false
});
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
viewer | Viewer |
| 地球对象 |
tileset | Cesium3DTileset |
| 3dtiles模型对象 |
positions | Cartesian3 [] |
| 裁剪模型的区域边界坐标 |
clipOutSide | boolean | false | true裁剪区域外部部分,false裁剪区域内部部分 |
属性名 | 类型 | 说明 |
---|---|---|
tileset | Cesium3DTileset | 3dtiles模型对象 |
clipOutSide | boolean | true裁剪区域外部部分,false裁剪区域内部部分 |
方法名 | 返回值 | 说明 |
---|---|---|
destroy() | void | 清除销毁对象 |
mars3d.tiles.TilesFlat是实体类,提供倾斜摄影模型的模型压平功能。该功能对3dtiles数据有要求,仅适用于无自带着色器的模型。
var tilesetClip = new mars3d.tiles.TilesFlat({
viewer: viewer,
tileset: tileset,
positions: positions,
flatHeight: 0
});
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
viewer | Viewer |
| 地球对象 |
tileset | Cesium3DTileset |
| 3dtiles模型对象 |
positions | Cartesian3 [] |
| 压平模型的区域边界坐标 |
flatHeight | Number | 0 | 压平区高度 |
属性名 | 类型 | 说明 |
---|---|---|
tileset | Cesium3DTileset | 3dtiles模型对象 |
flatHeight | Number | 压平区高度 |
方法名 | 返回值 | 说明 |
---|---|---|
destroy() | void | 清除销毁对象 |
mars3d.tiles.TilesFlood是实体类,提供倾斜摄影模型的模型模型淹没功能。该功能对3dtiles数据有要求,仅适用于无自带着色器的模型。
var tilesetClip = new mars3d.tiles.TilesFlood({
viewer: viewer,
tileset: tileset,
positions: positions,
floodAll: false
});
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
viewer | Viewer |
| 地球对象 |
tileset | Cesium3DTileset |
| 3dtiles模型对象 |
positions | Cartesian3 [] |
| 淹没分析的区域边界坐标 |
floodAll | Boolean | false | 是否模型全局淹没 |
floodSpeed | Number | 5.5 | 淹没速度,米/秒(默认刷新频率为55Hz) |
floodColor | array | [0.15, 0.7, 0.95, 0.5] | 淹没颜色数组 |
属性名 | 类型 | 说明 |
---|---|---|
tileset | Cesium3DTileset | 3dtiles模型对象 |
floodAll | Boolean | 是否模型全局淹没 |
方法名 | 返回值 | 说明 |
---|---|---|
destroy() | void | 清除销毁对象 |
mars3d.video.Video2D是实体类,提供html5 video视频源投射到三维场景中。
var selectedView = new mars3d.video.Video2D(viewer, videoElement, {
aspectRatio: viewer.scene.camera.frustum.aspectRatio,
fov: viewer.scene.camera.frustum.fov,
dis: 2000
});
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
aspectRatio | Number |
| 宽高比 |
fov | Number |
| 相机水平张角 |
dis | Number | 10 | 视角距离 |
stRotation | Number | 0 | 材质方向 0-360 |
frustumShow | Boolean | true | 投射的视椎体是否显示 |
camera |
|
| 相机位置等参数 |
属性名 | 类型 | 说明 |
---|---|---|
play | Boolean | 视频播放机暂停 |
aspectRatio | Number | 宽高比 |
fov | Number | 相机水平张角 |
dis | Number | 视角距离 |
stRotation | Number | 材质方向 0-360 |
frustumShow | Boolean | 投射的视椎体是否显示 |
params | object 只读 | 所有相机的参数 |
方法名 | 返回值 | 说明 |
---|---|---|
locate() | void | 切换相机到 呈现投影相机的第一视角 |
rotateCamera(String axis, Number deg) | void | 往axis方向旋转相机deg步长 |
destroy() | void | 释放销毁资源 |
mars3d.video.Video3D是实体类,提供html5 video视频源投射到三维场景中,同时也支持投射图片或颜色对象。
var selectedView = new mars3d.video.Video3D(viewer, {
type: mars3d.video.Video3D.Type.Video,
url: "http://data.marsgis.cn/video/lukou.mp4",
cameraPosition: cameraPosition,
position: position,
alpha: alpha,
});
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
type | mars3d.video.Video3D.Type | *.Type.Video | 类型,视频、图片、颜色 |
cameraPosition |
|
| 相机位置 |
position |
|
| 目标视点位置 |
alpha | Number | 1.0 | 透明度 0 - 1 |
url | String |
| 视频或图片的url地址 |
color |
|
| 颜色投放时的,颜色值 |
debugFrustum | Boolean | true | 投射的视椎体是否显示 |
aspectRatio | Number |
| 宽高比 |
fov | Number |
| 相机水平张角 |
属性名 | 类型 | 说明 |
---|---|---|
cameraPosition |
| 相机位置 |
position |
| 目标视点位置 |
alpha | Number | 透明度 0 - 1 |
debugFrustum | Boolean | 投射的视椎体是否显示 |
aspectRatio | Number | 宽高比 |
fov | Number | 相机水平张角 |
show | Boolean | 显示和隐藏 |
videoPlay | Boolean | 切换视频 播放/暂停 |
方法名 | 返回值 | 说明 |
---|---|---|
locate() | void | 切换相机到 呈现投影相机的第一视角 |
destroy() | void | 释放销毁资源 |
mars3d.analysi.Sightline是实体类,提供通视分析功能。
var sightline = new mars3d.analysi.Sightline(viewer);
sightline.add(positions1, positions2);//添加需要分析的起止点
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
originPoint |
|
| 通视分析 起始点位置 |
targetPoint |
|
| 通视分析 目标点位置 |
visibleAreaColor |
| 可视区域颜色 | |
hiddenAreaColor |
| 不可视区域颜色 |
属性名 | 类型 | 说明 |
---|---|---|
visibleAreaColor |
| 可视区域颜色 |
hiddenAreaColor |
| 不可视区域颜色 |
方法名 | 返回值 | 说明 |
---|---|---|
add( | void | 添加分析 |
clear() | void | 清除所有分析结果 |
destroy() | void | 释放销毁资源 |
mars3d.analysi.ViewShed3D是实体类,提供可视域分析功能。
var selectedView = new mars3d.analysi.ViewShed3D(viewer, {
horizontalAngle: horizontalAngle,
verticalAngle: verticalAngle,
distance: distance,
})
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
cameraPosition |
|
| 相机位置 ,无值时通过鼠标绘制获取 |
viewPosition |
|
| 目标视点位置,无值时通过鼠标绘制获取 |
calback | function |
| 未传入相机位置和视点位置时,手动图上绘制结束后的回调方法 |
alpha | Number | 0.5 | 透明度 0 - 1 |
horizontalAngle | Number |
| 水平张角 |
verticalAngle | Number |
| 垂直张角 |
frustum | Boolean | true | 投射的视椎体是否显示 |
distance | Number |
| 可视距离 , 已传viewPosition值时,该参数无效 |
visibleAreaColor |
| new Cesium.Color(0, 1, 0) | 可视区域颜色 |
hiddenAreaColor |
| new Cesium.Color(1, 0, 0) | 不可视区域颜色 |
属性名 | 类型 | 说明 |
---|---|---|
cameraPosition |
| 相机位置 ,无值时通过鼠标绘制获取 |
viewPosition |
| 目标视点位置,无值时通过鼠标绘制获取 |
alpha | Number | 透明度 0 - 1 |
horizontalAngle | Number | 水平张角 |
verticalAngle | Number | 垂直张角 |
frustum | Boolean | 投射的视椎体是否显示 |
distance | Number | 可视距离 |
visibleAreaColor |
| 可视区域颜色 |
hiddenAreaColor |
| 不可视区域颜色 |
show | Boolean | 显示和隐藏 |
方法名 | 返回值 | 说明 |
---|---|---|
destroy() | void | 释放销毁资源 |
mars3d.FlyLine是实体类,提供飞行漫游路线控制。参数建议从“基础项目” 的“飞行漫游”功能界面操作后保存JSON后拷贝传入。
//flydata数据值可以从“基础项目” 的“飞行漫游”功能界面操作后保存JSON
var flydata = {
"id": "1",
"name": "城市飞行",
"points": [
[117.245989, 31.852285, 100],
[117.246347, 31.834418, 300],
[117.246703, 31.816635, 500]
],
"speed": 100,
"camera": { "type": "gs", "followedX": 50, "followedZ": 10 },
"model": {
"show": true,
"uri": "http://data.marsgis.cn/gltf/mars/zhanji.glb",
"scale": 0.01,
"minimumPixelSize": 100
},
"path": { "show": true, "color": "#ffff00", "opacity": 0.5, "width": 1,"isAll":false },
"interpolation": false, //setInterpolationOptions插值
"shadow": [{ "show": true, "type": "wall" }]
};
flyLine = new mars3d.FlyLine(viewer, flydata);
flyLine.start();
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
id | String | 0 | 标识路线唯一值,无特殊意义 |
name | String |
| 路线名称,无特殊意义 |
points | [[x, y, z],[x, y, z]…] |
| 路线坐标数组,按坐标路线进行漫游 |
speed | Number/Array |
| 飞行速度 ,km/h |
camera | Object | { "type": "gs", "followedX": 50, "followedZ": 10 } | 对漫游时空中飞行时的相机视角进行设置,可以设置跟随视角、锁定第一视角等效果 |
shadow | [Object] |
| 对一些辅助的漫游效果的额外entity对象的控制配置,如空中飞行时的对地投影显示效果进行配置,支持墙和圆锥 |
interpolation | boolean | false | 是否对路线进行setInterpolationOptions插值 |
interpolationDegree | Number | 2 | 对路线进行插值时的interpolationDegree参数设置 |
clockRange | Cesium.ClockRange | Cesium.ClockRange.UNBOUNDED | 赋值给viewer.clock.clockRange ,控制播放结束后的行为。如:
|
clockLoop | boolean | false | 是否结束后继续循环漫游路线,等价于clockRange:Cesium.ClockRange.LOOP_STOP |
autoStop | boolean | false | 到达结束时间后,是否自动stop ,仅限在clockRange:Cesium.ClockRange.UNBOUNDED |
showGroundHeight | boolean | false | 是否在label中显示离地高度 |
model | Object | { "show": false, "scale": 1, "minimumPixelSize": 50 } | 对漫游时显示的gltf模型进行配置,支持Draw中的所有可配置属性 |
label | Object | { "show": false, "color": "#ffffff", "font_family": "楷体", "font_size": 20 } | 对漫游时显示的文字注记进行配置,支持Draw中的所有可配置属性 |
path | Object | { "show": false, "lineType": "solid", "color": "#3388ff", "opacity": 0.5, "width": 1 } | 对漫游时显示的轨迹路线进行配置,支持Draw中的所有可配置属性 |
pauseTime | Number/function |
| 在漫游到各点时暂停的时间(单位:秒) |
onStep | function |
| 播放到每一个坐标时的回调方法
|
属性名 | 类型 | 说明 |
---|---|---|
popup |
| 设置或获取漫游的模型关联的popup弹窗配置 |
info | objcet 只读 | 获取实时的漫游点信息,包含:已飞行时间time,已飞行距离len,所在坐标x、y、z |
position |
| 当前实时坐标位置 |
hdr |
| 获取当前实时hdr方向信息 |
orientation |
| 获取当前实时orientation方向信息 |
matrix |
| 获取当前实时矩阵信息 |
方法名 | 返回值 | 说明 |
---|---|---|
start( | void | 开始漫游 |
pause() | void | 暂停漫游 |
proceed() | void | 继续漫游 |
stop() | void | 停止漫游 |
centerAt( | void | 相机视角定位至 路线全视角的 矩形范围内 |
flyTo( | void | 相机视角定位至移动的目标点当前位置 |
clampToGround( | void | 贴地漫游时,计算并生成贴地路线 opts控制参数:has3dtiles是否贴模型,splitNum插值次数
|
updateStyle( | void | 更新参数,支持Options所有值 |
updateAngle( | void | 更新角度(opts支持heading, pitch, roll),isAuto时基于移动位置自动计算方位 |
toGeoJSON() | Object | 生成json格式规范的路线数据,与传入Flyline时的options是一致的。 |
toCZML() | Object | 生成CZML格式规范的路线数据。 |
destroy() | void | 释放所有资源 |
mars3d.scene.FogEffect是实体类,提供场景雾效果。
var fogEffect = new mars3d.scene.FogEffect(viewer, {
color: new Cesium.Color(0.8, 0.8, 0.8, 0.5)
});
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
show | boolean | true | 是否开启效果 |
fogByDistance | Cesium.Cartesian4 | new Cesium.Cartesian4(10, 0.0, 1000, 0.9) | 雾强度 |
color |
| new Cesium.Color(0.8,0.8,0.8,0.5) | 颜色 |
maxHeight | Number | 9000 | 大于此高度时不显示效果 |
属性名 | 类型 | 说明 |
---|---|---|
show | boolean | 是否开启效果 |
fogByDistance | Cesium.Cartesian4 | 雾强度 |
color |
| 颜色 |
方法名 | 返回值 | 说明 |
---|---|---|
destroy() | void | 释放销毁对象 |
mars3d.scene.InvertedScene是实体类,提供倒影效果。
var inverted = new mars3d.scene.InvertedScene(viewer);
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
show | boolean | true | 是否开启效果 |
属性名 | 类型 | 说明 |
---|---|---|
show | boolean | 是否开启效果 |
方法名 | 返回值 | 说明 |
---|---|---|
destroy() | void | 释放销毁对象 |
mars3d.scene.SnowCover是实体类,提供雪覆盖效果。
var snowCover = new mars3d.scene.SnowCover(viewer,{
alpha:0.5
});
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
show | boolean | true | 是否开启效果 |
alpha | Number | 1.0 | 雪覆盖强度 |
属性名 | 类型 | 说明 |
---|---|---|
show | boolean | 是否开启效果 |
alpha | Number | 雪覆盖强度 |
方法名 | 返回值 | 说明 |
---|---|---|
destroy() | void | 释放销毁对象 |
mars3d.ZoomNavigation是实体类,提供地图放大或缩小的控制。
//放大
var zoomIn = new mars3d.ZoomNavigation(viewer, true);
$("#btn-zommIn").click(function () {
zoomIn.activate();
});
//缩小
var zoomOut = new mars3d.ZoomNavigation(viewer, false);
$("#btn-ZoomOut").click(function () {
zoomOut.activate();
});
方法名 | 返回值 | 说明 |
---|---|---|
activate() | void | 放大或缩小地图 |
mars3d.point 该类是静态类。坐标转换处理类。
方法名 | 返回值 | 说明 |
---|---|---|
formatNum( |
| 格式化数字,返回指定digits长度的小数位数,比如经纬度通常6位小数 |
formatPositon( |
| 格式化坐标点为可显示的可理解格式,返回值示例:{ "x": 117.222228,"y": 31.787488, "z": 224 }。 |
getPositionValue( |
| 获取position的最终value值,因为cesium经常属性或绑定一层,通过该方法可以内部去判断是否有getValue或_value进行取最终value值。 |
formatRectangle( |
| 格式化Rectangle为可显示的可理解格式,返回值示例:{ "xmin": 115.123456,"xmax": 119.222228,"ymin": 30.123456,"ymax": 33.787488}。 |
getMaxHeight( |
| 获取坐标数组中最高高程值,defaultVal为默认高度值,没有传入时为0。 |
addPositionsHeight( |
| 在坐标基础海拔上增加指定的addHeight海拔高度值 |
setPositionsHeight( |
| 设置坐标中海拔高度为指定的height高度值 |
getSurfaceHeight( |
| 获取坐标的贴地(或贴模型)高度 opts支持: 是否在has3dtiles:true , 是否异步 asyn:true 异步回调方法calback
|
getSurface3DTilesHeight( |
| 获取坐标的贴地高度 ,与getSurfaceHeight的has3dtiles:true相同 opts支持: 是否异步 asyn:true 异步回调方法calback |
getSurfaceTerrainHeight( |
| 获取坐标的贴模型高度 ,与getSurfaceHeight的has3dtiles:true相同 opts支持: 是否异步 asyn:true 异步回调方法calback
|
setPositionSurfaceHeight( |
| 设置坐标中海拔高度为贴地或贴模型的高度,(同步时需要数据在视域内),内部逻辑是先getSurfaceHeight求高度后更新position的 opts支持: 是否异步 asyn:true 异步回调方法calback |
getCurrentMousePosition( |
| 获取鼠标当前位置,返回Cartesian3类型的笛卡尔坐标(可拾取模型,地形高度),常用于ScreenSpaceEventType事件处理中,noPickEntity为可选参数,表示不在noPickEntity表面拾取
|
getCenter( |
| 提取屏幕中心点坐标,返回值示例:{ "y": 31.787488, "x": 117.222228, "z": 229 }。 当地球是高德等gcj坐标时,isToWgs设置是否转换为wgs84坐标 |
pickCenterPoint( |
| 提取屏幕中心点坐标,返回Cartesian3值 |
getExtent( |
| 获取当前地球或Entity的视域边界{xmin: 113.23422, xmax: 125.23452, ymin: 30.23436, ymax: 33.234252}。 支持opts:{scale:缩放比例} |
getCameraView( |
| 获取当前相机视角范围参数坐标值,返回值示例:{ "y": 31.787488, "x": 117.222228, "z": 224, "heading": 56, "pitch": -29, "roll": 45 }。 当地球是高德等gcj坐标时,isToWgs设置是否转换为wgs84坐标 |
centerOfMass( |
| 求面的中心点,基于Turf |
isInPoly( | boolean | 点是否在Entity内(面、圆、矩形) |
var handler = new Cesium.ScreenSpaceEventHandler(scene.canvas);
handler.setInputAction(function (movement) {
//通过鼠标当前的二维屏幕坐标获取椭球笛卡尔坐标
var cartesian = mars3d.point.getCurrentMousePosition(scene, movement.position);
if (cartesian) {
//将笛卡尔坐标转为地理坐标
var cartographic = scene.globe.ellipsoid.cartesianToCartographic(cartesian);
var longitudeString = Cesium.Math.toDegrees(cartographic.longitude);
var latitudeString = Cesium.Math.toDegrees(cartographic.latitude);
var height = Math.ceil(cartographic.height);
//输出地理坐标值
console.log("经度:" + longitudeString + "纬度:" + latitudeString + "高度:" + height);
}
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
类名 | 说明 | 方法 |
---|---|---|
windingPoint | 绕点 环绕飞行 | mars3d.point.windingPoint.start(viewer,point);//开始飞行 mars3d.point.windingPoint.stop();//停止飞行 |
aroundPoint | 固定点 向四周旋转 | mars3d.point.aroundPoint.start(viewer,point?);//开始飞行 ,point未传入时默认当前点 mars3d.point.aroundPoint.stop();//停止飞行 |
mars3d.polyline该类是静态类。线相关的处理类。
方法名 | 返回值 | 说明 |
---|---|---|
interPolyline( |
| 对线进行插值
|
computeSurfaceLine( |
| 计算贴地路线
|
computeSurfacePoints( |
| 求多个点的的贴地新坐标(不插值)
|
computeStepSurfaceLine( | void | 按2个坐标点分段计算 求路线的贴地线
|
getLinkedPointList( | void | 计算曲线链路的点集(a点到b点的,空中曲线) startPoint 开始节点,endPoint 结束节点, angularityFactor 曲率,numOfSingleLine 点集数量
|
mars3d.polygon该类是静态类。面相关的处理类。
方法名 | 返回值 | 说明 |
---|---|---|
interPolygon( |
| 面内进行贴地(或贴模型)插值, 返回三角网等计算结果
|
getHeightRange( |
| 计算面内最大、最小高度值。 |
computeVolume( |
| 计算 体积(挖方方量) ,返回单位是立方米
|
updateVolumeByMinHeight( |
| 根据minHeight最低底面高度, 重新计算填挖方体积 resultInter为computeVolume初始计算完成的结果对象 |
updateVolume( |
| 根据cutHeight基准面高度, 重新计算填挖方体积 resultInter为computeVolume初始计算完成的结果对象 |
getEllipseOuterPositions( |
| 获取圆(或椭圆)边线上的坐标点数组
|
mars3d.pointconvert 该类是静态类,提供Cesium内部不同坐标系之间的坐标转换算法。
也提供百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、WGS84坐标系、Web墨卡托 等坐标之间的转换算法,所有方法的“传入参数”和“返回结果”均是数组:[经度,纬度]
方法名 | 返回值 | 说明 |
---|---|---|
cartesian2lonlat( | Array | 将 笛卡尔空间坐标 转换为 经纬度值,主要用于转geojson(返回数组:[longitude,latitude,height]) |
cartesians2lonlats([ | Array Array | 【数组】将 笛卡尔空间坐标数组 转换为 经纬度值数组,主要用于转geojson(返回数组:[[longitude,latitude,height],...,[longitude,latitude,height]]) |
cartesian2mercator( | Array | cesium笛卡尔空间坐标 转 web mercator投影坐标(返回数组:[x,y,z]) |
cartesians2mercators([ | Array Array | 【数组】cesium笛卡尔空间坐标 转 web mercator投影坐标(返回数组:[[x,y,z],...,[x,y,z]]) |
lonlat2cartesian( | Cartesian3 | 将 GeoJSON中的geometry格式的坐标 转换为 笛卡尔空间坐标 |
lonlats2cartesians( | [Cartesian3] | 【数组】将 GeoJSON中的geometry格式的坐标数组 转换为 笛卡尔空间坐标数组 |
lonlat2mercator( | Array | 地理坐标 转 投影坐标 |
lonlats2mercators( | Array Array | 【数组】地理坐标 转 投影坐标数组 |
mercator2cartesian( | Cartesian3 | 将 投影坐标 转 cesium笛卡尔空间坐标 |
mercators2cartesians( | [Cartesian3] | 【数组】将 投影坐标数组 转 cesium笛卡尔空间坐标数组 |
mercator2lonlat( | Array | 投影坐标 转 地理坐标 |
mercators2lonlats( | Array Array | 【数组】投影坐标数组 转 地理坐标数组 |
wgs2gcj([ | [longitude,latitude] | 加偏:标准WGS84坐标 转 国测局偏移坐标 |
gcj2wgs([ | [longitude,latitude] | 纠偏:国测局偏移坐标 转 标准WGS84坐标 |
gcj2bd([ | [longitude,latitude] | 国测局偏移坐标 转 百度经纬度坐标 |
bd2gcj([ | [longitude,latitude] | 百度经纬度坐标 转 国测局偏移坐标 |
wgs2bd([ | [longitude,latitude] | 标准WGS84坐标 转 百度经纬度坐标 |
bd2wgs([ | [longitude,latitude] | 百度经纬度坐标 转 标准WGS84坐标 |
jwd2mct([ | [longitude,latitude] | 经纬度坐标 转为 Web墨卡托坐标 |
mct2jwd([ | [longitude,latitude] | Web墨卡托坐标 转为 经纬度坐标 |
mars3d.matrix 该类是静态类。矩阵换算转换处理类。
方法名 | 返回值 | 说明 |
---|---|---|
getHeadingPitchRollByOrientation( |
| 根据位置和当前Orientation求HeadingPitchRoll方向,用于模型反求其方向值 |
getHeadingPitchRollByMatrix( |
| 根据位置和矩阵求HeadingPitchRoll方向 |
getHeadingPitchRollForLine( |
| 求localStart点到localEnd点的方向 |
getRotateCenterPoint( |
| 获取点point绕点center的地面法向量旋转顺时针angle角度后新坐标 |
getOnLinePointByLen( |
| 求p1指向p2方向线上,距离p1指定len长度的新的点 ,addBS:true时为距离p2 |
getPositionTranslation( |
| 获取点的offest平移矩阵后点
|
getOffsetLine( |
| 计算平行线,offset正负决定方向(单位米) |
mars3d.model 该类是静态类。Gltf小模型相关处理类。
方法名 | 返回值 | 说明 |
---|---|---|
move( |
| 移动模型
|
类名 | 说明 | 方法 |
---|---|---|
rotate | 自旋转效果 | mars3d.model.rotate.start(entity, { viewer: viewer });//开始 mars3d.model.rotate.stop();//停止 |
mars3d.tileset 该类是静态类。3dtiles模型相关处理类。
方法名 | 返回值 | 说明 |
---|---|---|
getCenter( | Model Entity | 获取模型的(0,0,0)原点坐标位置 |
updateMatrix( |
| 修改模型位置
|
pick3DTileset( |
| 拾取positions坐标点处的3dtiles对象,一般用于判断该坐标是否有模型,因为和当前视角有关系,判断不一定精确 |
mars3d.measure 该类是一些测量量算相关的常用通用静态方法
方法名 | 返回值 | 说明 |
---|---|---|
getLength( |
| 计算长度,单位:米 |
getArea( |
| 计算地表投影平面面积,单位:平方米 |
getClampArea( |
| 计算贴地面积,单位:平方米
|
getAreaOfTriangle( |
| 计算三角形空间面积 |
getAngle( |
| 求地表方位角,返回:0-360度 |
getSlope( |
| 求地面点的坡度坡向值,是对Slope类的简化调用
|
mars3d.util 该类是一些常用通用静态方法
方法名 | 返回值 | 说明 |
---|---|---|
webglreport() | Boolean | 检测浏览器是否支持webgl |
formatDegree( |
| 格式化经度/纬度,返回度分秒字符串 |
formatLength( |
| 计算长度后格式化显示长度值, 可指定单位。unit支持:m、km、mile、zhang 默认自动判断km或m |
formatArea( |
| 计算面积后,格式化显示面积值, 可指定单位 unit支持:m、km、mu、ha 默认自动判断 m 或 km |
buffer( |
| 缓冲分析,求GeoJSON对象缓冲width米后的面 |
getAttrVal( |
| 简化Cesium内的属性,去掉getValue等,取最简的键值对。方便popup、tooltip等使用 |
getPopupForConfig( |
| 根据config配置规则获取popup使用的html字符串 |
getTooltipForConfig( |
| 根据config配置规则获取tooltip使用的html字符串 |
getPopup( | Html String | 根据cfg配置信息(可以是数组、字符串等)和attr属性,显示标题title构造html的通用处理方法。该html可以用于popup和tooltip的绑定显示
|
highlightEntity( |
| 定时闪烁高亮Entity(点、线、面)
|
unHighlightEntity( |
| 取消定时闪烁高亮Entity(点、线、面)
|
mars3d.widget.BaseWidget 类是平台所有widget功能模块的基础类,开发widget时需要继承该类。 该类不是直接new实例化使用的,是新建一个类继承该类后使用。
var MyWidget = mars3d.widget.BaseWidget.extend({
options: {
resources: ['style.css'],
view: {
type: "window",
url: "view.html",
windowOptions: {width: 250, height: 300}
},
},
//初始化[仅执行1次]
create: function () {
},
viewWindow:null,
//每个窗口创建完成后调用
winCreateOK: function (opt, result) {
this.viewWindow = result;
},
//打开激活
activate: function () {
},
//关闭释放
disable: function () {
}
})
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
resources | String[] | null | 该模块依赖的外部js、css资源文件,会在实例化之前加入的页面中。 默认引用是当前widget所在目录的资源,相当于页面的资源或外部资源请以 “/” 或 “.” 或 “http” 开始命名 |
view | Object | null | 定义模块的view页面配置信息,为空时表示当前模块无关联页面, 其中url地址规则,参考resources说明 |
方法名 | 返回值 | 说明 |
---|---|---|
init() | void | 模块初始化之前触发该方法,仅首次初始化执行1次 |
create() | void | 模块初始化,仅首次初始化执行1次 |
activateBase() | void | 激活模块初始方法,基类内部使用 |
beforeActivate() | void | activate激活模块之前调用,基类内部使用 |
activate() | void | 打开激活模块 |
winCreateOK( | void | 每个view窗口或页面创建完成后调用 |
disableBase() | void | 释放模块初始方法,基类内部使用 |
beforeDisable() | void | disable释放模块之前调用,基类内部使用 |
disable() | void | 关闭释放模块 |
winFull() | void | 窗口最大化后触发 |
winMin() | void | 窗口最小化后触发 |
winRestore() | void | 窗口最大、小化后,被还原时触发 |
getHtml( | void | 获取指定url的html信息 |
resetConfig() | void | 还原配置为config.json的初始状态 |
setViewVisible( | void | 设置view弹窗或div的显示影藏,非释放方式 |
setViewCss( | void | 设置view弹窗的css,类同jquery的 $(dom).css(style)方法 |
mars3d.widget 类是静态类,是平台widget模块统一管理维护的类
var jsondata= {
"debugger": true,
"version": "time",
"defaultOptions": {
"windowOptions": {
"position": "r",
"maxmin": false,
"resize": true
},
"autoDisable": true,
"disableOther": true
},
"widgetsAtStart": [
{
"name": "左上角工具栏",
"uri": "widgets/toolBar/widget.js",
"visible": true
}
],
"widgets": [
{
"name": "图层管理",
"uri": "widgets/manageLayers/widget.js",
"windowOptions": {
"position": {"top": 1,"bottom": 1,"right": 1}
},
"disableOther": false
},
{
"name": "图上量算",
"uri": "widgets/measure/widget.js"
}
]
};
mars3d.widget.init(viewer, jsondata);
方法名 | 返回值 | 说明 |
---|---|---|
init( |
| 按配置信息初始化widget管理类 如果widgets目录不在当前页面的同级目录,在其他处时可以传入basePath参数,参数值为:widgets目录相对于当前页面的路径 |
activate( |
| 激活指定的模块,item可以是id或者uri或模块配置信息对象
|
disable( |
| 释放指定id或uri的widget |
disableAll( |
| 释放所有Widget,可以指定id或uri的widget不释放 |
disableGroup( |
| 释放释放同组widget,可以指定id或uri的widget不释放 |
getWidget( | Object | 获取指定id或uri的widget配置信息 |
getClass( | BaseWidget | 获取指定id或uri的widget的对应的实例化BaseWidget类 |
bindClass( | 实例化后的对象 | 绑定继承BaseWidget类的类到当前对应js的widget中 |
removeDebugeBar() |
| 移除Widget测试栏 |
getDefWindowOptions() | Objcet | 获取全局默认的view配置信息 |
getCacheVersion() | String | 获取当前配置的版本信息,用于清除浏览器缓存 |
该类在插件不在mars3d.js主库中,在单独的插件mars3d-visual.js文件内。
mars3d.FlowEcharts是实体类,提供对Echarts接入cesium的相关支持。
var option = {//参考Echarts API,支持大部分相关参数,必须传入或不同的地方看下面注释。
animation: false, //必须
GLMap: { },//必须
series: [{
type: 'lines',
coordinateSystem: 'GLMap', //必须
polyline: true,
silent: true,
data: busLines, //busLines是示例数据
}]
}
var layerWork = new mars3d.FlowEcharts(viewer, option);
//layerWork.updateOverlay(option); //更新
方法名 | 返回值 | 说明 |
---|---|---|
updateOverlay( | void | 更新Echarts Options |
show() | void | 显示图层 |
hide() | void | 影藏图层 |
destroy() | void | 销毁图层 ,兼容dispose方法名 |
该类在插件不在mars3d.js主库中,在单独的插件mars3d-visual.js文件内。
mars3d.MapVLayer是实体类,提供对MapV接入cesium的相关支持。
var dataSet = new mapv.DataSet(textData);//mapv相关规范DataSet
var options = { }//mapv相关规范Options
var layer = new mars3d.MapVLayer(viewer, dataSet, options);
方法名 | 返回值 | 说明 |
---|---|---|
updateData( | void | 更新MapV Options |
show() | void | 显示图层 |
hide() | void | 影藏图层 |
destroy() | void | 销毁图层 |