Appearance
KBE3D / KBCore / layers / GeojsonLayer
类: GeojsonLayer
geojson矢量图层类 该类中矢量数据是使用Ceisum原生方法加载的entity对象
示例
ts
// 创建earth
const earth = new KBCore.Earth('cesiumContainer', {
fullscreenElement: 'cesiumContainer',
})
const geojsonLayer = new KBCore.layers.GeojsonLayer({
id: 'test1',
name: 'test1',
flyTo: true,
source: '/data/即墨区.json',
outline: KBCore.Cesium.Color.GREEN,
label: {
textField: 'name',
constructorOptions: {
fillColor: KBCore.Cesium.Color.RED,
},
},
popup: {
entity: true,
},
})
earth.addLayer(geojsonLayer)
geojsonLayer.on('click', (event: BaseEvent<PickTargetInfo>) => {
const forceData = JSON.stringify(
event.data?.sourceTarget._attr,
)
geojsonLayer.popup?.open(forceData, event.data.cartesian)
})继承
属性
EventType
staticEventType: {add:"add";remove:"remove";addLayer:"addLayer";removeLayer:"removeLayer";show:"show";hide:"hide";click:"click";leftDown:"leftDown";leftUp:"leftUp";rightClick:"rightClick";rightDown:"rightDown";rightUp:"rightUp";middleClick:"middleClick";middleDown:"middleDown";middleUp:"middleUp";mouseDown:"mouseDown";mouseUp:"mouseUp";mouseOver:"mouseOver";mouseOut:"mouseOut";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同时抛出)
show
show:
"show"='show'
显示(图层和earth同时抛出)
hide
hide:
"hide"='hide'
隐藏(图层和earth同时抛出)
click
click:
"click"='click'
鼠标事件: 左键单击(earth抛出,如果拾取到图元,将“同时”在所在图层(前提是通过图元能找到所在图层)抛出该事件,并在earth抛出‘clickGraphic’或‘clickTileGraphic’)
leftDown
leftDown:
"leftDown"='leftDown'
鼠标事件: 左键鼠标按下(如果拾取到图元,将在所在图层(前提是通过图元能找到所在图层)抛出该事件,“否则”在earth抛出)
leftUp
leftUp:
"leftUp"='leftUp'
鼠标事件: 左键鼠标按下后释放(如果拾取到图元,将在所在图层(前提是通过图元能找到所在图层)抛出该事件,“否则”在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抛出)
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抛出、所在图层抛出)
继承自
options
options:
GeojsonLayerOptions
GeojsonLayer构造参数
重写了
originOptions
readonlyoriginOptions:any
原始构造参数备份
继承自
BaseGraphicLayer.originOptions
uuid
readonlyuuid:string
实例的唯一ID
继承自
_earth?
optional_earth:Earth
当前Earth管理类实例
继承自
parent?
optionalparent:BaseLayer
父级图层
继承自
方法
getRectangle()
调用签名
getRectangle(
isFormat:true):Extent|undefined
获取图层内所有数据的矩形范围边界值 - 函数重载
参数
isFormat
true
返回
Extent | undefined
重写了
调用签名
getRectangle(
isFormat?:false):Rectangle|undefined
获取图层内所有数据的矩形范围边界值 - 函数重载
参数
isFormat?
false
返回
Rectangle | undefined
重写了
调用签名
getRectangle(
isFormat?:boolean):Extent|Rectangle|undefined
获取图层内所有数据的矩形范围边界值
参数
isFormat?
boolean
是否格式化,格式化时示例: { xmin: xxx, xmax: xxx, ymin: xxx, ymax: xxx },否则返回返回Cesium.Rectangle对象
返回
Extent | Rectangle | undefined
重写了
flyTo()
flyTo(
options?:FlyToControl|FlyToExtentControl):boolean
飞行定位至图层数据所在的视角
参数
options?
飞行控制参数
FlyToControl | FlyToExtentControl
返回
boolean
返回一个是否调用成功的布尔值
重写了
setZIndex()
setZIndex(
val:number):void
设置图层顺序层级
参数
val
number
返回
void
重写了
load()
load(
newOptions?:Partial<GeojsonLayerLoadOptions>):Promise<void>
加载geojson数据 如果未设置source参数,将根据其他入参刷新已存在的旧数据的相关配置,与构造参数的配置合并
参数
newOptions?
Partial<GeojsonLayerLoadOptions> = {}
新设定的参数,会与类的构造参数合并
返回
Promise<void>
setOpacity()
setOpacity(
value:number):void
设置透明度
参数
value
number
透明度
返回
void
setShow()
setShow(
val:boolean):void
设置显隐状态
参数
val
boolean
返回
void
继承自
toJSON()
toJSON():
CreateLayerOptions
将图层转为Json简单对象,用于存储后再传参加载
返回
Json简单对象
继承自
addTo()
addTo(
earth:Earth):void
添加到地球上,同earth.addLayer
参数
earth
Earth实例
返回
void
继承自
removeTo()
removeTo(
isDestroy?:boolean):void
移除图层,同earth.removeLayer
参数
isDestroy?
boolean = false
是否destroy销毁释放对象,默认值:false
返回
void
继承自
addedPromise()
addedPromise<
T>():Promise<T>
判断是否已经完成加载并添加到地球上
类型参数
T
T extends BaseLayer = BaseLayer
返回
Promise<T>
返回一个Promise<BaseLayer>,BaseLayer为泛型,可自行指定
继承自
bindPopup()
bindPopup(
options?:PopupOptions):void
绑定弹窗
参数
options?
PopupOptions = {}
弹窗实例类构造参数
返回
void
继承自
unbindPopup()
unbindPopup():
void
解除绑定弹窗
返回
void
继承自
destroy()
destroy():
void
销毁释放对象
返回
void
继承自
方法: 事件相关
on()
on(
types:string|Record<any,any> |string[] |Record<EventTypeValue,any> |EventTypeValue[],fn:Function,context?:any):GeojsonLayer
绑定指定类型事件监听器,支持在监听中调用 event.stopPropagation() 组织事件冒泡
参数
types
事件类型
string | Record<any, any> | string[] | Record<EventTypeValue, any> | EventTypeValue[]
fn
Function
绑定的监听器回调方法
context?
any
侦听器的上下文(this关键字将指向的对象)。
返回
GeojsonLayer
当前对象本身,可以链式调用
继承自
off()
off(
types:string|Record<any,any> |string[] |Record<EventTypeValue,any> |EventTypeValue[],fn:Function,context?:any):GeojsonLayer
解除绑定指定类型事件监听器
参数
types
事件类型,未传值时解绑所有事件
string | Record<any, any> | string[] | Record<EventTypeValue, any> | EventTypeValue[]
fn
Function
绑定的监听器回调方法,未传值时解绑所有指定类型对应事件
context?
any
侦听器的上下文(this关键字将指向的对象)。
返回
GeojsonLayer
当前对象本身,可以链式调用
继承自
emit()
emit(
type:string,data?:any,propagate?:boolean):GeojsonLayer
触发指定类型的事件。
参数
type
string
事件类型
data?
any
传输的数据或对象,可在事件回调方法中event对象中获取进行使用
propagate?
boolean
将事件传播给父类 (用addEventParent设置)
返回
GeojsonLayer
当前对象本身,可以链式调用
继承自
once()
once(
types:string|Record<any,any> |string[] |Record<EventTypeValue,any> |EventTypeValue[],fn:Function,context?:any):GeojsonLayer
绑定一次性执行的指定类型事件监听器,与on类似,监听器只会被触发一次,然后被删除
参数
types
事件类型
string | Record<any, any> | string[] | Record<EventTypeValue, any> | EventTypeValue[]
fn
Function
绑定的监听器回调方法
context?
any
侦听器的上下文(this关键字将指向的对象)
返回
GeojsonLayer
当前对象本身,可以链式调用
继承自
hasListener()
hasListener(
type:string,propagate?:boolean):boolean
是否有绑定指定的事件
参数
type
string
事件类型
propagate?
boolean
是否判断指定的父类 (用addEventParent设置的)
返回
boolean
是否存在
继承自
addEventParent()
addEventParent(
obj:BaseClass):GeojsonLayer
添加抛出事件到父类,它将接收传播的事件
参数
obj
父类对象
返回
GeojsonLayer
当前对象本身,可以链式调用
继承自
BaseGraphicLayer.addEventParent
removeEventParent()
removeEventParent(
obj:BaseClass):GeojsonLayer
移除抛出事件到父类
参数
obj
父类对象
返回
GeojsonLayer
当前对象本身,可以链式调用
继承自
BaseGraphicLayer.removeEventParent
hasEventParent()
hasEventParent(
obj:BaseClass):boolean
是否绑定了抛出事件到指定父类
参数
obj
父类对象
返回
boolean
当前对象本身,可以链式调用
继承自
BaseGraphicLayer.hasEventParent
构造函数
构造函数
new GeojsonLayer(
options:GeojsonLayerOptions):GeojsonLayer
参数
options
返回
GeojsonLayer
重写了
访问器
layerSource
Getter 签名
get layerSource():
any
图层融合数据源 可能是由DataSource或其他Collection数据源融合的数组 也可能是瓦片图层对应的内部Cesium.ImageryLayer对象或三维模型图层的Cesium.Cesium3DTileset对象或地形图层的Cesium.TerrainProvider对象 数据源使用统一的show属性可控制显隐
返回
any
重写了
labelCollection
Getter 签名
get labelCollection():
LabelCollection|undefined
文字标注的primitive集
返回
LabelCollection | undefined
entities
Getter 签名
get entities():
EntityCollection|undefined
Entity矢量数据的集合类
返回
EntityCollection | undefined
entitiesValues
Getter 签名
get entitiesValues():
Entity[] |undefined
Entity矢量数据实例的集合
返回
Entity[] | undefined
allGeojsonData
Getter 签名
get allGeojsonData():
AllGeoJSON|undefined
所有的geojson数据原始对象(多次load合并后)
返回
AllGeoJSON | undefined
opacity
Getter 签名
get opacity():
number
透明度,取值范围:0.0-1.0
返回
number
Setter 签名
set opacity(
val:number):void
设置透明度,取值范围:0.0-1.0
参数
val
number
返回
void
isTile
Getter 签名
get isTile():
boolean
瓦片图层标识
返回
boolean
继承自
zIndex
Getter 签名
get zIndex():
number
图层顺序层级
返回
number
Setter 签名
set zIndex(
val:number):void
设置图层顺序层级
参数
val
number
返回
void
继承自
primitiveCollection
Getter 签名
get primitiveCollection():
PrimitiveCollection|undefined
获取primitive数据集
返回
PrimitiveCollection | undefined
继承自
BaseGraphicLayer.primitiveCollection
dataSource
Getter 签名
get dataSource():
DataSource|undefined
获取entity数据集
返回
DataSource | undefined
继承自
id
Getter 签名
get id():
string|number
对象的id标识 @@readonly
返回
string | number
继承自
pid
Getter 签名
get pid():
string|number
对象的pid标识
返回
string | number
继承自
name
Getter 签名
get name():
string|number
名称标识 @@readonly
返回
string | number
继承自
earth
Getter 签名
get earth():
Earth|undefined
获取图层所属的earth实例 @@readonly
返回
Earth | undefined
继承自
viewer
Getter 签名
get viewer():
Viewer|undefined
获取Cesium.Viewer实例 @@readonly
返回
Viewer | undefined
继承自
popup
Getter 签名
get popup():
Popup|undefined
获取绑定的弹窗实例
返回
Popup | undefined
继承自
type
Getter 签名
get type():
"terrain"|"wms"|"wmts"|"image"|"xyz"|"tileset"|"geojson"|"group"|"colorPatternGrid"|"colorPatternGradient"|"heat"|"graphic"
图层类型
返回
"terrain" | "wms" | "wmts" | "image" | "xyz" | "tileset" | "geojson" | "group" | "colorPatternGrid" | "colorPatternGradient" | "heat" | "graphic"
继承自
state
Getter 签名
get state():
StateValue
当前对象的状态
返回
继承自
show
Getter 签名
get show():
boolean
获取显隐
返回
boolean
Setter 签名
set show(
val:boolean):void
设置显隐状态
参数
val
boolean
返回
void
