Appearance
类: Earth
构建管理三维球的主入口
继承
属性
EventType
staticEventType: {add:"add";remove:"remove";addLayer:"addLayer";removeLayer:"removeLayer";addEffect:"addEffect";removeEffect:"removeEffect";enable:"enable";unable:"unable";show:"show";hide:"hide";click:"click";clickGraphic:"clickGraphic";clickTileGraphic:"clickTileGraphic";clickMap:"clickMap";dblClick:"dblClick";leftDown:"leftDown";leftUp:"leftUp";mouseMove:"mouseMove";mouseMoveTarget:"mouseMoveTarget";wheel:"wheel";rightClick:"rightClick";rightDown:"rightDown";rightUp:"rightUp";middleClick:"middleClick";middleDown:"middleDown";middleUp:"middleUp";mouseDown:"mouseDown";mouseUp:"mouseUp";mouseOver:"mouseOver";mouseOut:"mouseOut";pinchStart:"pinchStart";pinchEnd:"pinchEnd";pinchMove:"pinchMove";keydown:"keydown";keyup:"keyup";cameraMoveStart:"cameraMoveStart";cameraMoveEnd:"cameraMoveEnd";cameraChanged:"cameraChanged";preUpdate:"preUpdate";postUpdate:"postUpdate";preRender:"preRender";postRender:"postRender";renderError:"renderError";morphStart:"morphStart";morphComplete:"morphComplete";clockTick:"clockTick";terrainChange:"terrainChange";tileLoadProgress:"tileLoadProgress";openPopup:"openPopup";closePopup:"closePopup";destroyPopup:"destroyPopup";changePopupPosition:"changePopupPosition";showPopup:"showPopup";hidePopup:"hidePopup"; }
支持的事件类型
add
add:
"add"='add'
添加对象(图层和earth同时抛出)
remove
remove:
"remove"='remove'
移除对象(图层和earth同时抛出)
addLayer
addLayer:
"addLayer"='addLayer'
添加图层(图层和earth同时抛出)
removeLayer
removeLayer:
"removeLayer"='removeLayer'
移除图层(图层和earth同时抛出)
addEffect
addEffect:
"addEffect"='addEffect'
添加特效(特效和earth同时抛出)
removeEffect
removeEffect:
"removeEffect"='removeEffect'
移除特效(特效和earth同时抛出)
enable
enable:
"enable"='enable'
启用(特效和earth同时抛出)
unable
unable:
"unable"='unable'
停用(特效和earth同时抛出)
show
show:
"show"='show'
显示(图层和earth同时抛出)
hide
hide:
"hide"='hide'
隐藏(图层和earth同时抛出)
click
click:
"click"='click'
鼠标事件: 左键单击(earth抛出,如果拾取到图元,将“同时”在所在图层(前提是通过图元能找到所在图层)抛出该事件,并在earth抛出‘clickGraphic’或‘clickTileGraphic’)
clickGraphic
clickGraphic:
"clickGraphic"='clickGraphic'
鼠标事件: 左键单击到矢量或模型数据时(earth抛出)
clickTileGraphic
clickTileGraphic:
"clickTileGraphic"='clickTileGraphic'
鼠标事件: 左键单击到wms或arcgis瓦片服务的对应矢量数据时(earth抛出)
clickMap
clickMap:
"clickMap"='clickMap'
鼠标事件: 左键单击地图空白(未单击到矢量或模型数据)时(earth抛出)
dblClick
dblClick:
"dblClick"='dblClick'
鼠标事件: 左键双击(earth抛出)
leftDown
leftDown:
"leftDown"='leftDown'
鼠标事件: 左键鼠标按下(如果拾取到图元,将在所在图层(前提是通过图元能找到所在图层)抛出该事件,“否则”在earth抛出)
leftUp
leftUp:
"leftUp"='leftUp'
鼠标事件: 左键鼠标按下后释放(如果拾取到图元,将在所在图层(前提是通过图元能找到所在图层)抛出该事件,“否则”在earth抛出)
mouseMove
mouseMove:
"mouseMove"='mouseMove'
鼠标事件: 鼠标移动(earth抛出)
mouseMoveTarget
mouseMoveTarget:
"mouseMoveTarget"='mouseMoveTarget'
鼠标事件: 鼠标移动拾取目标(earth抛出)
wheel
wheel:
"wheel"='wheel'
鼠标事件: 鼠标滚轮滚动(earth抛出)
rightClick
rightClick:
"rightClick"='rightClick'
鼠标事件: 右键单击(如果拾取到图元,将在所在图层(前提是通过图元能找到所在图层)抛出该事件,“否则”在earth抛出)
rightDown
rightDown:
"rightDown"='rightDown'
鼠标事件: 右键鼠标按下(如果拾取到图元,将在所在图层(前提是通过图元能找到所在图层)抛出该事件,“否则”在earth抛出)
rightUp
rightUp:
"rightUp"='rightUp'
鼠标事件: 右键鼠标按下后释放(如果拾取到图元,将在所在图层(前提是通过图元能找到所在图层)抛出该事件,“否则”在earth抛出)
middleClick
middleClick:
"middleClick"='middleClick'
鼠标事件: 中键单击(如果拾取到图元,将在所在图层(前提是通过图元能找到所在图层)抛出该事件,“否则”在earth抛出)
middleDown
middleDown:
"middleDown"='middleDown'
鼠标事件: 中键鼠标按下(如果拾取到图元,将在所在图层(前提是通过图元能找到所在图层)抛出该事件,“否则”在earth抛出)
middleUp
middleUp:
"middleUp"='middleUp'
鼠标事件: 中键鼠标按下后释放(如果拾取到图元,将在所在图层(前提是通过图元能找到所在图层)抛出该事件,“否则”在earth抛出)
mouseDown
mouseDown:
"mouseDown"='mouseDown'
鼠标事件: 鼠标按下 [左中右3键都触发](如果拾取到图元,将在所在图层(前提是通过图元能找到所在图层)抛出该事件,“否则”在earth抛出)
mouseUp
mouseUp:
"mouseUp"='mouseUp'
鼠标事件: 鼠标按下后释放 [左中右3键都触发](如果拾取到图元,将在所在图层(前提是通过图元能找到所在图层)抛出该事件,“否则”在earth抛出)
mouseOver
mouseOver:
"mouseOver"='mouseOver'
鼠标事件: 鼠标移入(如果拾取到图元,将在所在图层(前提是通过图元能找到所在图层)抛出该事件,“否则”在earth抛出)
mouseOut
mouseOut:
"mouseOut"='mouseOut'
鼠标事件: 鼠标移出(如果拾取到图元,将在所在图层(前提是通过图元能找到所在图层)抛出该事件,“否则”在earth抛出)
pinchStart
pinchStart:
"pinchStart"='pinchStart'
触摸屏事件: (earth抛出)
pinchEnd
pinchEnd:
"pinchEnd"='pinchEnd'
触摸屏事件: (earth抛出)
pinchMove
pinchMove:
"pinchMove"='pinchMove'
触摸屏事件: 在触摸屏上两指移动(earth抛出)
keydown
keydown:
"keydown"='keydown'
键盘事件: 按键按下(earth抛出)
keyup
keyup:
"keyup"='keyup'
键盘事件: 按键按下后释放(earth抛出)
cameraMoveStart
cameraMoveStart:
"cameraMoveStart"='cameraMoveStart'
场景事件: 相机开启移动前(earth抛出)
cameraMoveEnd
cameraMoveEnd:
"cameraMoveEnd"='cameraMoveEnd'
场景事件: 相机移动完成后(earth抛出)
cameraChanged
cameraChanged:
"cameraChanged"='cameraChanged'
场景事件: 相机位置完成(earth抛出)
preUpdate
preUpdate:
"preUpdate"='preUpdate'
场景事件: 场景更新前(earth抛出)
postUpdate
postUpdate:
"postUpdate"='postUpdate'
场景事件: 场景更新后(earth抛出)
preRender
preRender:
"preRender"='preRender'
场景事件: 场景渲染前(earth抛出)
postRender
postRender:
"postRender"='postRender'
场景事件: 场景渲染后(earth抛出)
renderError
renderError:
"renderError"='renderError'
场景事件: 场景渲染失败(earth抛出)
morphStart
morphStart:
"morphStart"='morphStart'
场景事件: 场景模式(2D/3D/哥伦布)变换前(earth抛出)
morphComplete
morphComplete:
"morphComplete"='morphComplete'
场景事件: 完成场景模式(2D/3D/哥伦布)变换(earth抛出)
clockTick
clockTick:
"clockTick"='clockTick'
场景事件: 时钟跳动(earth抛出)
terrainChange
terrainChange:
"terrainChange"='terrainChange'
场景事件: 地形变化(earth抛出)
tileLoadProgress
tileLoadProgress:
"tileLoadProgress"='tileLoadProgress'
场景事件: 地图中瓦片加载进度变化(earth抛出)
openPopup
openPopup:
"openPopup"='openPopup'
Popup事件: 打开弹窗(Popup实例抛出、earth抛出、所在图层抛出)
closePopup
closePopup:
"closePopup"='closePopup'
Popup事件: 关闭弹窗(Popup实例抛出、earth抛出、所在图层抛出)
destroyPopup
destroyPopup:
"destroyPopup"='destroyPopup'
Popup事件: 销毁弹窗(Popup实例抛出、earth抛出、所在图层抛出)
changePopupPosition
changePopupPosition:
"changePopupPosition"='changePopupPosition'
Popup事件: 弹窗位置变化(Popup实例抛出、earth抛出、所在图层抛出)
showPopup
showPopup:
"showPopup"='showPopup'
Popup事件: 显示Popup(Popup实例抛出、earth抛出、所在图层抛出)
hidePopup
hidePopup:
"hidePopup"='hidePopup'
Popup事件: 隐藏Popup(Popup实例抛出、earth抛出、所在图层抛出)
EarthCache
staticEarthCache:Map<string,Earth>
earth实例缓存
viewerOptions
readonlyviewerOptions:ViewerOptions
Cesium.Viewer构造参数
earthOptions
readonlyearthOptions:EarthOptions
earth构造参数
viewer
readonlyviewer:Viewer
Cesium.Viewer实例
mouseTooltip
mouseTooltip:
MouseTooltip
鼠标移动提示框
disableDefaultContextMenu
disableDefaultContextMenu:
boolean
是否禁用浏览器默认的鼠标右键菜单
originOptions
readonlyoriginOptions:any
原始构造参数备份
继承自
uuid
readonlyuuid:string
实例的唯一ID
继承自
方法
setRenderErrorHandler()
setRenderErrorHandler(
handler:RenderErrorHandler):void
自定义Cesium渲染异常处理函数
参数
handler
处理函数
返回
void
setToken()
setToken(
token?:Partial<Token>):void
设置Cesium Ion等服务的Token,未传值的项将使用内部token
参数
token?
Partial<Token>
返回
void
setDisableMouseEvent()
setDisableMouseEvent(
value?:boolean):void
设置是否禁用所有鼠标事件
参数
value?
boolean
返回
void
setDisableDefaultContextMenu()
setDisableDefaultContextMenu(
value:boolean):void
设置是否禁用浏览器默认的鼠标右键菜单
参数
value
boolean
返回
void
destroy()
destroy():
void
销毁释放对象
返回
void
重写了
bindPopup()
bindPopup(
options?:PopupOptions):void
绑定弹窗
参数
options?
PopupOptions = {}
弹窗实例类构造参数
返回
void
unbindPopup()
unbindPopup():
void
解除绑定弹窗
返回
void
downLoadScreenShot()
downLoadScreenShot(
options?: {screenSelector?:string;nodeFilter?: (node:Element) =>boolean;fileName?:string; }):void
下载截屏
参数
options?
screenSelector?
string
截屏区域的dom选择器,设置之后将会把对应的dom与viewer.canvas进行图片合并
nodeFilter?
(node: Element) => boolean
截屏区域的dom的节点过滤器,返回值为true的将被包含
fileName?
string
文件名称
返回
void
getScreenShotBase64()
getScreenShotBase64(
options?: {screenSelector?:string;nodeFilter?: (node:Element) =>boolean; }):Promise<string>
截屏输出base64
参数
options?
screenSelector?
string
截屏区域的dom选择器,设置之后将会把对应的dom与viewer.canvas进行图片合并
nodeFilter?
(node: Element) => boolean
截屏区域的dom的节点过滤器,返回值为true的将被包含
返回
Promise<string>
方法: 事件相关
on()
on(
types:string|Record<any,any> |string[] |Record<EventTypeValue,any> |EventTypeValue[],fn:Function,context?:any):Earth
绑定指定类型事件监听器,支持在监听中调用 event.stopPropagation() 组织事件冒泡
参数
types
事件类型
string | Record<any, any> | string[] | Record<EventTypeValue, any> | EventTypeValue[]
fn
Function
绑定的监听器回调方法
context?
any
侦听器的上下文(this关键字将指向的对象)。
返回
Earth
当前对象本身,可以链式调用
重写了
off()
off(
types:string|Record<any,any> |string[] |Record<EventTypeValue,any> |EventTypeValue[],fn:Function,context?:any):Earth
解除绑定指定类型事件监听器
参数
types
事件类型,未传值时解绑所有事件
string | Record<any, any> | string[] | Record<EventTypeValue, any> | EventTypeValue[]
fn
Function
绑定的监听器回调方法,未传值时解绑所有指定类型对应事件
context?
any
侦听器的上下文(this关键字将指向的对象)。
返回
Earth
当前对象本身,可以链式调用
重写了
emit()
emit(
type:string,data?:any,propagate?:boolean):Earth
触发指定类型的事件。
参数
type
string
事件类型
data?
any
传输的数据或对象,可在事件回调方法中event对象中获取进行使用
propagate?
boolean
将事件传播给父类 (用addEventParent设置)
返回
Earth
当前对象本身,可以链式调用
继承自
once()
once(
types:string|Record<any,any> |string[] |Record<EventTypeValue,any> |EventTypeValue[],fn:Function,context?:any):Earth
绑定一次性执行的指定类型事件监听器,与on类似,监听器只会被触发一次,然后被删除
参数
types
事件类型
string | Record<any, any> | string[] | Record<EventTypeValue, any> | EventTypeValue[]
fn
Function
绑定的监听器回调方法
context?
any
侦听器的上下文(this关键字将指向的对象)
返回
Earth
当前对象本身,可以链式调用
继承自
hasListener()
hasListener(
type:string,propagate?:boolean):boolean
是否有绑定指定的事件
参数
type
string
事件类型
propagate?
boolean
是否判断指定的父类 (用addEventParent设置的)
返回
boolean
是否存在
继承自
addEventParent()
addEventParent(
obj:BaseClass):Earth
添加抛出事件到父类,它将接收传播的事件
参数
obj
父类对象
返回
Earth
当前对象本身,可以链式调用
继承自
removeEventParent()
removeEventParent(
obj:BaseClass):Earth
移除抛出事件到父类
参数
obj
父类对象
返回
Earth
当前对象本身,可以链式调用
继承自
hasEventParent()
hasEventParent(
obj:BaseClass):boolean
是否绑定了抛出事件到指定父类
参数
obj
父类对象
返回
boolean
当前对象本身,可以链式调用
继承自
方法: 图层相关
getLayerById()
getLayerById<
T>(id:string|number):T|undefined
根据id获取已加载的图层,支持递归到GroupLayer的子图层,默认返回类型为BaseLayer,如需更加友好的代码提示,请为方法添加适当的泛型
类型参数
T
T extends BaseLayer = BaseLayer
参数
id
图层id或uuid
string | number
返回
T | undefined
图层对象或undefined
示例
earth.getLayerById<KBCore.layers.WmsLayer>('demo')getLayerByAttr()
getLayerByAttr<
T>(value:any,attr?:string):T|undefined
根据指定属性获取已加载的图层,支持递归到GroupLayer的子图层,默认返回类型为BaseLayer,如需更加友好的代码提示,请为方法添加适当的泛型
类型参数
T
T extends BaseLayer = BaseLayer
参数
value
any
属性值(如id或name等属性对应的值)
attr?
string = 'id'
属性名称(如id, a.b),多个级别请传入a.b.c的形式
返回
T | undefined
图层对象或undefined
示例
earth.getLayerByAttr<KBCore.layers.WmsLayer>('1', 'id')
earth.getLayerByAttr<KBCore.layers.WmsLayer>('1', 'attr.a')getLayers()
getLayers<
T>():T
获取已加载的所有图层,默认返回类型为BaseLayer,如需更加友好的代码提示,请为方法添加适当的泛型
类型参数
T
T = BaseLayer[]
返回
T
图层数组
示例
earth.getLayers<KBCore.layers.WmsLayer[]>()getTileLayers()
getTileLayers<
T>():T
获取已加载的所有瓦片图层,可以用于卷帘对比,默认返回类型为BaseLayer,如需更加友好的代码提示,请为方法添加适当的泛型
类型参数
T
T = BaseLayer[]
返回
T
瓦片图层数组
示例
earth.getTileLayers<KBCore.layers.WmsLayer[]>()eachLayer()
eachLayer(
method: (layer:BaseLayer,index:number) =>any,context?:any):void
遍历每一个图层并将其作为参数传递给回调函数
参数
method
(layer: BaseLayer, index: number) => any
回调方法
context?
any
侦听器的上下文(this关键字将指向的对象)
返回
void
addLayer()
addLayer(
layer:BaseLayer,showVal?:boolean):void
添加图层到地球上
参数
layer
图层对象
showVal?
boolean
如果传值,覆盖图层的show属性
返回
void
removeLayer()
removeLayer(
layer:string|number|BaseLayer,isDestroy?:boolean):void
移除图层
参数
layer
需要移除的图层对象或id
string | number | BaseLayer
isDestroy?
boolean = false
是否destroy销毁释放对象,默认值:false
返回
void
方法: 特效相关
addEffect()
addEffect(
effect:BaseEffect,enable?:boolean):void
添加特效到地球上
参数
effect
特效对象
enable?
boolean
如果传值,覆盖特效的enable属性
返回
void
removeEffect()
removeEffect(
effect:string|BaseEffect,isDestroy?:boolean):void
移除特效对象
参数
effect
需要移除的特效对象
string | BaseEffect
isDestroy?
boolean = false
是否destroy销毁释放对象,默认值:false
返回
void
方法: 相机视角相关
cancelFlyTo()
cancelFlyTo():
void
在相机飞行途中取消飞行
返回
void
flyHome()
flyHome(
options?:FlyToControl):void
飞行到默认视角
参数
options?
相机飞行控制参数
返回
void
flyTo()
flyTo(
options:FlyToOptions):void
相机飞行
参数
options
返回
void
flyToPoint()
flyToPoint(
point:ParserLatLngPointInput,options?:FlyToPointControl):void
根据目标点定位(非相机位置)
参数
point
点
options?
FlyToPointControl = {}
飞行到点控制参数
返回
void
flyToExtent()
flyToExtent(
extent:Extent,options?:FlyToExtentControl):void
根据矩形范围边界定位(非相机位置)
参数
extent
矩形范围边界
options?
FlyToExtentControl = {}
飞行到矩形范围边界控制参数
返回
void
flyToPositions()
flyToPositions(
positions:Cartesian3[],options?:FlyToPointControl):void
定位至坐标数组
参数
positions
Cesium.Cartesian3[]坐标数组
options?
FlyToPointControl = {}
飞行到坐标数组控制参数
返回
void
getCameraVision()
getCameraVision(
simplify?:boolean):CameraViewInfo
获取当前相机视角信息
参数
simplify?
boolean
是否简化返回信息
返回
- 包含经纬度、高度、航向、俯仰(可能包含翻滚角)的对象
getExtent()
getExtent(
digits?:number):Extent
获取当前视域边界
参数
digits?
number = LatLngPoint.FormatLength
经纬度保留的小数位数,默认为 6
返回
- 当前视域边界
构造函数
构造函数
new Earth(
view:string|Element|Viewer,viewerOptions?:ViewerOptions,earthOptions?:EarthOptions):Earth
参数
view
渲染容器的id或dom节点或已创建的Cesium.Viewer实例
string | Element | Viewer
viewerOptions?
ViewerOptions = {}
viewer构造参数 - 当view为渲染容器的id或dom节点时有效
earthOptions?
EarthOptions = {}
earth构造参数
返回
Earth
重写了
访问器
imageryLayers
Getter 签名
get imageryLayers():
ImageryLayerCollection
获取在地球上渲染的ImageryLayer图像图层的集合类
返回
imageryLayersArr
Getter 签名
get imageryLayersArr():
ImageryLayer[]
获取在地球上渲染的ImageryLayer图像图层的集合类中的图层数组
返回
dataSources
Getter 签名
get dataSources():
DataSourceCollection
获取要可视化的 DataSource 实例集
返回
entities
Getter 签名
get entities():
EntityCollection
获取未绑定到特定数据源的实体的集合。这是 dataSourceDisplay.defaultDataSource.entities 的快捷方式。
返回
hasTerrain
Getter 签名
get hasTerrain():
boolean
是否加载了地形
返回
boolean
container
Getter 签名
get container():
Element
获取viewer的容器dom
返回
Element
effects
Getter 签名
get effects():
Record<string,BaseEffect>
获取特效缓存Record记录,key为特效实例类的type
返回
Record<string, BaseEffect>
popup
Getter 签名
get popup():
Popup|undefined
获取bindPopup绑定的实例
返回
Popup | undefined
disableMouseEvent
Getter 签名
get disableMouseEvent():
boolean|undefined
获取是否禁用所有鼠标事件
返回
boolean | undefined
Setter 签名
set disableMouseEvent(
value:boolean|undefined):void
设置是否禁用所有鼠标事件
参数
value
boolean | undefined
返回
void
静态方法
getInstance()
staticgetInstance(uuid:string,delay?:number):Promise<Earth|undefined>
通过实例唯一id获取Earth实例对象
参数
uuid
string
Earth实例唯一id
delay?
number = 5000
延迟获取,默认值为5000,单位ms
返回
Promise<Earth | undefined>
Earth实例对象,调度超时将返回undefined
