Extends
Methods
-
add(option, fn)
-
从GeoJSON文件或者url下载链接加载GeoJSON并进行符号化展示
Parameters:
Name Type Description option
object 加载GeoJSON的配置项对象,包含以下属性
-
id (string) 必选,字符串类型唯一id
-
url (string) 二选一,GeoJSON文件本地磁盘路径或者对应的url地址
-
sourceJson (Object) 二选一,GeoJSON标准对象(JsonObject)
-
visible (boolean) 可选,设置图层加载后是否显示,默认:true
-
rotation (array) 旋转:[Pitch,Yaw,Roll],数组元素类型:(number),取值范围:[任意数值]
-
offset (array) 可选,基于原始位置的偏移量,默认值:[0,0,0]
-
range (array) 点的可视范围: [近裁距离, 远裁距离],默认值: [0, 10000],注意:此参数仅对point类型的GeoJSON生效
-
viewHeightRange (array) 可见高度范围:[最小可见高度, 远最大可见高度],默认值: [-1000000000, 1000000000]
-
needProject (boolean) 可选,是否进行投影转换,默认:true
-
textMarkerField (string) 可选,使用Geojson的属性字段显示文字标注
-
textRange (array) 可选,文字标注的可视范围: [近裁距离, 远裁距离],单位:米
-
onTerrain (boolean) 可选,设置图层加载后是否贴地,默认:false
-
collision (boolean) 是否开启碰撞,默认值:true
-
renderer (object) 必选,渲染器配置对象参数如下:
style
Polygon3DStyle
仅对Polygon3D渲染生效,设置Polygon3D的样式material (string) 可选参数,自定义材质路径,即资源库PAK文件里材质文件的路径,设置自定义材质参数后style相关参数会失效
scalarParameters (array) 可选参数,仅在设置自定义材质路径后生效,自定义材质数值类型参数,包含name/value键值对的数组,其中value为数值,格式示例:[{"name":"不透明度","value":0.5},{"name":"UV重复","value":1.0}]
vectorParameters (array) 可选参数,仅在设置自定义材质路径后生效,自定义材质矢量类型参数,包含name/value键值对的数组,其中value为数组,格式示例:[{"name":"color1","value":[1,1,1,1]},{"name":"color2","value":[1,0,0,1]}]
rendererType (
RendererType
) 渲染器类型,包含三种:简单渲染器、唯一值渲染器、分类渲染器type (
VisualType
) 控制显示的可视化类型枚举field (string) GeoJSON文件内的属性字段名称
fieldType (
FieldType
) GeoJSON文件内的属性字段类型,枚举支持数值类型和字符串类型gradient (boolean) 颜色是否渐变
defaultSymbol (object) 必选,默认符号化配置参数如下:
symbolType (number) 符号化类型,0 simple-marker圆形点填充 1 simple-line线填充(注意:目前仅支持1px的线宽) 2 simple-fill面填充 3 polygon3d填充
size (number) 可选,点的默认尺寸,仅针对simple-marker圆形填充生效;
height (number) 可选,polygon3d的默认高度,仅针对polygon3d填充生效;
color (array) 默认填充颜色
outline (object) 默认轮廓线,包含线宽和颜色,注意:目前仅支持1px的线宽。对象结构示例:{width: 1,color: [1, 1, 1, 1]}
uniqueValueInfos (array) 可选,唯一值渲染器配置数组,对象结构如下:
value (any) field字段对应值
symbol (object) 各唯一值对应的符号化配置对象,结构如下:
color (Color) 可选,三选一,唯一值对应的颜色
size (number) 可选,三选一,唯一值对应的尺寸
height (number) 可选,三选一,唯一值对应的高度
classBreakInfos (array) 可选,分类渲染器配置数组,对象结构如下:
minValue (number) 区间最小值
maxValue (number) 区间最大值
symbol (object) 不同分类的符号化配置对象,结构如下:
color (Color) 可选,二选一,区间值对应的颜色
size (number) 可选,二选一,区间值对应的尺寸
height (number) 可选,三选一,区间值对应的高度
visualVariables (array) 简单渲染器支持根据字段属性控制颜色、尺寸和透明度的显示,参数如下:
type (
VisualType
) 控制显示的可视化类型枚举field (string) GeoJSON文件内的属性字段名称
fieldType (
FieldType
) GeoJSON文件内的属性字段类型,枚举支持数值类型和字符串类型 -
visibleRenderer (object) 可选,要素可见性渲染器配置对象,包含的参数结构如下:
rendererType (
RendererType
) 渲染器类型:可见性渲染器field (string) GeoJSON文件内的属性字段名称
fieldType (
FieldType
) GeoJSON文件内的属性字段类型,枚举支持数值类型和字符串类型defaultVisible (boolean) 全局要素默认是否可见,默认值:true 可见
visibleValueInfos (array) 可选,分类渲染器配置数组,对象结构如下:
value (any) 可选,field字段对应值
minValue (number) 可选,区间最小值,注意:数值类型字段可以使用此属性
maxValue (number) 可选,区间最大值,注意:数值类型字段可以使用此属性
visible (boolean) 必选,根据字段值或区间控制要素块是否显隐
fn
function 可选的回调函数,请参考二次开发:异步接口调用方式
Example
请求参数示例 //简单渲染器 let simpleRenderer = { //渲染器类型 rendererType: RendererType.SimpleRenderer, //默认符号化配置 defaultSymbol: { //符号化类型枚举:0 simple-marker圆形点填充 1 simple-line线填充 2 simple-fill面填充 3 polygon3d填充 symbolType: 3, //默认高度 height: 10, //默认填充颜色 color: [0, 0, 1, 1], //默认轮廓线 outline: { //线宽 width: 1, //颜色 color: [1, 1, 1, 1], } }, //简单渲染器支持根据字段属性控制颜色、尺寸和透明度的显示 visualVariables: [{ //控制可视化显示的类型: 颜色color、尺寸size、高度height和不透明度opacity type: VisualType.Height, //属性字段名称 field: "hight", //属性字段类型 fieldType: FieldType.Number, }] }; //唯一值渲染器 let uniqueValueRenderer = { //渲染器类型 rendererType: RendererType.UniqueValueRenderer, //渲染字段名称 field: "name", //属性字段类型 fieldType: FieldType.String, //控制可视化显示的类型: 颜色color、尺寸size、高度height和不透明度opacity type: VisualType.Color, //默认符号化配置 defaultSymbol: { //符号化类型枚举:0 simple-marker圆形点填充 1 simple-line线填充 2 simple-fill面填充 3 polygon3d填充 symbolType: 2, //填充色 color: [0, 1, 1, 1], //轮廓线 outline: { //线宽 width: 1, //颜色 color: [1, 1, 1, 1] }, }, //根据颜色字段的唯一值进行符号化填充 uniqueValueInfos: [{ // 深圳湾体育馆填充为蓝色 value: "深圳湾体育馆", symbol: { //填充色 color: [0, 0, 1, 1] } }, { // 北京师大南山附属学校小学部填充为红色 value: "北京师大南山附属学校小学部", symbol: { color: [1, 0, 0, 1] } }, { // 腾讯滨海大厦填充为绿色 value: "腾讯滨海大厦", symbol: { color: [0, 1, 0, 1] } }, { // 科技第三幼儿园填充为黄色 value: "科技第三幼儿园", symbol: { color: [1, 1, 0, 1] } }] }; //分类渲染对应颜色 let less25 = { color: [0,0,1,1] }; let less50 = { color: [0,1,0,1] }; let less75 = { color: [1,1,0,1] }; let less100 = { color: [1,0,0,1] }; //分类渲染器 let classBreaksRenderer = { rendererType: RendererType.ClassBreaksRenderer, field: "hight", //属性字段类型 fieldType: FieldType.Number, //控制可视化显示的类型: 颜色color、尺寸size、高度height和不透明度opacity type: VisualType.Color, //默认符号化配置 defaultSymbol: { //符号化类型枚举:0 simple-marker圆形点填充 1 simple-line线填充 2 simple-fill面填充 3 polygon3d填充 symbolType: 2, //填充色 color: [0, 1, 1, 1], //轮廓线 outline: { //线宽 width: 1, //颜色 color: [1, 1, 1, 1] }, }, //根据hight字段的不同区间值使用不同的符号化配置 classBreakInfos: [ { minValue: 0, maxValue: 25, symbol: less25 }, { minValue: 25, maxValue: 50, symbol: less50 }, { minValue: 50, maxValue: 75, symbol: less75 }, { minValue: 75, maxValue: 100, symbol: less100 } ] };
-
-
clear(fn)
-
清空场景中所有的GeoJSONLayer图层对象
Parameters:
Name Type Description fn
function 可选的回调函数,请参考二次开发:异步接口调用方式
-
delete(ids, fn)
-
删除一个或多个GeoJSONLayer图层对象
Parameters:
Name Type Description ids
string | array 要删除的GeoJSONLayer对象的ID或者ID数组(可以删除一个或者多个)
fn
function 可选的回调函数,请参考二次开发:异步接口调用方式
-
focus(ids, distance, flyTime, rotation, fn)
-
自动定位到GeoJSONLayer图层对象
Parameters:
Name Type Description ids
string | array GeoJSONLayer图层对象的ID或者ID数组
distance
number 可选参数,观察点距离目标点(被拍摄物体)的距离,取值范围:[0.01~任意正数],如果设置为0或者不设置,系统自动计算
flyTime
number 可选参数,相机飞行的时间,取值范围:[0~任意正数],单位:秒,默认值2秒
rotation
array 可选参数,相机旋转的欧拉角:[Pitch,Yaw,Roll],数组元素类型:(number),取值范围:Pitch[-90~90] Yaw[-180~180] Roll[0]
fn
function 可选的回调函数,请参考二次开发:异步接口调用方式
-
focusFeature(id, featureId, distance, flyTime, rotation, fn)
-
定位到GeoJSONLayer图层的某一块要素区域
Parameters:
Name Type Description id
string GeoJSONLayer图层对象的ID
featureId
number 要素区域Feature的ID
distance
number 可选参数,观察点距离目标点(被拍摄物体)的距离,取值范围:[0.01~任意正数],如果设置为0或者不设置,系统自动计算
flyTime
number 可选参数,相机飞行的时间,取值范围:[0~任意正数],单位:秒,默认值2秒
rotation
array 可选参数,相机旋转的欧拉角:[Pitch,Yaw,Roll],数组元素类型:(number),取值范围:Pitch[-90~90] Yaw[-180~180] Roll[0]
fn
function 可选的回调函数,请参考二次开发:异步接口调用方式
-
hide(ids, fn)
-
隐藏一个或多个GeoJSONLayer图层对象
Parameters:
Name Type Description ids
string | array GeoJSONLayer对象的ID或者ID数组
fn
function 可选的回调函数,请参考二次开发:异步接口调用方式
-
highlightFeature(id, featureId, fn)
-
高亮GeoJSONLayer图层对象内部的某一块要素区域
Parameters:
Name Type Description id
string GeoJSONLayer图层对象的ID
featureId
number GeoJSONLayer图层对象内部的要素区域ID
fn
function 可选的回调函数,请参考二次开发:异步接口调用方式
-
highlightFeatures(data, fn)
-
高亮GeoJSONLayer图层对象内部的多块要素区域
Parameters:
Name Type Description data
object | array 数据结构,支持对象或数组,对于每一个对象支持以下属性:
-
id (string) GeoJSONLayer图层对象的ID
-
featureIds (array) GeoJSONLayer图层对象内部的要素区域ID,数组元素类型为number
fn
function 可选的回调函数,请参考二次开发:异步接口调用方式
-
-
setViewHeightRange(id, minViewHeight, maxViewHeight, fn)
-
设置GeoJSONLayer对象的可视高度范围,注意:当GeoJSONLayer使用贴地模式时,此方法会失效
Parameters:
Name Type Description id
string GeoJSONLayer对象的ID
minViewHeight
number 可视高度范围最小值,取值范围:[任意负数~任意正数],单位:米
maxViewHeight
number 可视高度范围最大值,取值范围:[任意负数~任意正数],单位:米
fn
function 可选的回调函数,请参考二次开发:异步接口调用方式
-
show(ids, fn)
-
显示一个或多个GeoJSONLayer图层对象
Parameters:
Name Type Description ids
string | array GeoJSONLayer对象的ID或者ID数组
fn
function 可选的回调函数,请参考二次开发:异步接口调用方式
-
stopAllHighlightFeaturesById(ids, fn)
-
取消高亮一个或者多个GeoJSONLayer图层的所有高亮要素区域
Parameters:
Name Type Description ids
string | array GeoJSONLayer图层对象的ID或ID数组
fn
function 可选的回调函数,请参考二次开发:异步接口调用方式
-
stopHighlightFeature(id, featureId, fn)
-
取消高亮GeoJSONLayer图层对象内部的某一块要素区域
Parameters:
Name Type Description id
string GeoJSONLayer图层对象的ID
featureId
number GeoJSONLayer图层对象内部的要素区域ID
fn
function 可选的回调函数,请参考二次开发:异步接口调用方式
-
stopHighlightFeatures(data, fn)
-
取消高亮GeoJSONLayer图层对象内部的多块要素区域
Parameters:
Name Type Description data
object | array 数据结构,支持对象或数组,对于每一个对象支持以下属性:
-
id (string) GeoJSONLayer图层对象的ID
-
featureIds (array) GeoJSONLayer图层对象内部的要素区域ID,数组元素类型为number
fn
function 可选的回调函数,请参考二次开发:异步接口调用方式
-
-
update(option, fn)
-
更新GeoJSONLayer图层对象的符号化显示效果
Parameters:
Name Type Description option
object 加载GeoJSON的配置项对象,结构参考add()方法
fn
function 可选的回调函数,请参考二次开发:异步接口调用方式
-
updateBegin()
-
用于批量多次修改对象的属性
在开始修改之前调用updateBegin,然后可以多次调用setXXX方法,最后调用updateEnd提交修改更新数据
注意:
updateBegin不是异步调用,不需要await,也没有回调函数参数- Inherited From:
- Overrides:
Example
fdapi.xxx.updateBegin(); for (let i = 0; i < 1000; i++) { fdapi.xxx.setColor(i, Color.Yellow); } fdapi.xxx.updateEnd(function () { log('update finished!'); });
-
updateEnd(fn)
-
用于批量多次修改对象的属性,与updateBegin配套使用
注意:
updateEnd是异步调用,可以用回调函数也可以awaitParameters:
Name Type Description fn
function 可选的回调函数,请参考二次开发:异步接口调用方式
- Inherited From:
- Overrides: