Appearance
BaseLayer
BaseLayer
基础图层类
注:不可直接实例化,需继承后使用
constructor
构造函数
Parameters
sourceIdstring?
addToMap
添加图层到地图
Parameters
| 参数名 | 必选 | 类型 | 描述 |
|---|---|---|---|
map | 是 | Map | 地图实例 |
before | 否 | string | 图层插入到某个图层之前,before为图层id |
Returns this
removeFromMap
从地图上移除图层
Parameters
| 参数名 | 必选 | 类型 | 描述 |
|---|---|---|---|
map | 否 | Map | 地图实例 |
noSource | 否 | boolean | 是否移除source |
Returns this
getLayerId
获取layer id
Returns string
getSourceData
获取source data
Returns GeoJSONSourceRaw
getSourceId
获取source id
Returns string
addFeature
添加元素到图层,如果元素已存在,则不添加
Parameters
featureBaseFeature
Returns this
addFeatures
添加多个元素到图层
Parameters
featuresArray<BaseFeature>
Returns this
setFeatures
重新添加元素列表到图层,会清空原有元素列表
Parameters
featuresArray<BaseFeature>
Returns this
getFeatures
获取feature,如果不传featureId,则返回所有feature,否则返回指定feature
Parameters
featureIdstring? featureId
Returns (BaseFeature | Array<BaseFeature> | undefined)
clearFeatures
清空元素
Returns this
updateFeature
更新元素
Parameters
| 参数名 | 必选 | 类型 | 描述 |
|---|---|---|---|
featureId | 是 | string | 要素ID |
options | 是 | Partial<O> | 要素选项的部分属性,其中 O 继承自 CommonFeatureOptT |
immediateRender | 否 | boolean | 是否立即渲染 |
Returns this
removeFeature
移除元素
Parameters
| 参数名 | 必选 | 类型 | 描述 |
|---|---|---|---|
featureId | 是 | string | 要素ID |
dontUnbind | 否 | boolean | 是否不解绑Layer |
Returns this
removeFeatures
移除多个元素
Parameters
| 参数名 | 必选 | 类型 | 描述 |
|---|---|---|---|
featureIds | 是 | Array<string> | 要素ID数组 |
dontUnbind | 否 | boolean | 是否不解绑Layer |
Returns this
hasFeature
判断是否包含某个元素
Parameters
featureIdstring
Returns boolean
scaleWithAnimation
带动画缩放
Parameters
| 参数名 | 必选 | 类型 | 描述 |
|---|---|---|---|
duration | 是 | number | 动画持续时间,单位毫秒 |
options | 否 | Object | 动画属性配置 |
options.cubicBezier | 否 | Array<number> | 缓动函数,4个参数:[控制点1x, 控制点1y, 控制点2x, 控制点2y] |
options.onFinished | 否 | Function | 动画结束回调函数 |
options.onProgress | 否 | Function | 动画过程回调函数,参数为动画进度(0-1) |
featureIds | 否 | Array<string> | 指定缩放的元素,不传则缩放所有元素 |
Returns this
fitToBounds
将图层视角调整到最佳显示范围
Parameters
optionFitBoundsOptions?
Returns this
getBounds
获取图层最佳显示范围
Returns LngLatBoundsLike
setPaintProperty
设置图层[Paint](/jsapi/apis/types/Types.html#paint)
Parameters
| 参数名 | 必选 | 类型 | 描述 |
|---|---|---|---|
property | 是 | string | 图层paint属性名称 |
value | 是 | any | 属性值 |
Returns this
setLayoutProperty
设置图层[Layout](/jsapi/apis/types/Types.html#layout)
Parameters
| 参数名 | 必选 | 类型 | 描述 |
|---|---|---|---|
property | 是 | string | 图层layout属性名称 |
value | 是 | any | 属性值 |
Returns this
getPaintProperty
获取图层[Paint](/jsapi/apis/types/Types.html#paint)
Parameters
propertystring
Returns any
getLayoutProperty
获取图层[Layout](/jsapi/apis/types/Types.html#layout)
Parameters
propertystring
Returns any
show
显示图层
Returns this
hide
隐藏图层
Returns this
on
监听鼠标事件
Parameters
| 参数名 | 必选 | 类型 | 描述 |
|---|---|---|---|
type | 是 | T | 事件类型 |
cb | 是 | function (ev: LayerMouseEvent<T>, feature: (Array<F> | F)): void | 事件回调函数,接收事件对象和要素(单个或数组) |
featureId | 否 | string | 指定要素ID |
Returns this
once
监听鼠标事件,只触发一次
Parameters
| 参数名 | 必选 | 类型 | 描述 |
|---|---|---|---|
type | 是 | T | 事件类型 |
cb | 是 | function (ev: LayerMouseEvent<T>, feature: (Array<F> | F)): void | 事件回调函数,接收事件对象和要素(单个或数组),只触发一次 |
featureId | 否 | string | 指定要素ID |
Returns this
off
取消监听鼠标事件
Parameters
| 参数名 | 必选 | 类型 | 描述 |
|---|---|---|---|
type | 是 | T | 事件类型 |
cb | 否 | function (ev: LayerMouseEvent<T>): void | 要取消的事件回调函数 |
Returns this
isAddedToMap
判断是否已经绘制在地图上
Returns boolean
LayerMouseEvent
图层事件类型
Type: LayerMouseEvent
Examples
javascript
type LayerMouseEvent<T extends keyof MapLayerEventType> = MapLayerEventType[T] & EventData