本插件封装了 iOS11 上的 AR 尺子功能。可用手机直接来测量某些产品的长度。使用者只需要拿着手机移动,就可以直接透过手机镜头的画面,测量出你想要丈量的物体长度、高度。
AR 尺子是调用 ARKit 相关接口实现的,ARKit 虽然是 iOS11 新出的框架,但并不是所有的 iOS11 系统都可以使用,而是必须要是处理器 A9 及以上才能够使用,苹果从 iPhone6s 开始使用 A9 处理器,也就是iPhone6 及以前的机型无法使用本插件。
AR 尺子并不是「绝对精确」,他主要是协助你快速概要丈量一些产品,如果要精确的数值还是需要透过传统的丈量方式。但是就实际使用体验来看,这个准确率已经非常的高了。
判断当前设备是否支持 AR 尺子
isSupported(callback(ret))
ret:
{
status: //布尔类型;是否支持,true|false
}
var ARRuler = api.require('ARRuler');
ARRuler.isSupported(function(ret) {
if (ret.status) {
alert('支持');
}
});
iOS 系统
可提供的 1.0.0 及更高版本
监听尺子各种事件
addEventListener({params},callback(ret,err))
target:
ret:
{
length: //字符串类型;测量长度,仅当 target 为 length 时有值,如:10.12CM。会实时返回测量长度
code: //数字类型;AR 尺子状态码,取值范围:
//0:准备完成状态,可以开始测量
//1:没有找到平面
//2:焦点不在平面内
//3:测量器发生错误
//4:测量器中断
//5:测量结束
}
var ARRuler = api.require('ARRuler');
ARRuler.addEventListener({
target:'ruler'
},function(ret) {
if (ret) {
alert(ret.code);
}
});
iOS 系统
可提供的 1.0.0 及更高版本
打开摄像头
注意:本接口会打开一个全屏的 'frame',开发者可以再 open 一个 frame 来添加控制菜单
open({params},callback(ret))
lineColor:
textColor:
centrum:
{
color:'', //(可选项)字符串类型;锚点颜色,支持rgb、rgba、#;默认:ff0000
topRadius:, //(可选项)数字类型;锚钉头大小;默认:0.005
bottomRadius:, //(可选项)数字类型;锚钉尖大小;默认:0
height: //(可选项)数字类型;锚钉高度;默认:0.02
}
crossMark:
{
image:'', //(可选项)字符串类型;准星图标路径,要求本地路径(fs://、widget://);默认:默认图标
size: //(可选项)数字类型;准星大小;默认:20
}
ret:
{
status: //布尔类型;是否打开成功,true|false
}
var ARRuler = api.require('ARRuler');
ARRuler.open(function(ret) {
if (ret.status) {
alert('打开成功!');
}
});
iOS 系统
可提供的 1.0.0 及更高版本
关闭
close()
var ARRuler = api.require('ARRuler');
ARRuler.close();
iOS 系统
可提供的 1.0.0 及更高版本
隐藏
hide()
var ARRuler = api.require('ARRuler');
ARRuler.hide();
iOS 系统
可提供的 1.0.0 及更高版本
显示
show()
var ARRuler = api.require('ARRuler');
ARRuler.show();
iOS 系统
可提供的 1.0.0 及更高版本
在当前位置(准星所在的位置,画面的正中间)添加铆钉
addAnchor(callback(ret,err))
ret:
{
status: //布尔类型;是否添加成功,true|false
}
err:
{
code: //数字类型;错误码
// 0 : 没有找到平面
}
var ARRuler = api.require('ARRuler');
ARRuler.addAnchor(function(ret) {
if (ret.status) {
alert('添加成功!');
}
});
iOS 系统
可提供的 1.0.0 及更高版本
清除铆钉及测量线
clean()
var ARRuler = api.require('ARRuler');
ARRuler.clean();
iOS 系统
可提供的 1.0.0 及更高版本