矢量图标类,通过 SVG path 字符串或预定义符号常量创建可缩放的矢量图标。 可用作 Marker 的 icon 参数。

预定义符号常量:BMap_Symbol_SHAPE_CIRCLEBMap_Symbol_SHAPE_RECTANGLEBMap_Symbol_SHAPE_RHOMBUSBMap_Symbol_SHAPE_STARBMap_Symbol_SHAPE_BACKWARD_CLOSED_ARROWBMap_Symbol_SHAPE_FORWARD_CLOSED_ARROWBMap_Symbol_SHAPE_BACKWARD_OPEN_ARROWBMap_Symbol_SHAPE_FORWARD_OPEN_ARROWBMap_Symbol_SHAPE_POINTBMap_Symbol_SHAPE_PLANEBMap_Symbol_SHAPE_CAMERABMap_Symbol_SHAPE_WARNINGBMap_Symbol_SHAPE_SMILEBMap_Symbol_SHAPE_CLOCK

构造函数

  • 创建矢量图标实例

    参数类型说明
    pathstringSVG path 字符串或预定义符号常量
    opts 可选SymbolOptions可选样式参数
    属性类型说明
    anchorSize符号的锚点位置,相对于图标自身坐标系
    fillColorstring矢量图标的填充颜色,支持颜色常量字符串、十六进制、RGB、RGBA等格式
    fillOpacitynumber矢量图标填充透明度,取值范围0 - 1
    rotationnumber矢量图标的旋转角度,单位度
    scalenumber矢量图标的缩放比例
    strokeColorstring矢量图标线的填充颜色,支持颜色常量字符串、十六进制、RGB、RGBA等格式
    strokeOpacitynumber矢量图标线的透明度,取值范围0 - 1
    strokeWeightnumber矢量图标线宽,未指定时与 scale 值相同

    返回值 Symbol

    示例代码1

    const symbol = new BMap.Symbol(BMap_Symbol_SHAPE_BACKWARD_CLOSED_ARROW, {
    scale: 5,
    fillColor: '#fff',
    fillOpacity: 0.9,
    strokeColor: '#333',
    });
    const marker = new BMap.Marker(new BMap.Point(116.404, 39.915), { icon: symbol });
    map.addOverlay(marker);

方法

  • 设置矢量图标的锚点,以图标自身坐标系为基准

    参数类型说明
    anchorSize锚点偏移量(单位:像素,以图标中心为原点)

    返回值 void

    示例代码1

    symbol.setAnchor(new BMap.Size(10, 10));
    
  • 设置矢量图标的填充颜色,支持颜色常量字符串、十六进制、RGB、RGBA 等格式

    参数类型说明
    colorstring颜色值

    返回值 void

    示例代码1

    symbol.setFillColor('#0055ff');
    
  • 设置矢量图标填充透明度

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

    返回值 void

    示例代码1

    symbol.setFillOpacity(0.7);
    
  • 设置矢量图标的 path

    参数类型说明
    pathstringSVG path 字符串或预定义符号常量

    返回值 void

    示例代码1:使用预定义符号常量

    symbol.setPath(BMap_Symbol_SHAPE_CIRCLE);
    

    示例代码2:使用自定义 SVG path 字符串

    symbol.setPath('M 0 -10 L 10 10 L -10 10 Z');
    
  • 设置矢量图标的旋转角度

    参数类型说明
    rotationnumber角度,单位度,顺时针方向

    返回值 void

    示例代码1

    symbol.setRotation(45);
    
  • 设置矢量图标的缩放比例

    参数类型说明
    scalenumber缩放比例,默认为 1

    返回值 void

    示例代码1

    symbol.setScale(8);
    
  • 设置矢量图标的描边颜色,支持颜色常量字符串、十六进制、RGB、RGBA 等格式

    参数类型说明
    colorstring颜色值

    返回值 void

    示例代码1

    symbol.setStrokeColor('#ff0000');
    
  • 设置矢量图标描边透明度

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

    返回值 void

    示例代码1

    symbol.setStrokeOpacity(0.3);
    
  • 设置矢量图标的描边宽度

    参数类型说明
    strokeWeightnumber线宽,单位像素

    返回值 void

    示例代码1

    symbol.setStrokeWeight(3);