Skip to content

参数说明

提示

最新版本为 v1.1.0

1. 修复默认使用情况下的一些问题
  1. 增加 mniGridSize, scaleStep, scaleStepList ,zoomToCursor等配置参数,移除配置参数zoomStep

  2. 优化随鼠标方向缩放的方式

js
const ruler = new Ruler(canvasId, options);

canvasId

  • 类型:string
  • 要求:必须

canvas的id

options

  • 类型:object
  • 要求:可选

标尺的配置项

listener

  • 类型:boolean
  • 要求:可选
  • 默认值:true

是否启用鼠标监听事件,如果不启用,标尺没有任何交互功能

width

  • 类型:number
  • 要求:可选

canvas的宽度,也可以选择直接在canvas标签上设置,如果使用了默认的宽度(300)和高度(150),canvas将默认使用其父元素的宽高

height

  • 类型:number
  • 要求:可选

canvas的高度,同width

grid

  • 类型:boolean
  • 要求:可选
  • 默认值:true

是否绘制网格,如果为false则只绘制刻度

gridChange

  • 类型:boolean
  • 要求:可选
  • 默认值:true

网格大小是否跟随缩放变化,同时变化的还有刻度数以及刻度数间隔

rulerWidth

  • 类型:number
  • 要求:可选
  • 默认值:20

标尺的宽度

rulerColor

  • 类型:string
  • 要求:可选
  • 默认值:rgba(255,255,255,0.8)

标尺的背景颜色

scaleColor

  • 类型:string
  • 要求:可选
  • 默认值:black

刻度的颜色

scaleHeight

  • 类型:number
  • 要求:可选
  • 默认值:6

刻度的高度(长度)

topNumberPadding

  • 类型:number
  • 要求:可选
  • 默认值:11

刻度数离容器顶部的间距

leftNumberPadding

  • 类型:number
  • 要求:可选
  • 默认值:2

刻度数离容器左边的间距

dragButton

  • 类型:0 | 1 | 2
  • 要求:可选
  • 默认值:0

拖拽时使用的鼠标按键,默认为0(左键)

minGridSize

  • 类型:number
  • 要求:可选
  • 默认值:20 网格最小尺寸,低于该尺寸不再变小

scaleStepList

  • 类型:Array<number>
  • 要求:可选
  • 默认值:[1, 2, 5, 10, 25, 50, 100, 150, 300] 刻度值数组,必须从小到大

scaleStep

  • 类型 number
  • 要求:可选
  • 默认值:scaleStepList数组的第一个

reverseY

  • 类型 boolean
  • 要求:可选
  • 默认值:false 是否将Y轴数值改为从大到小(从上往下)

zoomSpeed

  • 类型 number
  • 要求:可选
  • 默认值:1 滚轮缩放速度,仅在默认使用时有效

zoomToCursor

  • 类型 boolean
  • 要求:可选
  • 默认值:true 缩放时是否根据鼠标位置进行平移,目前v1.1.0中未实装,默认是true

zoomStep(v1.1已弃用,不再生效)

  • 类型:number
  • 要求:可选
  • 默认值:0.2

方法

destroy

js
ruler.destroy()

销毁此类实例

bindThreeCamera

js
ruler.bindThreeCamera(camera, controls, origin)

three相机同步

camera

  • 类型:THREE.Camera
  • 要求:必须

three的相机,推荐使用OrthographicCamera

controls

  • 类型:THREE.Controls
  • 要求:必须

three的控制器,推荐使用MapControls

origin

  • 类型:THREE.Vector3
  • 要求:必须

three的坐标原点,一般是Vector3(0,0,0)

reDraw

js
ruler.reDraw(x, y, zoom)

绘制标尺,当想手动更改canvas的平移量和缩放时,可调用此方法

x

  • 类型:number
  • 要求:可选
  • 默认值:当前x

x轴偏移量

y

  • 类型:number
  • 要求:可选
  • 默认值:当前y

y轴偏移量

zoom

  • 类型:number
  • 要求:可选
  • 默认值:当前zoom

缩放层级,层级默认为1,且不会小于0

unproject

js
ruler.unproject(x, y, zoom)

将鼠标坐标转换为世界坐标(像素)

x

  • 类型:number
  • 要求:必选

鼠标坐标x

y

  • 类型:number
  • 要求:必选

鼠标坐标y

zoom

  • 类型:number
  • 要求:可选
  • 默认值:当前zoom

缩放层级,层级默认为1,且不会小于0

toScale

js
ruler.toScale(x, y)

将世界坐标(像素)转为刻度尺坐标

x

  • 类型:number
  • 要求:必选

世界坐标x

y

  • 类型:number
  • 要求:必选

世界坐标y

夜茶 2020 ~ 2026