`r`n
经纬志
`r`n
`r`n
首页 / OpenLayers / 使用示例
`r`n

自定义地震符号

用 Canvas 画出带十字准星的同心圆符号,按震级换色与尺寸。

OpenLayers 10.3.1 · 更新 2026-10-27
`r`n
源码与运行效果
运行效果
`r`n

说明

图标不必依赖图片文件:在 Canvas 上画好同心圆与十字线, 把 toDataURL() 的结果作为 ol.style.Icon 的 src, 就能得到可缩放的矢量感符号。

样式函数据震级分三档生成图标并缓存,避免每帧重画; 震级越大,外圈越粗、颜色越暖,中心点始终对齐真实坐标。

操作结果
观察不同震级符号高震级为红色大圈,低震级为蓝色小圈
缩放地图符号像素尺寸不变,锚点保持在震中
点「切换底图色调」符号在深浅底图上都保持可辨识

用 Canvas 生成图标时把 anchor 设为 [0.5, 0.5],否则符号会整体偏移半个图标的距离。

`r`n
`r`n