TilesetLayer

new mars3d.layer.TilesetLayer(options)

3dtiles 三维模型图层。

参数名称 类型 描述信息
options object

参数对象, 构造参数建议从模型编辑页面设置后保存参数后拷贝json参数即可。参数包括以下:

参数名称 类型 默认值 描述信息
url string | Cesium.Resource 可选

tileset的主JSON文件的 url

maximumScreenSpaceError number 16 可选

用于驱动细化细节级别的最大屏幕空间错误。可以简单理解为:数值加大,能让最终成像变模糊。

assetId number 可选

ion资源时对应的assetId

ionToken string Cesium.Ion.defaultAccessToken 可选

ion资源时对应的token

ionServer string | Cesium.Resource Cesium.Ion.defaultServer 可选

ion资源时对应的server

maxMemory number 1024 可选

最大缓存内存大小(MB), 内部换算给 cacheBytes = maxMemory10241024、maximumCacheOverflowBytes = cacheBytes * 1.5 (另:如果同时配置了cacheBytes、maximumMemoryUsage时改参数无效)

cacheBytes number 可选

如果缓存包含当前视图不需要的块,则块缓存将被修剪到的大小(以字节为单位)。

maximumCacheOverflowBytes number 可选

最大显存大小(以字节为单位)。

maximumMemoryUsage number 可选

【cesium 1.107+弃用】数据集可以使用的最大内存量(以MB计),这个参数要根据当前客户端显卡显存来配置,如果我们场景只显示这一个模型数据,这个可以设置到显存的50% 左右,比如我的显存是4G,这个可以设置到2048左右。那么既保证不超过显存限制,又可以最大利用显存缓存。

position object 可选

自定义新的中心点位置(移动模型)

参数名称 类型 描述信息
lng number 可选

经度值, -180 至 180

lat number 可选

纬度值, -90 至 90

alt number 可选

高度值(单位:米)

alt_offset number 可选

相对于模型本身高度的偏移值(单位:米) ,如果有alt时已alt优先。

rotation object 可选

自定义旋转方向(旋转模型)

参数名称 类型 描述信息
x number

X方向,角度值0-360

y number

Y方向,角度值0-360

z number

四周方向,角度值0-360

modelMatrix Cesium.Matrix4 可选

模型的矩阵位置,内部无坐标位置的模型使用,此时position和rotation等参数均无效。

updateMatrix function 可选

外部自定义修复模型矩阵位置

scale number 1 可选

自定义缩放比例,整体等比例缩放

scaleX number 1 可选

单独自定义缩放X轴方向比例

scaleY number 1 可选

单独自定义缩放Y轴方向比例

scaleZ number 1 可选

单独自定义缩放Z轴方向比例

axis string | Cesium.Axis 可选

自定义轴方向

style object | Cesium.Cesium3DTileStyle | function 可选

模型样式, 使用3D Tiles Styling language.

marsJzwStyle boolean | object | string false 可选

开启或设置建筑物特效样式,object时可以修改内置shader的3个变量,比如: { baseHeight: 50.0, heightRange: 380.0, glowRange: 400.0 },

customShader Cesium.CustomShader 可选

自定义shader效果

editUpAxis Cesium.Axis Cesium.Axis.Z 可选

标识模型的轴方向(建筑物特效、模型压平等功能中使用)

matrixMove MatrixMove.Options 可选

右键菜单中,按轴平移时,传入给MatrixMove对象的构造参数

matrixRotate MatrixRotate.Options 可选

右键菜单中,按轴旋转时,传入给MatrixRotate对象的构造参数

highlight object | OutlineEffect.Options 可选

高亮及其样式配置

参数名称 类型 默认值 描述信息
type string 可选

鼠标移入高亮 或 单击高亮(type:'click')

enabled boolean true 可选

是否启用

color string | function '#FFFF00' 可选

颜色,支持rgba字符串

outlineEffect boolean false 可选

默认为修改矢量对象本身的style高亮,true时采用OutlineEffect方式高亮。

filter function 可选

可以设置筛选排除一些构件, 排除的构件在filter方法内返回false

all boolean 可选

是否按整体高亮, true:模型整体全部高亮,false:单个构件高亮

uniqueKey string 可选

按指定字段进行对应相关构件的整体高亮,对outlineEffect时无效

allowDrillPick boolean | function | string 可选

是否允许鼠标穿透拾取. 字符串时为固定内置判断,目前有: "alpha":鼠标不拾取前面遮挡的透明的构件,穿透拾取其后方不透明构件。

clampToGround boolean 可选

是否贴地,true时自动调用贴地计算,但此属性只适合标准的与地形数据匹配的模型,并不精确,建议通过模型编辑页面调试给具体高度值。

chinaCRS ChinaCRS 可选

标识模型的国内坐标系(用于自动纠偏或加偏)

clip object 可选

模型裁剪 对象, 可传入TilesetClip构造参数

flat object 可选

模型压平 对象, 可传入TilesetFlat构造参数

flood object 可选

模型淹没 对象, 可传入TilesetFlood构造参数

planClip object 可选

模型Plan裁剪 对象, 可传入TilesetPlanClip构造参数

colorCorrection object 可选

颜色校正 对象, 可传入TilesetColorCorrection构造参数

modelUpAxis Cesium.Axis Cesium.Axis.Y 可选

Which axis is considered up when loading models for tile contents.

modelForwardAxis Cesium.Axis Cesium.Axis.X 可选

Which axis is considered forward when loading models for tile contents.

shadows Cesium.ShadowMode ShadowMode.ENABLED 可选

确定tileset是否投射或接收来自光源的阴影。

cullWithChildrenBounds boolean true 可选

优化选择。是否使用子绑定卷的并集来筛选贴图。

cullRequestsWhileMoving boolean true 可选

优化选择。不要要求贴图,当他们回来的时候可能不会使用,因为相机的运动。这个优化只适用于固定瓷砖组。

cullRequestsWhileMovingMultiplier number 60.0 可选

优化选择。在移动时选择请求时使用的倍增器。越大的选择性越强,越小的选择性越弱。值越小能够更快的剔除。

preloadWhenHidden boolean false 可选

当true时,tileset.show是false,也去预加载数据。

preloadFlightDestinations boolean true 可选

优化选择。当摄像机在飞行时,在摄像机的飞行目的地预加载贴图。

preferLeaves boolean false 可选

优化选择。最好先加载上叶子节点数据。这个参数默认是false,同等条件下,叶子节点会优先加载。但是Cesium的tile加载优先级有很多考虑条件,这个只是其中之一,如果skipLevelOfDetail=false,这个参数几乎无意义。所以要配合skipLevelOfDetail=true来使用,此时设置preferLeaves=true。这样我们就能最快的看见符合当前视觉精度的块,对于提升大数据以及网络环境不好的前提下有一点点改善意义。

dynamicScreenSpaceError boolean true 可选

优化选择。减少远离摄像头的贴图的屏幕空间误差。true时会在真正的全屏加载完之后才清晰化模型.

dynamicScreenSpaceErrorDensity number 0.00278 可选

密度用来调整动态画面空间误差,类似于雾密度。

dynamicScreenSpaceErrorFactor number 4.0 可选

用于增加计算的动态屏幕空间误差的因素。

dynamicScreenSpaceErrorHeightFalloff number 0.25 可选

瓷砖密度开始下降时的高度之比。

progressiveResolutionHeightFraction number 0.3 可选

优化选择。如果在(0.0,0.5)之间,在屏幕空间或以上的瓷砖错误降低屏幕分辨率 progressiveResolutionHeightFraction*screenHeight 将优先。这可以帮助得到一个快速层的瓷砖下来,而全分辨率的瓷砖继续加载。

foveatedScreenSpaceError boolean true 可选

优化选择。通过暂时提高屏幕边缘的贴图的屏幕空间误差,优先加载屏幕中央的贴图。一旦所有由cesium3dtilesset#foveatedConeSize确定的屏幕中央的贴图被加载,屏幕空间错误就会恢复正常。

foveatedConeSize number 0.1 可选

优化选择。当cesium3dtilesset#foveatedScreenSpaceError为true时使用,以控制决定哪些贴图被延迟的锥大小。装在这个圆锥体里的瓷砖会立即被装入。锥外的贴图有可能被延迟,这取决于它们在锥外的距离和它们的屏幕空间误差。这是由Cesium3DTileset#foveatedInterpolationCallbackCesium3DTileset#foveatedMinimumScreenSpaceErrorRelaxation控制的。设置为0.0意味着圆锥将是由相机位置和它的视图方向形成的线。将此设置为1.0意味着圆锥将包含相机的整个视场,禁用此效果。

foveatedMinimumScreenSpaceErrorRelaxation number 0.0 可选

优化选择。当cesium3dtilesset#foveatedScreenSpaceError为true时使用,以控制中心锥形以外的贴图的初始屏幕空间误差松弛。屏幕空间错误将基于所提供的Cesium3DTileset#foveatedInterpolationCallback从tileset值开始直到Cesium3DTileset#maximumScreenSpaceError

foveatedInterpolationCallback Cesium.Cesium3DTileset.foveatedInterpolationCallback Math.lerp 可选

优化选择。当cesium3dtilesset#foveatedScreenSpaceError为true时使用,以控制中心锥形以外的贴图的初始屏幕空间误差松弛。优化选择。当Cesium3DTileset#foveatedScreenSpaceError为true时使用,以控制凸出圆锥外的贴图的屏幕空间误差提高多少,插值在Cesium3DTileset#foveatedminimumscreenspaceerrorCesium3DTileset#maximumScreenSpaceError之间。

foveatedTimeDelay number 0.2 可选

优化选择。当cesium3dtilesset#foveatedScreenSpaceError为true时使用,以控制中心锥形以外的贴图的初始屏幕空间误差松弛。优化选择。优化选择。当cesium3dtilesset#foveatedScreenSpaceError为true时使用,以控制在延迟tile开始加载前摄像机停止移动后等待多长时间(秒)。这个时间延迟阻止了在相机移动时请求屏幕边缘的贴图。将此设置为0.0将立即请求任何给定视图中的所有贴图。

skipLevelOfDetail boolean false 可选

优化选择。确定在遍历过程中是否应应用跳过详细信息的级别。是Cesium在1.5x 引入的一个优化参数,这个参数在金字塔数据加载中,可以跳过一些级别,这样整体的效率会高一些,数据占用也会小一些。但是带来的异常是:1) 加载过程中闪烁,看起来像是透过去了,数据载入完成后正常。2,有些异常的面片,这个还是因为两级LOD之间数据差异较大,导致的。当这个参数设置false,两级之间的变化更平滑,不会跳跃穿透,但是清晰的数据需要更长,而且还有个致命问题,一旦某一个tile数据无法请求到或者失败,导致一直不清晰。所以我们建议:对于网络条件好,并且数据总量较小的情况下,可以设置false,提升数据显示质量。

baseScreenSpaceError number 1024 可选

当skipLevelOfDetail为true时,跳过详细级别之前必须达到的屏幕空间错误。

skipScreenSpaceErrorFactor number 16 可选

当skipLevelOfDetail = true时,一个定义要跳过的最小屏幕空间错误的乘法器。与skipLevels一起使用,以决定加载哪些贴图。

skipLevels number 1 可选

当skipLevelOfDetail是true,一个常量定义了加载tiles时要跳过的最小级别数。当它为0时,不会跳过任何级别。与skipScreenSpaceErrorFactor一起使用,以决定加载哪些贴图。

immediatelyLoadDesiredLevelOfDetail boolean false 可选

当skipLevelOfDetail为true时,只有满足最大屏幕空间错误的tiles才会被下载。跳过因素将被忽略,并且只加载所需的块。

loadSiblings boolean false 可选

当skipLevelOfDetail = true时,判断遍历过程中是否总是下载可见块的兄弟块。如果为true则不会在已加载完模型后,自动从中心开始超清化模型。

clippingPlanes Cesium.ClippingPlaneCollection 可选

Cesium.ClippingPlaneCollection用于选择性地禁用tile集的渲染。

clippingPolygons Cesium.ClippingPolygonCollection 可选

The Cesium.ClippingPolygonCollection 用于选择性地禁用tile集的渲染。

classificationType Cesium.ClassificationType 可选

确定地形、3D贴图或两者都将被这个贴图集分类。有关限制和限制的详细信息,请参阅#classificationType

ellipsoid Cesium.Ellipsoid Ellipsoid.WGS84 可选

The ellipsoid determining the size and shape of the globe.

pointCloudShading object 可选

基于几何误差和光照构造一个Cesium.PointCloudShading对象来控制点衰减的选项。

lightColor Cesium.Cartesian3 可选

光的颜色当遮光模型。当undefined场景的浅色被使用代替。表示,rgb的倍数,new Cesium.Cartesian3(100.0,100.0, 100.0)表示白光增强到100倍。对Pbrt材质有效,倾斜摄影不生效。

imageBasedLighting Cesium.ImageBasedLighting 可选

用于管理基于图像的光源的属性。

environmentMapManager object 可选

使用PBR时更新了默认的3D瓷砖和模型照明,以创建更逼真的外观。Cesium.DynamicEnvironmentMapManager

backFaceCulling boolean true 可选

是否剔除面向背面的几何图形。当为真时,背面剔除由glTF材质的双面属性决定;当为false时,禁用背面剔除。

enableCollision boolean false 可选

是否启用picking碰撞拾取,贴模型时需要开启。如果 map.scene.screenSpaceCameraController.enableCollisionDetection为true,则相机将被阻止低于模型表面。

enableShowOutline boolean true 可选

是否启用模型的轮廓 CESIUM_primitive_outline 扩展. 可以将其设置为false,以避免在加载时对几何图形进行额外处理。如果为false,则会忽略showOutlines和outlineColor选项。

showOutline boolean true 可选

是否显示模型的轮廓 CESIUM_primitive_outline 扩展. 当为true时,将显示轮廓。当为false时,不显示轮廓。

outlineColor Cesium.Color Color.BLACK 可选

渲染outline轮廓时要使用的颜色。

vectorClassificationOnly boolean false 可选

是否只应使用瓦片集的向量瓦片进行分类。

vectorKeepDecodedPositions boolean false 可选

Whether vector tiles should keep decoded positions in memory. This is used with Cesium3DTileFeature.getPolylinePositions.

featureIdLabel string | number "featureId_0" 可选

Label of the feature ID set to use for picking and styling. For EXT_mesh_features, this is the feature ID's label property, or "featureId_N" (where N is the index in the featureIds array) when not specified. EXT_feature_metadata did not have a label field, so such feature ID sets are always labeled "featureId_N" where N is the index in the list of all feature Ids, where feature ID attributes are listed before feature ID textures. If featureIdLabel is an integer N, it is converted to the string "featureId_N" automatically. If both per-primitive and per-instance feature IDs are present, the instance feature IDs take priority.

instanceFeatureIdLabel string | number "instanceFeatureId_0" 可选

Label of the instance feature ID set used for picking and styling. If instanceFeatureIdLabel is set to an integer N, it is converted to the string "instanceFeatureId_N" automatically. If both per-primitive and per-instance feature IDs are present, the instance feature IDs take priority.

showCreditsOnScreen boolean false 可选

Whether to display the credits of this tileset on screen.

splitDirection Cesium.SplitDirection SplitDirection.NONE 可选

卷帘对比时,设置所在的屏幕,NONE时不分屏

projectTo2D boolean false 可选

是否准确地将贴图集投影到2D。如果这是真的,那么贴图集将被准确地投影到2D,但是这样做会使用更多的内存。如果这是false,贴图集将使用更少的内存,并且仍然会在2D / CV模式下渲染,但是它的投影位置可能不准确。加载磁贴集后不能设置此参数。

debugHeatmapTilePropertyName string 可选

是否剔除面向背面的几何图形。当为真时,背面剔除由glTF材质的双面属性决定;作为热图着色的tile变量。所有渲染的贴图都将相对于其他指定的变量值着色。

debugFreezeFrame boolean false 可选

For debugging only. Determines if only the tiles from last frame should be used for rendering.

debugColorizeTiles boolean false 可选

For debugging only. When true, assigns a random color to each tile.

enableDebugWireframe boolean false 可选

仅供调试。是否可以通过debugWireframe来切换查看模型的三角网线框图。

debugWireframe boolean false 可选

仅供调试。是否打开模型的三角网线框图。

debugShowBoundingVolume boolean false 可选

For debugging only. When true, renders the bounding volume for each tile.

debugShowContentBoundingVolume boolean false 可选

For debugging only. When true, renders the bounding volume for each tile's content.

debugShowViewerRequestVolume boolean false 可选

For debugging only. When true, renders the viewer request volume for each tile.

debugShowGeometricError boolean false 可选

For debugging only. When true, draws labels to indicate the geometric error of each tile.

debugShowRenderingStatistics boolean false 可选

For debugging only. When true, draws labels to indicate the number of commands, points, triangles and features for each tile.

debugShowMemoryUsage boolean false 可选

For debugging only. When true, draws labels to indicate the texture and geometry memory in megabytes used by each tile.

debugShowUrl boolean false 可选

For debugging only. When true, draws labels to indicate the url of each tile.

popup string | Array.<Globe.getTemplateHtml_template> | function 可选

绑定的popup弹窗值,也可以bindPopup方法绑定,支持:'all'、数组、字符串模板

popupOptions Popup.StyleOptions 可选

popup弹窗时的配置参数,也支持如pointerEvents等Popup构造参数,还包括:

参数名称 类型 默认值 描述信息
title string 可选

固定的标题名称

titleField string 可选

标题对应的属性字段名称

noTitle string 可选

不显示标题

showNull string false 可选

是否显示空值

tooltip string | Array.<Globe.getTemplateHtml_template> | function | object 可选

绑定的tooltip弹窗值,也可以bindTooltip方法绑定,参数与popup属性完全相同。

tooltipOptions Tooltip.StyleOptions 可选

tooltip弹窗时的配置参数,也支持如pointerEvents等Tooltip构造参数,还包括:

参数名称 类型 默认值 描述信息
title string 可选

固定的标题名称

titleField string 可选

标题对应的属性字段名称

noTitle string 可选

不显示标题

showNull string false 可选

是否显示空值

contextmenuItems object 可选

绑定的右键菜单值,也可以bindContextMenu方法绑定

hasEdit boolean true 可选

是否允许编辑

hasEditContextMenu boolean true 可选

编辑时,是否绑定右键编辑菜单

hasEditRevoke boolean true 可选

编辑时,是否记录编辑步骤中坐标记录,用于还原或撤销编辑,且需要transform是true的模型才支持编辑

proxy string 可选

加载资源时要使用的代理服务url。

templateValues object 可选

一个对象,用于替换Url中的模板值的键/值对

queryParameters object 可选

一个对象,其中包含在检索资源时将发送的查询参数。比如:queryParameters: {'access_token': '123-435-456-000'},

headers object 可选

一个对象,将发送的其他HTTP标头。比如:headers: { 'X-My-Header': 'valueOfHeader' },

id string | number mars3d.Util.createGuid() 可选

图层id标识

pid string | number -1 可选

图层父级的id,一般图层管理中使用

name string '' 可选

图层名称

show boolean true 可选

图层是否显示

eventParent BaseClass | boolean 可选

指定的事件冒泡对象,默认为map对象,false时不冒泡

center object 可选

图层自定义定位视角 Map#setCameraView

参数名称 类型 描述信息
lng number

经度值, 180 - 180

lat number

纬度值, -90 - 90

alt number 可选

高度值

heading number 可选

方向角度值,绕垂直于地心的轴旋转角度, 0至360

pitch number 可选

俯仰角度值,绕纬度线旋转角度, -90至90

roll number 可选

翻滚角度值,绕经度线旋转角度, -90至90

flyTo boolean 可选

加载完成数据后是否自动飞行定位到数据所在的区域。

flyToOptions object 可选

加载完成数据后是否自动飞行定位到数据所在的区域的对应 BaseLayer#flyTo方法参数。

参考:

继承

成员(属性)

allowDrillPick : boolean|function

是否允许鼠标穿透拾取

alt : number

调整修改模型高度

availability : Cesium.TimeIntervalCollection

指定时间范围内显示该对象 [提示:仅部分子类实现,非所有对象都支持]

继承自:
使用示例:
// 普通传值方式,多个【建议】
layer.availability = [
  { start: "2017-08-25 08:00:00", stop: "2017-08-25 08:01:20", isStartIncluded: true, isStopIncluded: false },
  { start: "2017-08-25 09:00:00", duration: 10 } //支持不配置stop,直接配置duration秒数时长
]
// 也支持相对时间的 秒数 传值(相对于map.clock.startTime)
layer.availability = [
  { start: 0, stop: 10, isStartIncluded: true, isStopIncluded: false },
  { start:30, duration: 10 } //支持不配置stop,直接配置duration秒数时长
]

// 普通传值方式,单个
layer.availability = { start: "2017-08-25 08:00:00", stop: "2017-08-25 08:01:20", isStartIncluded: true, isStopIncluded: false }


// cesium原生写法, 多个
layer.availability = new Cesium.TimeIntervalCollection([
  new Cesium.TimeInterval({
    start: Cesium.JulianDate.fromDate(new Date("2017-08-25 08:00:00")),
    stop: Cesium.JulianDate.fromDate(new Date("2017-08-25 08:00:20")),
    isStartIncluded: true,
    isStopIncluded: false
  }),
])

// cesium原生写法,单个
layer.availability = new Cesium.TimeInterval({
  start: Cesium.JulianDate.fromDate(new Date("2017-08-25 08:00:00")),
  stop: Cesium.JulianDate.fromDate(new Date("2017-08-25 08:00:20")),
  isStartIncluded: true,
  isStopIncluded: false
})

axis : string|Cesium.Axis

轴方向

readonly boundingSphere : Cesium.BoundingSphere

模型的边界球体。

center : LngLatPoint

模型当前中心点坐标

readonly clip : TilesetClip

模型裁剪 对象

readonly colorCorrection : TilesetPlanClip

颜色校正 对象

customShader : Cesium.CustomShader

自定义shader效果,
如果默认无customShader,加载模型后动态修改customShader值

readonly flat : TilesetFlat

模型压平 对象

readonly flood : TilesetFlood

模型淹没 对象

hasEdit : boolean

是否可以编辑

readonly hasOpacity : boolean

是否可以调整透明度

继承自:

height : number

调整修改模型高度, 同alt

readonly highlight : object

鼠标移入或单击(type:'click')后的对应高亮的部分样式,空值时不高亮

id : string|number

对象的id标识

继承自:

readonly inverseMatrix : Cesium.Matrix4

逆变换矩阵。

readonly isAdded : boolean

是否已添加到地图

继承自:

readonly isDestroy : boolean

是否已经销毁了

继承自:

readonly isEditing : boolean

是否正在编辑状态

readonly isPrivate : boolean

是否Mars3D内部的私有对象,如标绘拖拽点等

继承自:

marsJzwStyle : boolean|object|string

开启或设置建筑物特效样式。

readonly modelMatrix : Cesium.Matrix4

变换矩阵。

readonly modelUpAxis : Cesium.Axis

模型的向上轴,比如Cesium.Axis.Z 或 Cesium.Axis.Y

name : string

名称 标识

继承自:

opacity : number

透明度,取值范围:0.0-1.0

继承自:

readonly orginCenterPoint : LngLatPoint

模型原始的中心点坐标

readonly orginCenterPosition : Cesium.Cartesian3

模型原始的中心点坐标 (笛卡尔坐标)

readonly orginMatrix : Cesium.Matrix4

模型原始矩阵

readonly orginRotation : object

原始的旋转角度,示例:{ x: 0, y: 0, z: 0 }

pid : string|number

对象的pid标识

继承自:

readonly planClip : TilesetPlanClip

模型裁剪 对象

readonly position : Cesium.Cartesian3

模型当前中心点坐标 (笛卡尔坐标)

readonly readyPromise : Promise.<(BaseLayer|object)>

获取图层完成解析加载完成的Promise承诺, 等价于load事件(区别在于load事件必须在load完成前绑定才能监听)。

继承自:
使用示例:
tiles3dLayer.readyPromise.then(function(layer) {
    console.log("load完成", layer)
  })

rotation : object

旋转方向,示例:{ x: 0, y: 0, z: 0 }

rotation_x : number

X轴上的旋转方向

rotation_y : number

Y轴上的旋转方向

rotation_z : number

Z轴上的旋转方向

scale : number

缩放比例

scaleX : number

单独自定义缩放X轴方向比例

scaleY : number

单独自定义缩放Y轴方向比例

scaleZ : number

单独自定义缩放Z轴方向比例

show : boolean

显示隐藏状态

继承自:

splitDirection : Cesium.SplitDirection

卷帘对比时,设置所在的屏幕,NONE时不分屏

readonly state : State

当前对象的状态

继承自:

style : object|Cesium.Cesium3DTileStyle|function

模型样式, 使用3D Tiles Styling language.

templateValues : object

图层中统一的url模版,比如可以将服务url前缀统一使用模板,方便修改或动态配置。

继承自:

readonly tileset : Cesium.Cesium3DTileset

模型对应的 Cesium3DTileset对象

readonly transform : boolean

是否存在世界矩阵

readonly type : string

图层类型

继承自:

方法

abstract _mountedHook()void

对象添加到地图前创建一些对象的钩子方法, 只会调用一次

返回值:

继承自:

addTo(map)BaseLayer

添加到地图上,同 map.addThing

参数名称 类型 描述信息
map Map

地图对象

返回值:

当前对象本身,可以链式调用

继承自:

bindContextMenu(content, options)BaseGraphicLayer

绑定右键菜单

参数名称 类型 默认值 描述信息
content Array.<object>

右键菜单配置数组,数组中每一项包括:

参数名称 类型 描述信息
text string | function 可选

菜单文字

icon string 可选

图标,可以是:图片url路径、base64字符串、svg字符串、字体图标class名

show function | boolean 可选

菜单项是否显示的回调方法

callback function 可选

菜单项单击后的回调方法

children Array.<object> 可选

当有二级子菜单时,配置数组。

options object {} 可选

控制参数

参数名称 类型 描述信息
offsetX number 可选

用于非规则对象时,横向偏移的px像素值

offsetY number 可选

用于非规则对象时,垂直方向偏移的px像素值

返回值:

当前对象本身,可以链式调用

继承自:
使用示例:
//在layer上绑定右键菜单
      graphicLayer.bindContextMenu([
        {
          text: '删除对象',
          icon: 'fa fa-trash-o',
          callback: function (e) {
            let graphic = e.graphic
            if (graphic) {
              graphicLayer.removeGraphic(graphic)
            }
          },
        },
        {
          text: '计算长度',
          icon: 'fa fa-medium',
          show: function (e) {
            let graphic = e.graphic
            return graphic.type === 'polyline'
          },
          callback: function (e) {
            let graphic = e.graphic
            let strDis = mars3d.MeasureUtil.formatDistance(graphic.distance)
            alert('该对象的长度为:' + strDis)
          },
        },
      ])

bindHighlight(options)void

绑定鼠标移入或单击后的 对象高亮

参数名称 类型 描述信息
options object 可选

参数:

参数名称 类型 默认值 描述信息
type string 'mouseOver' 可选

事件类型,默认为鼠标移入高亮,也可以指定'click'单击高亮。

多个参数 string 可选

高亮的样式,具体见各GraphicType矢量数据的style参数。

返回值:

继承自:

bindPopup(content, options)TilesetLayer

绑定鼠标单击对象后的弹窗。

参数名称 类型 描述信息
content string | Array | function

弹窗内容html字符串,或者回调方法。

options Popup.StyleOptions 可选

控制参数

返回值:

当前对象本身,可以链式调用

bindTooltip(content, options)BaseGraphicLayer

绑定鼠标移入的弹窗

参数名称 类型 描述信息
content string | function

弹窗内容html字符串,或者回调方法。

options Tooltip.StyleOptions 可选

控制参数

返回值:

当前对象本身,可以链式调用

继承自:

clampToGround(addHeight)void

模型自动贴地计算及处理, 因为模型在设计或生产时,模型的视角中心位置不一定在0,0,0点,此方法不是唯一准确的。

参数名称 类型 默认值 描述信息
addHeight number 1 可选

计算完成的贴地高度基础上增加的高度值。

返回值:

closeContextMenu()BaseGraphicLayer

关闭右键菜单

返回值:

当前对象本身,可以链式调用

继承自:

closeHighlight()void

清除已选中的高亮,原有style的配置项需要与highlightStyle配置有一一对应关系,否则无法清除

返回值:

closePopup()BaseGraphicLayer

关闭弹窗

返回值:

当前对象本身,可以链式调用

closeSmallTooltip()BaseGraphicLayer

关闭小提示窗

返回值:

当前对象本身,可以链式调用

继承自:

closeTooltip()BaseGraphicLayer

关闭弹窗

返回值:

当前对象本身,可以链式调用

继承自:

async flyTo(options)Promise.<boolean>

飞行定位至图层数据所在的视角

参数名称 类型 默认值 描述信息
options object {} 可选

参数对象:

参数名称 类型 默认值 描述信息
radius number 可选

点状数据时,相机距离目标点的距离(单位:米)

scale number 1.2 可选

线面数据时,缩放比例,可以控制视角比矩形略大一些,这样效果更友好。

heading number 可选

方向角度值,绕垂直于地心的轴旋转角度, 0至360

pitch number 可选

俯仰角度值,绕纬度线旋转角度, -90至90

roll number 可选

翻滚角度值,绕经度线旋转角度, -90至90

minHeight number 可选

定位时相机的最小高度值,用于控制避免异常数据

maxHeight number 可选

定位时相机的最大高度值,用于控制避免异常数据

height number 可选

矩形区域时的高度值, 默认取地形高度值

duration number 可选

飞行时间(单位:秒)。如果省略,SDK内部会根据飞行距离计算出理想的飞行时间。

complete Cesium.Camera.FlightCompleteCallback 可选

飞行完成后要执行的函数。

cancel Cesium.Camera.FlightCancelledCallback 可选

飞行取消时要执行的函数。

endTransform Cesium.Matrix4 可选

变换矩阵表示飞行结束时相机所处的参照系。

maximumHeight number 可选

飞行高峰时的最大高度。

pitchAdjustHeight number 可选

如果相机飞得比这个值高,在飞行过程中调整俯仰以向下看,并保持地球在视口。

flyOverLongitude number 可选

地球上的两点之间总有两条路。这个选项迫使相机选择战斗方向飞过那个经度。

flyOverLongitudeWeight number 可选

仅在通过flyOverLongitude指定的lon上空飞行,只要该方式的时间不超过flyOverLongitudeWeight的短途时间。

convert boolean true 可选

是否将目的地从世界坐标转换为场景坐标(仅在不使用3D时相关)。

easingFunction Cesium.EasingFunction.Callback 可选

控制在飞行过程中如何插值时间。

返回值:

如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise

继承自:

getAvailabilityShow(time)boolean

获取指定时间下的时序对应的 显示隐藏 状态

参数名称 类型 描述信息
time Cesium.JulianDate

指定时间

返回值:

显示隐藏 状态

继承自:

getContextMenu()Array.<object>

获取绑定的右键菜单数组

返回值:

右键菜单数组

继承自:

getHeight(position)number

获取贴当前模型高度值。 PS: 该方法将只考虑已加载的LOD数据,而不一定是LOD集中最详细的最底层数据。 当采样点云时,此函数将始终返回undefined。

参数名称 类型 描述信息
position string | Array | LngLatPoint | Cesium.Cartesian3 | *

坐标位置

返回值:

贴模型的高度

getPositionByOrginMatrix(position)Cesium.Cartesian3

获取构件节点位置,现对于原始矩阵变化后的新位置

参数名称 类型 描述信息
position Cesium.Cartesian3

原始位置

返回值:

新位置

getRealShow(time)boolean

获取当前对象真实实际的显示状态

参数名称 类型 描述信息
time Cesium.JulianDate

当前时间

返回值:

真实的实时显示状态,当时序范围外,被聚合时返回的是false

继承自:

hasContextMenu()boolean

是否有绑定的右键菜单

返回值:

是否有绑定

继承自:

hasPopup()boolean

是否存在Popup绑定

返回值:

是否存在Popup绑定

hasTooltip()boolean

是否绑定了tooltip

返回值:

是否绑定

继承自:

openContextMenu(position)BaseGraphicLayer

打开右键菜单

参数名称 类型 描述信息
position BaseGraphic | Cesium.Cartesian3

矢量对象 或 显示的位置

返回值:

当前对象本身,可以链式调用

继承自:

openHighlight(highlightStyle, closeLast, pickedObject)void

高亮对象。 提示:该方法不支持 outlineEffect: true 高亮,因为outlineEffect需要鼠标拾取构件。

参数名称 类型 默认值 描述信息
highlightStyle object 可选

高亮的样式,具体见各GraphicType矢量数据的style参数。

closeLast boolean true 可选

是否清除地图上上一次的高亮对象

pickedObject Cesium.Cesium3DTileFeature 可选

需要高亮的构件, 如果是mars3d的相关事件内时,可以取 event.pickedObject

返回值:

openPopup(position)BaseGraphicLayer

打开绑定的弹窗

参数名称 类型 描述信息
position BaseGraphic | LngLatPoint | Cesium.Cartesian3

矢量对象 或 显示的位置

返回值:

当前对象本身,可以链式调用

继承自:

openSmallTooltip(position, message)BaseGraphicLayer

显示小提示窗,一般用于鼠标操作的提示。

参数名称 类型 描述信息
position Cesium.Cartesian2 | Cesium.Cartesian3

显示的屏幕坐标位置 或 笛卡尔坐标位置

message *

显示的内容

返回值:

当前对象本身,可以链式调用

继承自:

openTooltip(position)BaseGraphicLayer

打开绑定的tooltip弹窗

参数名称 类型 描述信息
position BaseGraphic | LngLatPoint | Cesium.Cartesian3

graphic矢量对象 或 显示的位置

返回值:

当前对象本身,可以链式调用

继承自:

reload()void

重新加载模型

返回值:

remove(destroy)void

从地图上移除,同map.removeThing

参数名称 类型 描述信息
destroy boolean 可选

是否调用destroy释放

返回值:

继承自:

setOpacity(value)void

设置透明度

参数名称 类型 描述信息
value number

透明度

返回值:

setOptions(options)BaseLayer

更新图层参数

参数名称 类型 描述信息
options object

与类的构造方法参数相同

返回值:

当前对象本身,可以链式调用

继承自:

startEditing()void

开始编辑对象

返回值:

stopEditing()void

停止编辑,释放正在编辑的对象。

返回值:

toJSON()object

将图层转为Json简单对象,用于存储后再传参加载

返回值:

Json简单对象

继承自:

unbindContextMenu(bubbling)BaseGraphicLayer

解除绑定的右键菜单

参数名称 类型 默认值 描述信息
bubbling boolean false 可选

单击事件中是否继续冒泡查找

返回值:

当前对象本身,可以链式调用

继承自:

unbindHighlight()void

解绑鼠标移入或单击后的高亮处理

返回值:

继承自:

unbindPopup()BaseGraphicLayer

解除绑定的鼠标单击对象后的弹窗。

返回值:

当前对象本身,可以链式调用

unbindTooltip(bubbling)BaseGraphicLayer

解除绑定的鼠标移入对象后的弹窗。

参数名称 类型 默认值 描述信息
bubbling boolean false 可选

单击事件中是否继续冒泡查找

返回值:

当前对象本身,可以链式调用

继承自:

updateMatrix()Cesium.Matrix4|undefined

重新计算当前矩阵(需要是否存在世界矩阵时)

返回值:

计算完成的矩阵

updateMatrix2()Cesium.Matrix4

重新计算当前矩阵,普通方式, 此种方式[x,y不能多次更改]

返回值:

计算完成的矩阵

定义的类型

mars3d.layer.TilesetLayer.EventType

当前类支持的EventType事件类型

属性:
属性名称 类型 描述信息
add string

添加对象

remove string

移除对象

show string

显示了对象

hide string

隐藏了对象

click string

左键单击 鼠标事件

rightClick string

右键单击 鼠标事件

mouseOver string

鼠标移入 鼠标事件

mouseOut string

鼠标移出 鼠标事件

popupOpen string

popup弹窗打开后

popupClose string

popup弹窗关闭

tooltipOpen string

tooltip弹窗打开后

tooltipClose string

tooltip弹窗关闭

initialTilesLoaded string

3dtiles模型,模型瓦片初始化完成 该回调只执行一次

allTilesLoaded string

3dtiles模型

loadBefore string

完成加载,但未做任何其他处理前

load string

完成加载,执行所有内部处理后

highlightOpen string

highlight高亮后

highlightClose string

highlight关闭后

使用示例:
//绑定监听事件
layer.on(mars3d.EventType.load, function (event) {
  console.log('矢量数据对象加载完成', event)
})
参考: