Skip to content

Symbol 类

此类表示 canvas 画布创建的图标。

构造函数

构造函数描述
Symbol(size: Size, anchor: Size)创建一个 canvas 图标实例。size 为图像的大小,anchor 为锚点位置,默认为 size 的中心点

属性

属性类型描述
isReDrawboolean是否启动循环渲染,需要保证 size 纹理大小不发生变化。需要在初始化时就需要设置 true,后续可以设置 falsetrue。如果初始化的时候不想动画,可以在 add 方法中设置 false
dataImageData图标数据,通过更新这个值,来改变展示的图标
overlayOverlay可读。在添加到地图后可以调用

方法

方法返回值描述
add()none添加覆盖物时,触发此方法
render(map: Map)boolean渲染覆盖物时,触发此方法
remove()none删除覆盖物时,触发此方法
update()none触发一次渲染,isReDrawtrue 时不需要使用此方法

示例

javascript
// 创建 Symbol 实例
var size = new BMapGL.Size(50, 50);
var anchor = new BMapGL.Size(25, 25);
var symbol = new BMapGL.Symbol(size, anchor);

// 设置循环渲染
symbol.isReDraw = true;

// 更新图标数据
var canvas = document.createElement('canvas');
var ctx = canvas.getContext('2d');
var imageData = ctx.createImageData(50, 50);
// ... 更新 imageData 的数据
symbol.data = imageData;

// 添加到地图
map.addOverlay(symbol);

// 手动触发渲染
symbol.update();

注意事项

  1. Symbol 类主要用于创建基于 canvas 的自定义图标
  2. isReDraw 属性需要在初始化时设置,用于控制是否进行循环渲染
  3. 通过更新 data 属性可以动态改变图标的显示内容
  4. 如果不需要动画效果,建议将 isReDraw 设置为 false
  5. update 方法只在 isReDrawfalse 时需要手动调用

基于 MIT 许可发布