此类表示一个棱柱覆盖物。

构造函数

  • 创建棱柱覆盖物对象

    参数类型说明
    pointsPoint[] | Point[][]底面多边形的坐标点数组或多个坐标点数组
    altitudenumber棱柱高度,单位为米
    opts 可选PrismOptions可选参数
    属性类型说明
    enableClickingboolean是否响应点击事件
    enableMassClearboolean是否在调用 map.clearOverlays() 时清除此覆盖物
    sideFillColorstring侧面填充颜色,合法的 CSS 颜色值,传入空字符串时侧面无填充效果
    sideFillOpacitynumber侧面填充透明度,取值范围0 - 1
    topFillColorstring顶面填充颜色,合法的 CSS 颜色值,传入空字符串时顶面无填充效果
    topFillOpacitynumber顶面填充透明度,取值范围0 - 1
    zIndexnumber覆盖物的初始层叠顺序,也可在实例上通过 setZIndex() 方法修改

    返回值 Prism

    示例代码1

    const prism = new BMap.Prism(
    [
    new BMap.Point(116.387112, 39.920977),
    new BMap.Point(116.385243, 39.913063),
    new BMap.Point(116.394226, 39.917988),
    ],
    500,
    { topFillColor: '#4682b4', sideFillColor: '#87ceeb' }
    );
    map.addOverlay(prism);

方法

  • 添加事件监听函数

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

    返回值 void

    示例代码1

    prism.addEventListener('click', (e) => {
    console.log('prism clicked', e);
    });
  • 禁止覆盖物在 map.clearOverlays() 方法中被清除

    返回值 void

  • 抽象生命周期方法,当地图状态发生变化时调用,对覆盖物进行绘制。

    仅在自定义覆盖物时需要实现此方法。内置覆盖物已在内部实现,用户无需调用也无需重写。

    返回值 void

  • 允许覆盖物在 map.clearOverlays() 方法中被清除

    返回值 void

  • 返回棱柱高度,单位为米

    返回值 number

  • 返回覆盖物的地理区域范围

    返回值 Bounds

  • 返回覆盖物所在的地图实例

    返回值 Map

  • 返回创建或设置棱柱时传入的底面路径。使用多坐标串创建时返回嵌套的坐标点数组

    返回值 Point[] | Point[][]

  • 返回棱柱侧面填充颜色

    返回值 string

  • 返回棱柱侧面透明度

    返回值 number

  • 返回棱柱顶面填充颜色

    返回值 string

  • 返回棱柱顶面透明度

    返回值 number

  • 隐藏覆盖物。对于自定义覆盖物,此方法会自动将initialize方法返回的HTML元素样式的display属性设置为none

    返回值 void

  • 抽象生命周期方法,用于初始化覆盖物,当调用map.addOverlay时,API内部将调用此方法。

    仅在自定义覆盖物时需要实现此方法,并返回覆盖物对应的HTML元素。 内置覆盖物(MarkerPolylinePolygon 等)已在内部实现,用户无需调用也无需重写。

    参数类型说明
    mapMap

    返回值 HTMLElement

    示例代码2

    class MyOverlay extends BMap.Overlay {
    initialize(map: BMap.Map) {
    const div = document.createElement('div');
    div.textContent = '自定义覆盖物';
    map.getPanes().markerPane.appendChild(div);
    return div;
    }
    draw() {}
    }
  • 判断覆盖物是否可见

    返回值 boolean

  • 移除事件监听函数

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

    返回值 void

    示例代码3

    const handler = (e: any) => { console.log(e); };
    prism.addEventListener('click', handler);
    prism.removeEventListener('click', handler);
  • 设置棱柱高度

    参数类型说明
    altitudenumber高度,单位为米

    返回值 void

    示例代码1

    prism.setAltitude(800);
    
  • 设置底面多边形的坐标点数组

    参数类型说明
    pathPoint[]坐标点数组

    返回值 void

    示例代码1

    prism.setPath([
    new BMap.Point(116.387, 39.921),
    new BMap.Point(116.385, 39.913),
    new BMap.Point(116.394, 39.918),
    ]);
  • 设置棱柱侧面填充颜色

    参数类型说明
    colorstring颜色值,格式为 '#xxxxxx'

    返回值 void

    示例代码1

    prism.setSideFillColor('#87ceeb');
    
  • 设置棱柱侧面透明度

    参数类型说明
    opacitynumber透明度,取值范围0 - 1

    返回值 void

    示例代码1

    prism.setSideFillOpacity(0.6);
    
  • 设置棱柱顶面填充颜色

    参数类型说明
    colorstring颜色值,格式为 '#xxxxxx'

    返回值 void

    示例代码1

    prism.setTopFillColor('#4682b4');
    
  • 设置棱柱顶面透明度

    参数类型说明
    opacitynumber透明度,取值范围0 - 1

    返回值 void

    示例代码1

    prism.setTopFillOpacity(0.8);
    
  • 设置覆盖物的 zIndex

    参数类型说明
    zIndexnumber层叠顺序值

    返回值 void

  • 显示覆盖物。对于自定义覆盖物,此方法会自动将initialize方法返回的HTML元素样式的display属性设置为空

    返回值 void