1. ShpLayer
Extends: GeoJsonLayer
1.1. 初始化 new ShpLayer(options)
Shapefile图层,可实现Shapefile(shp)数据的添加、移除、缩放至和显隐等操作,继承自GeoJsonLayer(详细参数和说明请参见GeoJsonLayer类)。
See: GeoJsonLayer
Param | Type | Description |
---|---|---|
options | Object |
包含以下参数的Object对象: |
[options.name] | String |
图层名称; |
[options.show] | Boolean |
是否显示; |
[options.customGroupId] | String |
自定义分组的ID。 |
Example
//通过图层管理类统一创建
let shpLayer = layerManager.createLayer(BOSGeo.LayerType.SHP, 'Shapefile图层',{customGroupId:'vector'});
1.2. 方法
1.2.1. shpLayer.add(options) ⇒ Promise.<GeoJsonDataSource> | undefined
添加Shapefile数据(注意:下述参数中url、name、loaded为通用参数,而marker开头的参数只适用于点要素,其余参数如无特殊说明适用于线和面要素)
Kind: instance method of ShpLayer
Overrides: add
Param | Type | Default | Description |
---|---|---|---|
options | Object |
包含以下参数的Object对象: |
|
options.url | String |
只能是shp文件的Zip压缩包的服务地址url; |
|
[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 |
是否缩放至当前加载的Shapefile对象范围内; |
[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时,面拉伸后颜色字段,来源于Shapefile数据的拉伸颜色字段,可以是 #rrggbb, rgb(), rgba()格式的CSS颜色,设置后会覆盖color和showDynamicColorPolygon的设置; |
|
[options.extrudedHeightField] | String |
当showPolygon=true时,面拉伸高度字段,来源于Shapefile数据的拉伸高度字段; |
|
[options.loaded] | Resource |
用于回调函数中,返回当前获取的json资源。 |
|
[markerSize] | Number |
48 |
点要素图标的大小 |
[markerSymbol] | String |
点要素图标的符号名称,符号名称请参考MAKI |
|
[markerColor] | String |
"#4169E1" |
点要素图标的颜色 |
Example
let params={
url:'https://bosgeo.boswinner.com/geoData/shp/shenzhenShp.zip',
name:'shp1',
zoomToTarget:true,
}
let data = shpLayer.add(params)