此类表示地图上的圆形覆盖物。

构造函数

  • 创建圆形覆盖物对象

    参数类型说明
    centerPoint圆心坐标
    radiusnumber半径,单位为米
    opts 可选CircleOptions可选参数
    属性类型说明
    coordType"BMAP_COORD_BD09" | "BMAP_COORD_GCJ02" | "BMAP_COORD_WGS84"输入坐标的坐标类型。未设置时使用全局 BMap.coordType。
    dashArraynumber[]虚线样式配置,如 [8, 4] 表示实线部分长8像素、间隙部分长4像素。
    enableClickingboolean是否响应点击事件
    enableEditingboolean是否启用编辑功能
    enableMassClearboolean是否在调用 map.clearOverlays() 时清除此覆盖物
    fillColorstring填充颜色,格式为 '#xxxxxx',传入空字符串时无填充效果,默认跟随主题色(CSS 变量 --bmap-color-primary-bg,缺省为 '#eaf1ff')
    fillOpacitynumber填充透明度,取值范围0 - 1,默认值为 0.6
    strokeColorstring边线颜色,格式为 '#xxxxxx',默认跟随主题色(CSS 变量 --bmap-color-primary,缺省为 '#1677ff')
    strokeOpacitynumber边线透明度,取值范围0 - 1,默认值为 1
    strokeStyle"solid" | "dashed" | "dotted"边线样式
    strokeWeightnumber边线宽度,以像素为单位,默认值为 2
    zIndexnumber覆盖物的初始层叠顺序,也可在实例上通过 setZIndex() 方法修改

    返回值 Circle

    示例代码1

    const circle = new BMap.Circle(new BMap.Point(116.404, 39.915), 1000);
    map.addOverlay(circle);

    示例代码2:自定义样式

    const circle = new BMap.Circle(
    new BMap.Point(116.404, 39.915),
    1000,
    { strokeColor: '#0055ff', fillColor: '#0055ff', fillOpacity: 0.2 }
    );
    map.addOverlay(circle);

方法

  • 添加事件监听函数

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

    返回值 void

    示例代码1

    circle.addEventListener('click', (e) => {
    console.log('circle clicked', e);
    });
  • 关闭编辑功能

    返回值 void

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

    返回值 void

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

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

    返回值 void

  • 开启编辑功能

    返回值 void

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

    返回值 void

  • 返回圆形的地理区域范围

    返回值 Bounds

  • 返回圆形的中心点坐标

    返回值 Point

  • 返回圆形的填充颜色

    返回值 string

  • 返回圆形填充透明度

    返回值 number

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

    返回值 Map

  • 返回圆形的半径,单位为米

    返回值 number

  • 返回圆形的边线颜色

    返回值 string

  • 返回圆形边线透明度

    返回值 number

  • 返回圆形边线样式

    返回值 "solid" | "dashed" | "dotted"

  • 返回圆形边线宽度

    返回值 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: CircleEventMap[K]) => void事件处理函数

    返回值 void

    示例代码3

    const handler = (e: any) => { console.log(e); };
    circle.addEventListener('click', handler);
    circle.removeEventListener('click', handler);
  • 设置圆形的中心点坐标

    参数类型说明
    centerPoint中心点坐标

    返回值 void

    示例代码1

    circle.setCenter(new BMap.Point(116.410, 39.920));
    
  • 设置圆形的填充颜色,传入空字符串时无填充效果

    参数类型说明
    colorstring颜色值,合法的CSS颜色值

    返回值 void

    示例代码1

    circle.setFillColor('#0055ff');
    
  • 设置圆形填充透明度

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

    返回值 void

    示例代码1

    circle.setFillOpacity(0.3);
    
  • 设置圆形的半径

    参数类型说明
    radiusnumber半径,单位为米

    返回值 void

    示例代码1

    circle.setRadius(2000);
    
  • 设置圆形的边线颜色

    参数类型说明
    colorstring颜色值,合法的CSS颜色值

    返回值 void

    示例代码1

    circle.setStrokeColor('#ff0000');
    
  • 设置圆形边线透明度

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

    返回值 void

    示例代码1

    circle.setStrokeOpacity(0.6);
    
  • 设置圆形边线样式

    参数类型说明
    style"solid" | "dashed" | "dotted"线样式

    返回值 void

    示例代码1

    circle.setStrokeStyle('dashed');
    
  • 设置圆形边线宽度

    参数类型说明
    weightnumber线宽,单位像素,须为大于等于1的整数

    返回值 void

    示例代码1

    circle.setStrokeWeight(3);
    
  • 设置覆盖物的 zIndex

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

    返回值 void

    示例代码1

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

    返回值 void