跳到主要内容

使用说明

测量插件 用于在如视 VR 空间中测量距离和面积,帮助用户直观了解空间尺寸。

目前提供两个测量插件:

插件选择

数据依赖

对比项MeasurePlugin (新版)PanoMeasurePlugin (经典版)
服务端数据不依赖支持加载 /open/v3/ruler/search 接口数据
数据格式{ points: Vector3[] }[]MeasurePluginServerData (polyline JSON)
数据持久化需自行实现支持 load() / toJson() 序列化

功能对比

功能MeasurePlugin (新版)PanoMeasurePlugin (经典版)
测距
测面积✅ (需配合 Util 计算)✅ (内置计算和显示)
多边形自动闭合
直角三角形辅助线
端点拖拽重定位✅ (长按拖拽)
放大镜✅ (内置 PointSelector)✅ (可配置参数)
内置 UI 控制器✅ (支持 PC/移动端)
引导提示✅ (GuideController)
快捷键支持
单位切换✅ (setUnit)✅ (changeConfigs)
精度设置✅ (setPrecision)固定 2 位小数

模式与状态

对比项MeasurePlugin (新版)PanoMeasurePlugin (经典版)
工作模式单一模式Watch / Edit / Mixed / View 四种模式
PC 端默认直接开始测量Watch 模式 (观看已有数据)
移动端支持通用Mixed 模式 (专门优化)
模式切换无需切换changeMode() / edit() / save()

事件系统

对比项MeasurePlugin (新版)PanoMeasurePlugin (经典版)
核心事件measureEnd (返回结束原因 + 点坐标)多种细粒度事件
编辑事件undoeditedPolylineChange, editedDashedLineChange, revoke, complete
状态事件enable, disable, modeChange, measureTypeChange
选点事件❌ (通过 measureEnd 获取)pointsChange, anchorChange, getStartPoint, getEndPoint
交互事件selectedChange, wantsDragLine, readyComplete

API 设计

MeasurePlugin (新版) - 精简 API:

// 核心方法
measure()           // 开始测量
endMeasure()        // 结束测量
undo()              // 撤销上一步
cancel()            // 取消本次测量
clear()             // 清空所有测量
dispose()           // 销毁插件

// 配置方法
setUnit(unit)       // 切换单位
setPrecision(n)     // 设置精度
setLengthEnable(b)  // 显示/隐藏长度标签
load(data)          // 加载数据

PanoMeasurePlugin (经典版) - 完整 API:

// 生命周期
enable({ mode })    // 启用插件
disable()           // 禁用插件
dispose()           // 销毁插件

// 模式控制
changeMode(mode)    // 切换模式 (Watch/Edit/Mixed/View)
edit(measureType)   // 进入编辑模式
save({ mode })      // 保存编辑

// 数据操作
load(data)          // 加载数据
toJson()            // 导出数据
clear()             // 清空数据

// 编辑操作
revoke()            // 撤销
changeMeasureType() // 切换测量类型 (line/area)
removePolyline()    // 删除折线
removeArea()        // 删除面积

// 交互控制
highlightLine()     // 高亮线段
clearHighlightLines() // 清除高亮
setCustomText()     // 设置线段文本
changeConfigs()     // 更改配置

适用场景

场景推荐插件
快速集成标准测量功能PanoMeasurePlugin
需要加载/保存服务端测量数据PanoMeasurePlugin
需要内置 UI 和引导提示PanoMeasurePlugin
移动端专门优化体验PanoMeasurePlugin
需要精细控制编辑流程和状态PanoMeasurePlugin
自定义测量 UIMeasurePlugin
需要获取测量点坐标进行自定义计算MeasurePlugin
需要监听测量结束事件MeasurePlugin
需要动态调整精度MeasurePlugin
端点拖拽重定位功能MeasurePlugin
直角三角形辅助线MeasurePlugin
轻量级集成,最小化依赖MeasurePlugin

选择建议

  • 选择 PanoMeasurePlugin:需要完整的测量功能、内置 UI、数据持久化、或移动端专门优化
  • 选择 MeasurePlugin:需要自定义 UI、监听测量事件获取点坐标、或进行自定义面积/长度计算