Class: GeoJsonLayer

Glodon.CIMCube.Layer. GeoJsonLayer

GeoJSON图层类,用于加载和管理GeoJSON数据

new GeoJsonLayer(options)

GeoJson图层构造函数
Parameters:
Name Type Description
options Object 图层配置参数
Properties
Name Type Argument Default Description
mode Glodon.CIMCube.Global.Defines.FeatureRenderMode <optional>
FeatureRenderMode.ENTITY 渲染模式,默认FeatureRenderMode.ENTITY
data Object <optional>
GeoJSON 对象
style String | Object | Array.<Object> <optional>
Style对象,参考:https://cimcube.glodon.com/openservice/user-guide/405?categoryId=2448&origin=homepage
height Number <optional>
距地面高度
extrudedHeight Number <optional>
下底面距地面高度
blockHeight Number <optional>
地块拉伸高度,仅支持面要素
defaultColor String <optional>
'#FFFF00' 默认保底颜色,默认是黄色
defaultImage String 默认图片url
defaultSize Array 图片大小,默认[30,36]
clampToGround Boolean <optional>
false 是否贴地
clampToModel Boolean <optional>
false 是否贴模型
geometryType String <optional>
图层几何类型
enableLighting Boolean <optional>
true 是否受光照影响产生明暗效果
zIndex Number <optional>
图层层级(仅在贴地模式下有效,支持线和面)
displayOnTop Boolean <optional>
高亮时是否置顶显示
spreadCenter Object 扩散特效中心点{lon,lat,height}。
spreadTime Number 扩散特效时长;默认-1,不开启特效
spreadRepeat Boolean 扩散特效是否重复;默认false,不重复特效
spreadGradual Number 扩散特效渐进0~1,默认为0.5;0:边缘更硬,没有任何渐进效果,1:边缘最柔和
enableThinning Boolean <optional>
false 是否开启点数据抽稀
thinningTolerance Boolean <optional>
10 抽稀容差
enableCluster Boolean <optional>
false 是否开启点数据聚合(配合cluster使用)
cluster GeoJsonLayerCluster <optional>
点击散开对象

Extends

Members


alpha :Number

透明度
Type:
  • Number
Overrides:
Default Value:
  • 1.0

cacheable :Boolean

是否可缓存
Type:
  • Boolean
Inherited From:
Overrides:

canHighlight :Boolean

可否高亮
Type:
  • Boolean
Inherited From:
Overrides:

canSelected :Boolean

可否被选中
Type:
  • Boolean
Inherited From:
Overrides:

clampToGround :Boolean

贴地设置
Type:
  • Boolean
Default Value:
  • false

clampToModel :Boolean

贴模型设置
Type:
  • Boolean
Default Value:
  • false

cluster :GeoJsonLayerCluster

聚合对象
Type:

displayOnTop :Boolean

高亮时是否置顶显示
Type:
  • Boolean

enableCluster :Boolean

开启聚合(配合cluster使用)
Type:
  • Boolean
Default Value:
  • false

enableLabel :Boolean

开启标注(配合setLabelStyle使用)
Type:
  • Boolean
Default Value:
  • false

enableLabelAlphaByDistance :Boolean

开启标注随距离的透明度(配合setLabelAlphaByDistance使用)
Type:
  • Boolean
Default Value:
  • false

enableLabelAvoidance :Boolean

开启标注避让
Type:
  • Boolean
Default Value:
  • false

enableLabelOffsetByDistance :Boolean

开启标注随距离的偏移值(配合setLabelOffsetByDistance使用)
Type:
  • Boolean
Default Value:
  • false

enableLabelScaleByDistance :Boolean

开启标注随距离的缩放比(配合setLabelScaleByDistance使用)
Type:
  • Boolean
Default Value:
  • false

enableLabelVisibleByDistance :Boolean

开启标注的可视范围(配合setLabelVisibleByDistance使用)
Type:
  • Boolean
Default Value:
  • false

enableMouseMove :Boolean

图层是否可以触发鼠标移动事件
Type:
  • Boolean
Inherited From:
Overrides:
Default Value:
  • true

enableThinning :Boolean

开启抽稀(配合thinningTolerance使用)
Type:
  • Boolean
Default Value:
  • false

enableVisibleByDistance :Boolean

开启Entity的可视范围(配合setVisibleByDistance使用)
Type:
  • Boolean
Default Value:
  • false

geometryType :String

几何类型
Type:
  • String

glowColor :String

发光颜色
Type:
  • String
Inherited From:
Overrides:

glowTimeInterval :String

闪烁的颜色
Type:
  • String
Inherited From:
Overrides:

id :String

id
Type:
  • String
Inherited From:
Overrides:

isPipeline :Boolean

数据是否是管线类型
Type:
  • Boolean
Inherited From:
Overrides:

labelAvoidanceThreshold :Number

标注避让阈值
Type:
  • Number
Default Value:
  • 10

matrix :Object

图层偏移
Type:
  • Object
Inherited From:
Overrides:

name :String

图层名称
Type:
  • String
Inherited From:
Overrides:

pickable :Boolean

pickable
Type:
  • Boolean
Inherited From:
Overrides:

<readonly> ready :Boolean

数据是否已经加载
Type:
  • Boolean
Inherited From:
Overrides:

rotationPointOffset :Cartesian3

图层指定的旋转点,模型坐标系下基于原点的偏移点,默认是包围盒中心点
Type:
  • Cartesian3
Inherited From:
Overrides:

selectedColor :String

选中颜色
Type:
  • String
Inherited From:
Overrides:

show :Boolean

是否显示
Type:
  • Boolean
Overrides:
Default Value:
  • true

spreadCenter :Object

扩散特效中心点{lon,lat,height}。
Type:
  • Object

spreadGradual :Number

扩散特效渐进0~1,默认为0.5;0:边缘更硬,没有任何渐进效果,1:边缘最柔和
Type:
  • Number

spreadRepeat :Boolean

扩散特效是否重复;默认false,不重复特效
Type:
  • Boolean

spreadTime :Number

扩散特效时长;默认-1,不开启特效
Type:
  • Number

style :Object

Type:
  • Object

thinningTolerance :Number

抽稀容差
Type:
  • Number
Default Value:
  • 10

<readonly> type :String

图层类型
Type:
  • String
Inherited From:
Overrides:

url :String

图层url地址
Type:
  • String
Inherited From:
Overrides:

zIndex :Number

图层层级(仅在贴地模式下有效,支持线和面)
Type:
  • Number

Methods


addFeatures(features)

添加要素(符合GeoJson规范中的FeatureCollection)
Parameters:
Name Type Description
features String | Object | Array 要素

addTo(map)

将图层添加到图层管理器中
Parameters:
Name Type Description
map Glodon.CIMCube 地图实例
Inherited From:
Overrides:

dispatchEvent(event)

在此事件派发器上派发事件.
Parameters:
Name Type Description
event Object 待派发的事件.
Inherited From:
Overrides:

dispose()

释放资源

enableSpreadEffect(options)

开启扩散特效
Parameters:
Name Type Description
options Object 筛选条件,以下筛选方式三选一
Properties
Name Type Description
spreadCenter Object 扩散特效中心点{lon,lat,height}。
spreadTime Number 扩散特效时长;默认-1,不开启特效
spreadRepeat Boolean 扩散特效是否重复;默认false,不重复特效
spreadGradual Number 扩散特效渐进0~1,默认为0.5;0:边缘更硬,没有任何渐进效果,1:边缘最柔和

flyTo()

摄像机定位到图层

getBoundingSphere()

获取实体包围球
Returns:
实体包围球
Type
Cesium.BoundingSphere

getFeatures()

获取所有要素
Returns:
要素数组
Type
Array.<Feature>

getFields()

获取字段
Returns:
字段数组.
Type
Array

getGeometryType()

获取图层几何类型
Returns:
几何类型
Type
String

getLabelStyle()

获取标注样式
Returns:
标注样式选项
Type
Object

getLegendInfo()

获取图例
Returns:
图例数组.
Type
Array

getParentId()

获取父节点ID
Inherited From:
Overrides:
Returns:
父节点ID
Type
String

getStyle()

获取样式Json

load(data)

加载GeoJSON数据,替换现有数据
Parameters:
Name Type Description
data Object GeoJSON object 数据

queryFeatures(filter)

筛选要素
Parameters:
Name Type Description
filter Object 筛选条件,以下筛选方式三选一
Properties
Name Type Description
id Number 按id筛选,例: var filter = {id:1}
list Array 按id列表筛选,例: var filter = {list: [1, 2, 3, 4, 5]}
filter Object 按属性筛选,例:var filter = {filter: { field: 'name', value: '国有土地', equal: false}}
Returns:
geojson要素集,GeoJsonFeatureCollection具体接口请参考文档
Type
Glodon.CIMCube.Layer.GeoJsonFeatureCollection

removeAll()

移除所有的Entity

removeDragHandle()

在场景中移除操作句柄
Inherited From:
Overrides:

setBlockByField(field [, factor])

通过字段构建体块
Parameters:
Name Type Argument Default Description
field String 字段名称
factor Number <optional>
1 系数

setBlockByValue(blockHeight)

通过高度值构建体块
Parameters:
Name Type Description
blockHeight Number 体块高度

setEntityStyle(entity, style)

设置Entity样式(仅支持单一符号化样式)
Parameters:
Name Type Description
entity Cesium.Entity
style Object

setHeight(height)

设置entity的离地高度
Parameters:
Name Type Description
height Number | undefined 离地高度

setHeightByField(field [, factor])

通过字段设置离地高度
Parameters:
Name Type Argument Default Description
field String 字段名称
factor Number <optional>
1 系数

setLabelAlphaByDistance( [near] [, nearValue] [, far] [, farValue])

设置标注随距离的透明度
Parameters:
Name Type Argument Default Description
near Number <optional>
0.0 相机范围的下限
nearValue Number <optional>
1.0 相机范围的下限值
far Number <optional>
Number.MAX_VALUE 相机范围的上限
farValue Number <optional>
1.0 相机范围的上限值

setLabelHeight(height)

设置的高度随着体块高度去变化
Parameters:
Name Type Description
height Number
Deprecated:
  • This function is deprecated and will be removed in CIMCube.

setLabelOffsetByDistance( [near] [, nearValue] [, far] [, farValue])

设置标注随距离的偏移值
Parameters:
Name Type Argument Default Description
near Number <optional>
0.0 相机范围的下限
nearValue Number <optional>
0.0 相机范围的下限值
far Number <optional>
Number.MAX_VALUE 相机范围的上限
farValue Number <optional>
0.0 相机范围的上限值

setLabelScaleByDistance( [near] [, nearValue] [, far] [, farValue])

设置标注随距离的缩放比
Parameters:
Name Type Argument Default Description
near Number <optional>
0.0 相机范围的下限
nearValue Number <optional>
1.0 相机范围的下限值
far Number <optional>
Number.MAX_VALUE 相机范围的上限
farValue Number <optional>
1.0 相机范围的上限值

setLabelStyle(options)

设置标注样式
Parameters:
Name Type Description
options Object 样式配置参数
Properties
Name Type Argument Default Description
fieldName String 字段名称
font String <optional>
'30px sans-serif' 字体
scale Number <optional>
1.0 比例
style Cesium.LabelStyle <optional>
Cesium.LabelStyle.FILL 字体样式
fillColor String <optional>
'WHITE' 填充颜色
outlineColor String <optional>
'BLACK' 外边框颜色
outlineWidth Number <optional>
1.0 外边框宽度
horizontalOrigin Cesium.HorizontalOrigin <optional>
Cesium.HorizontalOrigin.CENTER 水平对齐方式
verticalOrigin Cesium.VerticalOrigin <optional>
Cesium.VerticalOrigin.BOTTOM 垂直对齐方式
eyeOffset Cesium.Cartesian3 <optional>
new Cesium.Cartesian3(0.0,0.0,0.0) 标注偏移值,单位:米 默认不偏移
pixelOffset Cesium.Cartesian2 <optional>
new Cesium.Cartesian2(0.0,0.0) 标注偏移值,单位:像素 默认不偏移
showBackground Boolean <optional>
false 是否显示背景 默认不显示
backgroundColor String <optional>
rgba(43, 42,42, 0.8) 背景色
disableDepthTest Boolean <optional>
true 是否关闭深度测试,默认开启
placement Glodon.CIMCube.Global.Defines.TextPlacement <optional>
Glodon.CIMCube.Global.Defines.TextPlacement.POINT 文本位置

setLabelVisibleByDistance( [near] [, far])

通过距离控制标注显隐
Parameters:
Name Type Argument Default Description
near Number <optional>
0.0 相机范围的下限值
far Number <optional>
Number.MAX_VALUE 相机范围的上限

setStyle(style)

设置样式Json
Parameters:
Name Type Description
style Object 样式Json,参考:https://cimcube.glodon.com/openservice/user-guide/405?categoryId=2448&origin=homepage

setVisibleByDistance( [near] [, far])

通过距离控制entity显隐
Parameters:
Name Type Argument Default Description
near Number <optional>
0.0
far Number <optional>
Number.MAX_VALUE

Events


ENTITY_CLICK

鼠标点击Entity时触发
Example
layer.on(Glodon.CIMCube.Global.Defines.LayerEventType.ENTITY_CLICK, function (event) {
 console.log(event);
})

ENTITY_MOUSE_ENTER

鼠标进入Entity时触发
Example
layer.on(Glodon.CIMCube.Global.Defines.LayerEventType.ENTITY_MOUSE_ENTER, function (event) {
 console.log(event);
})

ENTITY_MOUSE_LEAVE

鼠标离开Entity时触发
Example
layer.on(Glodon.CIMCube.Global.Defines.LayerEventType.ENTITY_MOUSE_LEAVE, function (event) {
 console.log(event);
})

LOADED

数据加载完成后触发
Example
layer.on(Glodon.CIMCube.Global.Defines.LayerEventType.LOADED, function (event) {
 console.log(event);
})