1. GeoJsonLayer

Extends: Layer

1.1. 初始化 new GeoJsonLayer(options)

GeoJSON/TopoJSON数据图层,可实现GeoJSON/TopoJSON数据的添加、移除、缩放至和显隐等操作 (注意: 1.目前仅支持空间参考系标识为EPSG:4326和EPSG:4490的数据; 2.该类适用于小体量的矢量数据的加载,若要加载较大体量的矢量数据请分别使用Pointsymbollayer、AreaLayer和LineLayer的相关批量加载方法; 3.添加GeoJsonLayer后,为避免矢量面状要素出现破碎的情况,默认会关闭地形深度检测。 若添加地形数据后须开启,否则会产生漂移,可通过代码geoMap.scene.globe.depthTestAgainstTerrain=true实现)

Param Type Description
options Object

包含以下参数的Object对象:

[options.name] String

图层名称;

[options.show] Boolean

是否显示;

[options.customGroupId] String

自定义分组的ID。

Example

//通过图层管理类统一创建
let jsonLayer = layerManager.createLayer(BOSGeo.LayerType.GEOJSON, 'GEOJSON123', {customGroupId: 'vector' });

1.2. 属性

属性名 Type Default Description
show Boolean

是否显示图层

color String

颜色,十六进制的颜色字符串

opacity Number

透明度

1.3. 方法

1.3.1. geoJsonLayer.add(jsonParam) ⇒ Promise.<GeoJsonDataSource> | undefined

添加GeoJSON/TopoJSON数据(注意:下述参数中url、name、loaded为通用参数,而marker开头的参数只适用于点要素,其余参数如无特殊说明适用于线和面要素)

Param Type Default Description
options Object

包含以下参数的Object对象:

options.url Resource/String/Object

可以是url、GeoJSON object或者TopoJSON object;

[options.name] String

图形名称;

[options.clampToGround] Boolean false

地形存在时是否贴地。值true时贴地,此时轮廓线设置将不起作用,注记文字label看起来不会有漂移感;值为false时平铺,若有地形,部分面状数据将显示不完整,注记文字label看起来会有漂移感。

[options.opacity] Number 1

填充色不透明度,取值范围[0-1];

[options.stroke] String "#FF0000"

轮廓线的颜色,可以是#rgb, #rrggbb, rgb(), rgba(), hsl(), 或者hsla()格式的CSS颜色;

[options.lineType] String "实线"

线的类型,"分段"-分段线,"发光"-发光线,"实线"-实线(默认值);

[options.glowPower] Number 0.25

发光线的强度值,占线宽的百分比;

[options.zoomToTarget] Boolean false

是否缩放至当前加载的GeoJson对象范围内;

[options.showPolyline] Boolean false

是否添加轮廓线;

[options.strokeWidth] Number 2

showPolyline=true时有效,轮廓线的宽度,单位:像素;

[options.showLabelField] String

添加显示注记字段,默认值为null,即不显示(若设置了该参数,点要素的符号将不会显示);

[options.labelFont] String 'normal 16px MicroSoft YaHei'

注记字体大小和样式;

[options.labelBackgroundColor] String "rgba(42,42,42,0.8)"

注记背景颜色,可以是#rgb, #rrggbb, rgb(), rgba(), hsl(), 或者hsla()格式的CSS颜色;

[options.labelShowBackground] Boolean true

是否显示注记背景;

[options.labelNF] Array.<Number> [0.0,Number.MAX_VALUE]

注记可见的范围,默认所有地球范围可见;

[options.disableDepthTestDistance] Number 1000

label配置,指定从相机到禁用深度测试的距离。开启深度检测后,在指定距离内的图标将不再受深度的影响而显示,当设置为0时表示深度测试一直会起作用,当设置为无穷大时表示深度测试不起效;

[options.nearFar] Number [0.0,Number.MAX_VALUE]

面和线对象可见的范围,默认所有地球范围可见;

[options.show] Boolean true

是否显示,默认为true,即显示;

[options.showPolygon] Boolean false

是否添加多边形,若为false则会将多边形从Entity中移除,同时多边形的label也不会显示;

[options.color] String "#ffffff"

填充色,可以是#rgb, #rrggbb, rgb(), rgba(), hsl(), 或者hsla()格式的CSS颜色;

[options.showDynamicColorPolygon] Boolean false

当showPolygon=true时,是否随机渲染多边形面颜色,对于面数据有效,设置后会覆盖color的设置;

[options.colorField] String

当showPolygon=true时,面拉伸后颜色字段,来源于geojson数据的拉伸颜色字段,可以是 #rrggbb, rgb(), rgba()格式的CSS颜色,设置后会覆盖color和showDynamicColorPolygon的设置(适用于包含多个面要素的矢量数据);

[options.extrudedHeightField] String

当showPolygon=true时,面拉伸高度字段,来源于geojson数据的拉伸高度字段;

[options.loaded] Resource

用于回调函数中,返回当前获取的json资源。

[markerSize] Number 48

点要素图标的大小

[markerSymbol] String

点要素图标的符号名称,符号名称请参考MAKI

[markerColor] String "#4169E1"

点要素图标的颜色

Example

let params={
    url:'https://bosgeo.boswinner.com/geoData/geojson/us_states.topojson',
    name:'json1',
    zoomToTarget:true,
}
let jsonSource = geoJsonLayer.add(params)

1.3.2. geoJsonLayer.getJSONByName(name)

根据名称获取GeoJsonDataSource对象

Param Type Description
name String

对象名称

1.3.3. geoJsonLayer.zoomTo(dataSource)

缩放至geojson

Param Type Description
dataSource DataSource

数据源对象

1.3.4. geoJsonLayer.zoomToLayer()

缩放至图层

1.3.5. geoJsonLayer.zoomToByName(name)

缩放至geojson By name

Param Type Description
name String

数据名

1.3.6. geoJsonLayer.updateImageMaterial(imgUrl)

更新面图形的图片材质

Param Type Description
imgUrl String

图片地址

1.3.7. geoJsonLayer.remove(dataSource)

移除geojson数据

Param Type Description
dataSource DataSource

数据源对象

1.3.8. geoJsonLayer.removeByName(name)

移除geojson数据

Param Type Description
name String

数据名

1.3.9. geoJsonLayer.removeAll()

移除全部json

版权所有@盈嘉互联(北京)科技有限公司 京ICP备15051988号-9 Copyright © 2022 all right reserved,powered by Gitbook该文件修订时间: 2022-08-04 10:21:45

results matching ""

    No results matching ""