# WFS 图层(WFSLayer)

WFS 图层用于展示 WFS 规格的地图要素服务。

地图倾斜后的数据加载逻辑

WFS 图层的实现原理是:每拖动一次地图,就根据屏幕范围对应的 bbox 向后台请求数据。这样会存在一个问题:

在 V2 版的地图 SDK 中,地图可以倾斜到至多 85°,当地图以大倾角显示时,实际显示的范围非常远,如果真的去请求这么大的范围,WFS服务所返回的数据量可能会很大。

即使是限制每次请求的数据量,也很难保证这些数据最终在屏幕上的分布。所以,在大倾角情况下,为了优化 WFS 图层的显示效果,将只显示屏幕下半部分的区域的数据。

new aimap.WFSLayer(layerOptions: Object)
1

# 初始化参数

# LayerOptions参数说明

字段名 类型 说明
id string 默认值为${type}.${uuid},该值不允许重复。
map Map 地图对象,如果设置,该图层会自动加载到地图中,如果未设置,需要手动加载图层:addTo(map)
zIndex number 图层在地图中所属的垂直方向的位置索引,默认为 0。
minZoom number 能显示的最小的zoom level,默认 3。
maxZoom number 能显示的最大的zoom level(但不包括这个Level),默认20。
data必须 Data 支持 WFS 规格的栅格瓦片图层服务,具体参见:WFS规格定义
dataOptions DataOptions 数据源的其他配置项,包括数据源的级别范围,额外的处理流程等。具体参见:DataOptions 配置
style Style 本图层支持的样式与WFS服务对应的数据格式有关,包括:
点数据:
- 圆点样式(Circle)
- 文字样式(Text)
- 图标样式(Icon)
- 文本和图标通用样式(Symbol)
线数据:
- 线样式(Line)
面数据:
- 填充样式(Fill)
- 线样式(Line)

# 示例

map.on("load", function () {
    layer = new aimap.WFSLayer({
        map,
        data: "你的WFS服务链接",
        style: {
            'circle-radius': 5,
            'circle-color': 'yellow'
        },
    });
});
1
2
3
4
5
6
7
8
9
10

# 实例变量

# id

此图层的 id,如果在初始化图层的参数中指定,则为参数中的 id,否则 SDK 内部会自动生成一个 id。

# 示例

var wfsLayer = new aimap.WMSLayer({...});
console.log(wmsLayer.id); // "wfs.9db79b01-f3c0-4da6-a36a-b4d5827c4e37"
1
2

# type

此图层的类型,对于本图层, type 为固定值:wfs

# 示例

var wfsLayer = new aimap.WFSLayer({...});
console.log(wfsLayer.type); // "wfs"
1
2

# 实例方法

addTo(map)

如果在初始化图层时,没有传入地图对象参数,则需要使用此方法来将图层添加到地图上。

参数

map(Map):需要添加本图层的地图对象。

返回值

WFSLayer:this

remove()

将本图层从地图中移除,并销毁相关的资源。

返回值

WFSLayer:this

show()

显示该图层。

返回值

WFSLayer:this

hide()

隐藏该图层。

返回值

WFSLayer:this

setzIndex(zIndex, options?)

设置图层在 z 轴上的顺序。数值越大,层级越高。

参数

zIndex(number | String):大于 0 的整数或者表示地图初始化样式中自带的图层 id。

options(SetzIndexOptions):设置层级的更多参数,具体参见:SetzIndexOptions 配置

返回值

WFSLayer:this

setStyle(style, options?)

增量更新图层的样式。

参数

style(style):样式对象,这些样式将增量更新到图层已有的样式上,支持的样式与当前图层一致。

options(SetStyleOptions):设置新样式的其他配置项,具体参见:SetStyleOptions 配置

返回值

WFSLayer:this

setData(data, options?)

重新指定数据,原有的数据会被清除掉。

参数

data(Data):与 layeroptions参数说明 中的Data字段定义一致。

options(SetDataOptions):指定新数据源的其他配置项,具体参见:SetDataOptions 配置

返回值

WFSLayer:this

setPopup(popup, options)

为图层设置弹窗对象。

参数

popup(Popup | string):Popup对象,或者弹窗中想要显示的内容文本。 options(Options):弹窗的配置项,具体参见:Popup 配置

返回值

WFSLayer:this

getPopup()

获取图层的弹窗对象,如果没有调用过 setPopup 接口,将返回null

返回值

Popup:图层的弹窗对象。

togglePopup()

切换弹窗的显示,隐藏效果。

返回值

WFSLayer:this

on(type, listener)

为图层绑定事件监听。

参数

type(string):事件类型,支持的事件类型可参考 图层事件

listener(Function):如果此处使用匿名函数,则后续将无法解绑。

返回值

WFSLayer:this

once(type, listener)

为图层绑定事件监听,事件只会响应一次。

参数

type(string):事件类型,支持的事件类型可参考 图层事件

listener(Function):如果此处使用匿名函数,则后续将无法解绑。

返回值

WFSLayer:this

off(type, listener)

解除已绑定事件监听。

参数

type(string):事件类型,支持的事件类型可参考 图层事件

listener(Function):通过 on 或者 once 绑定的事件对象。

返回值

WFSLayer:this

# 图层事件

mousedown

当鼠标点击图层时触发。

mouseup

当鼠标在图层中松开时触发。

click

当鼠标在图层同一点处点击并松开时触发。

dblclick

当鼠标双击图层同一点时触发。

mousemove

当鼠标在图层中移动时触发。

mouseenter

当鼠标从某一图层外部或地图画布外部进入当前图层的可见部分时触发。

mouseleave

当鼠标离开当前图层的可见部分时触发。

最后更新于: 4/15/2022, 4:49:32 PM