PolylineLayer

折线可视化图层,用于在地图上批量绘制 GeoJSON 折线数据,适合线量较大的场景。

几何类型支持 LineString / MultiLineString。支持实线、虚线、纹理贴图 三种渲染模式,见 PolylineLayerOptions。

构造函数

  • 创建折线图层

    参数类型说明
    options 可选PolylineLayerOptions配置项
    属性类型说明
    dashArraynumber[]实线段/间隙的屏幕像素长度,同 SVG stroke-dasharray 口径,奇数个自动翻倍
    dataany初始数据,同 PolylineLayer.setData 的入参
    enablePickedboolean是否开启鼠标交互(命中光标 + 事件派发)
    idKeystring取要素 id 的字段名
    maxZoomnumber最大显示缩放等级
    minZoomnumber最小显示缩放等级
    mouseStyleChangeboolean命中后是否更换鼠标光标
    opacitynumber图层级透明度 [0,1],与线色 alpha、strokeOpacity 相乘
    pickThroughboolean命中后是否继续向下层派发
    pickTolerancenumber命中容差(css px)
    referCenterPoint图层参考中心点,规避大坐标浮点抖动
    renderStageRenderStage绘制阶段,取值见 RenderStage
    strokeColorStyleValue<string>线颜色,css 字符串。 注意:虚线模式(strokeStyle 为 dashed / dotted)下走 uniform 染色,回调不生效
    strokeLineCapStyleValue<"round" | "butt" | "square">线端点样式
    strokeLineJoinStyleValue<"round" | "miter" | "bevel">拐角连接样式。纹理/虚线线不建议用 miter(锐角处会被剪切拉歪)
    strokeOpacitynumber线透明度 [0,1],与线色 alpha、图层级 opacity 相乘
    strokeStyle"solid" | "dashed" | "dotted"线型:solid 实线、dashed 虚线、dotted 点线
    strokeTextureColorstring纹理叠加色(rgb 相乘),仅配了 strokeTextureUrl 时生效
    strokeTextureGapnumber相邻纹理间隔(px),仅 strokeTextureSpaced 为 true 时生效
    strokeTextureHeightnumber原图高(px),同上,不传取图片真实尺寸
    strokeTextureSpacedbooleantrue 按 strokeTextureGap 间隔平铺(箭头串);false 沿线连续拉伸
    strokeTextureUrlstring纹理图片地址,必须是竖图(x 跨线宽、y 沿线方向)。非空时优先级高于 strokeStyle
    strokeTextureWidthnumber原图宽(px),只参与沿线长度换算,不传取图片真实尺寸
    strokeWeightStyleValue<number>线宽(屏幕 px,全宽)。 注意:传回调时,沿线长度换算(虚线圆间距、纹理图案尺寸)仍按默认值 4 计算
    visibleboolean是否显示
    zIndexnumber显示层级,小的先画

    返回值 PolylineLayer

    示例代码1

    const layer = new BMap.PolylineLayer({
    strokeColor: 'rgba(25, 25, 250, 1)',
    strokeWeight: 4,
    referCenter: new BMap.Point(116.404, 39.915)
    });
    layer.setData({
    type: 'FeatureCollection',
    features: [
    {
    type: 'Feature',
    geometry: { type: 'LineString', coordinates: [[116.40, 39.91], [116.42, 39.92]] },
    properties: {}
    }
    ]
    });
    map.addLayer(layer);

事件

  • 添加事件监听(需 enablePicked 为 true)

    参数类型说明
    eventK事件名称
    handler(e: PolylineLayerEventMap[K]) => void事件处理函数

    返回值 void

  • 移除事件监听

    参数类型说明
    eventK事件名称
    handler(e: PolylineLayerEventMap[K]) => void事件处理函数

    返回值 void

拾取

  • 返回值 boolean

  • 命中测试:容器像素坐标 → 命中的要素,未命中返回 null

    参数类型说明
    xnumber容器坐标 x(css px)
    ynumber容器坐标 y(css px)

    返回值 PolylineLayerItem

  • 开关鼠标交互(命中光标 + 事件派发)

    参数类型说明
    enableboolean

    返回值 PolylineLayer

数据

  • 返回原始数据

    返回值 any

  • 设置数据,支持 FeatureCollection / Feature / Feature[] / 裸 Geometry。 几何类型支持 LineString / MultiLineString

    参数类型说明
    geojsonany

    返回值 PolylineLayer

显示属性

  • 返回值 "building" | "poi"

  • 返回值 boolean

  • 返回值 number

  • 参数类型说明
    centerPoint

    返回值 void

  • 参数类型说明
    stage"building" | "poi"

    返回值 void

  • 参数类型说明
    visibleboolean

    返回值 void

  • 参数类型说明
    zIndexnumber

    返回值 void

样式

  • 批量更新样式。仅更新已声明的样式键;opacity / visible / zIndex / renderStage / referCenter / enablePicked 转发到对应 setter,其余未知键忽略并告警一次

    参数类型说明
    optionsPolylineLayerOptions
    属性类型说明
    dashArraynumber[]实线段/间隙的屏幕像素长度,同 SVG stroke-dasharray 口径,奇数个自动翻倍
    dataany初始数据,同 PolylineLayer.setData 的入参
    enablePickedboolean是否开启鼠标交互(命中光标 + 事件派发)
    idKeystring取要素 id 的字段名
    maxZoomnumber最大显示缩放等级
    minZoomnumber最小显示缩放等级
    mouseStyleChangeboolean命中后是否更换鼠标光标
    opacitynumber图层级透明度 [0,1],与线色 alpha、strokeOpacity 相乘
    pickThroughboolean命中后是否继续向下层派发
    pickTolerancenumber命中容差(css px)
    referCenterPoint图层参考中心点,规避大坐标浮点抖动
    renderStageRenderStage绘制阶段,取值见 RenderStage
    strokeColorStyleValue<string>线颜色,css 字符串。 注意:虚线模式(strokeStyle 为 dashed / dotted)下走 uniform 染色,回调不生效
    strokeLineCapStyleValue<"round" | "butt" | "square">线端点样式
    strokeLineJoinStyleValue<"round" | "miter" | "bevel">拐角连接样式。纹理/虚线线不建议用 miter(锐角处会被剪切拉歪)
    strokeOpacitynumber线透明度 [0,1],与线色 alpha、图层级 opacity 相乘
    strokeStyle"solid" | "dashed" | "dotted"线型:solid 实线、dashed 虚线、dotted 点线
    strokeTextureColorstring纹理叠加色(rgb 相乘),仅配了 strokeTextureUrl 时生效
    strokeTextureGapnumber相邻纹理间隔(px),仅 strokeTextureSpaced 为 true 时生效
    strokeTextureHeightnumber原图高(px),同上,不传取图片真实尺寸
    strokeTextureSpacedbooleantrue 按 strokeTextureGap 间隔平铺(箭头串);false 沿线连续拉伸
    strokeTextureUrlstring纹理图片地址,必须是竖图(x 跨线宽、y 沿线方向)。非空时优先级高于 strokeStyle
    strokeTextureWidthnumber原图宽(px),只参与沿线长度换算,不传取图片真实尺寸
    strokeWeightStyleValue<number>线宽(屏幕 px,全宽)。 注意:传回调时,沿线长度换算(虚线圆间距、纹理图案尺寸)仍按默认值 4 计算
    visibleboolean是否显示
    zIndexnumber显示层级,小的先画

    返回值 PolylineLayer