layer~FGBPointLayer(options, onloaded)

一种基于二进制流式数据的点状矢量图层,相对于普通的的矢量图层(VectorLayer),该图层有以下特点:
1.图层中的数据来源于空间信息服务平台发布的FlatGeoBuffer服务,且服务内容为点状地理要素。
2.数据以二进制编码,全程采用流式技术传输,地图渲染库可以边接受数据边渲染。
3.该图层能够解析渲染的数据量更大、更平滑顺畅、渲染性能更高。
4.图层样式设置简单清晰。

Summary

Methods:
setStyle

设置样式,重新设置需要等数据加载完成后调用

Constructor

new FGBPointLayer(options, onloaded)

构造函数

Parameters:
Name Type Description
options Object

初始化参数,一个JSON对象。

Name Type Description
url String

服务地址。该服务基于空间信息服务平台中点状矢量数据集发布,服务标准为FlatGeobuffer。

visible Boolean

图层叠加到地图后的可见性,为true表示可见,为false时表示不可见。

style Object

图层样式,包含图标样式与文本注记样式。此参数不传,则按默认样式进行渲染。

Name Type Description
icon Object

图标样式

Name Type Description
pattern string

图标地址。

size Array.<Number>

图标大小,一个包含宽度与高度的数组[X,Y],X表示宽度,Y表示高度,单位是像素。

offset Array.<Number>

在屏幕坐标下的偏移量,一个包含宽度与高度的数组。[X,Y],X表示向右偏移,Y表示向上偏移,单位是像素。 一个包含宽度与高度的数组。例:[32,18]。

rotate Number

旋转角度,逆时针为正,默认为0。

opacity Number

不透明度,取值范围[0~1],值越大表示越不透明,0表示完全透明。

label Object

文本样式

Name Type Description
field String

要显示的文字内容。如果要根据要素中属性字段名确定内容,请使用‘{name}’这种格式定义,name为字段名。如果文字内容包含换行符'\n',将依据换行符进行换行;如果不包含换行符,则依据参数rowTextCount进行换行。

offset Array.<Number>

在屏幕坐标下的偏移量,一个包含宽度与高度的数组,[X,Y],X表示向右偏移,Y表示向上偏移,单位是像素。

fontColor Array.<Number>

字体颜色,用数组[R,G,B,A]来表示。

fontSize Number

文字大小,单位像素。

fontFace String

字体族

fontWeight String

字体粗细

fontStyle String

字体样式

haloColor Array.<Number>

描边颜色,用数组[R,G,B,A]来表示。

haloWidth Number

描边宽度,单位是像素。

clampToGround Boolean

是否贴地形绘制,默认为false,如果开启,需要再指定三维基础图层,图层中的要素会贴三维基础图层绘制。矢量图层中的点要素会在自身高度的基础上,再追加地形高度,如果点要素需要完全贴地形,需要将原始点位的z值设置为0。

onloaded function | undefined

因为读取流是异步的过程,这里增加读取完成后回调

Example
let options = {
     //实际url地址请到空间信息服务平台4.0及以上版本中发布FlatGeoBuffer服务。
     url:"https://localhost/hmappublish/service/rs/v1/vectorfeature/flatgeobuf/ordinary_city_fgb"
     style:{
         icon:{
             offset: [0, 0],
             size: [32, 32],
             pattern: "../public/imgs/marker.png",
             rotate:60,
             opacity:1,

         },
         label:{
             field:"{name}"  //标注字段
             offset: [0, 0],
             fontColor:[255,0,0,1],
             fontSize:32,
             fontFace:"楷体",    //必须是浏览器支持的字体类型
             fontWeight:"normal",//支持'normal','bold','bolder'或数字
             fontStyle:'normal',//支持'normal','italic','oblique'
             haloColor:[0,255,0,1],
             haloWidth:2,   //描边宽度,像素单位
         }
     }
};

let fgblayer = new hmap.layer.FGBPointLayer(options);
map.addLayer(fgblayer);//将图层加到地图上

Members

clampToGround

设置贴地状态

Overrides:

Methods

setStyle(style)

设置样式,重新设置需要等数据加载完成后调用

Parameters:
Name Type Description
style Object

点样式,具体格式参考图层初始化style参数。