RulerObj

new CooSDK.RulerObj(props)

标尺是指在三维空间内绘制标注刻度尺,用来辅助显示三维场景高度的功能。


标尺效果图
Name Type Description
props Object optional

包含如下属性的Object:

Name Type Default Description
analysisTextSymbol AnalysisTextSymbol new AnalysisTextSymbol() optional

标尺显示文字符号对象。

isDepthTest Boolean false optional

是否开启深度测试。

isJoinPick Boolean true optional

是否可以被拾取。

isWorld Boolean false optional

传入的坐标是否是世界坐标。

largeScale Number 10 optional

标尺大刻度之间的距离,单位:米,必须为正整数。

nonIntersectArray Array.<EnumLayer> [EnumLayer.ANALYSIS] optional

标尺与场景哪些类型图层数据不相交。默认为分析类,即与除分析之外所有图层数据都相交

point PositionObj null optional

预设加载点,不设置的情况下为通过鼠标点击进行绘制。

rulerHeight Number 100 optional

标尺高度,单位:米。

screen CooMap | ScreenObj null optional

所属窗口,默认为CooMap所拥有的主窗口。

smallScale Number 1 optional

标尺小刻度之间的距离,单位,米,必须为正整数。

startHeight Number null optional

标尺的起点高度,单位:米,如果不设置此参数,则以点击的点的高度为准,设置此参数,则以此参数的值为准。

surfaceColor ColorObj new ColorObj(1.0,1.0,0.0,0.7) optional

标尺颜色。

surfaceWidth Number 10 optional

标尺横截面宽度,单位:米。

tickMarkWidth Number 1 optional

标尺刻度线宽度,单位:米。

tickMarkColor ColorObj new ColorObj(1.0,0.0,0.0,1) optional

标尺刻度线颜色。

Example:
// 最简单的写法
var measureLayer = new CooSDK.RulerObj();

// 或者根据自身需求设置参数
var rulerObj = new CooSDK.RulerObj({
     analysisTextSymbol: {
         size: 140,
         fillingColor: new CooSDK.ColorObj(0.0, 1.0, 1.0, 1.0),
         isHorizontal: true
     }
});
Demo:

Members

analysisTextSymbol : AnalysisTextSymbol

获取或者设置文字Symbol。

Default Value: new AnalysisTextSymbol()

isDepthTest : Boolean

获取或者设置标尺是否开启深度测试。

Default Value: false

isJoinPick : Boolean

获取或者设置是否可以被拾取。

Default Value: true

isWorld : Boolean

获取或者设置传入的坐标是否是世界坐标。

Default Value: true

largeScale : Number

获取或者设置标尺大刻度之间的距离,单位:米,必须为正整数。

Default Value: 10

nonIntersectArray : Array.<EnumLayer>

获取或者设置标尺与场景哪些类型图层数据不相交。默认为分析类,即与除分析之外所有图层数据都相交

Default Value: [EnumLayer.ANALYSIS]

point : PositionObj

获取或者设置预设点。

Default Value: null

rulerHeight : Number

获取或者设置标尺高度,单位:米。

Default Value: 100

screen : CooMap|ScreenObj

获取或者设置所属窗口,默认为CooMap所拥有的主窗口。

Default Value: null

smallScale : Number

获取或者设置标尺小刻度之间的距离,单位,米,必须为正整数。

Default Value: 1

startHeight : Number

获取或者设置标尺的起点高度,单位:米,如果不设置此参数,则以点击的点的高度为准,设置此参数,则以此参数的值为准。

Default Value: null

surfaceColor : ColorObj

获取或者设置标尺颜色。

Default Value: new ColorObj(1.0,1.0,0.0,0.7)

surfaceWidth : Number

获取或者设置标尺横截面宽度,单位:米。

Default Value: 10

tickMarkColor : ColorObj

获取或者设置标尺刻度线颜色。

Default Value: new ColorObj(1.0,0.0,0.0,1)

tickMarkWidth : Number

获取或者设置标尺刻度线宽度,单位:米。

Default Value: 1

Methods

deserialize(url)RulerObj

Name Type Description
url String

反序列化文件保存路径,支持本地路径和网络路径。

Returns:

标尺对象。

destroy()

从场景中销毁自身。

Returns:

null 空值。

Example:
// 销毁对象
rulerObj = rulerObj.destroy();

getResult(name, reCallback)String|FDTObject

根据指定参数获取标尺结果。

Name Type Description
name EnumRuler

查询参数。

reCallback CBCallback optional

非IE时可传入:需传递的回调函数,返回查询结果。

Returns:

查询结果。IE:String类型;非IE:FDTObject对象。

Example:
// 获取分析结果
var result = rulerObj.getResult(CooSDK.EnumRuler.CLICKPOS);
console.log(result);

serialize(url)

Name Type Description
url String

序列化文件保存路径,仅支持本地路径。

update(props)

更新单个或者多个对象属性,使之立即生效。

一般用于多个属性的同时更新,避免性能开销过大。

Name Type Description
props Object optional

包含如下属性的Object:

Name Type Description
analysisTextSymbol AnalysisTextSymbol optional

标尺显示文字符号对象。

isDepthTest Boolean optional

是否开启深度测试。

isJoinPick Boolean optional

是否可以被拾取。

isWorld Boolean optional

传入的坐标是否是世界坐标。

largeScale Number optional

标尺大刻度之间的距离,单位:米。

nonIntersectArray Array.<EnumLayer> optional

标尺与场景哪些类型图层数据不相交。默认为分析类,即与除分析之外所有图层数据都相交。

point PositionObj optional

预设加载点,不设置的情况下为通过鼠标点击进行绘制。

rulerHeight Number optional

标尺高度,单位:米。

smallScale Number optional

标尺小刻度之间的距离,单位,米。

surfaceColor ColorObj optional

标尺颜色。

surfaceWidth Number optional

标尺横截面宽度,单位:米。

startHeight Number optional

标尺的起点高度,单位:米,如果不设置此参数,则以点击的点的高度为准,设置此参数,则以此参数的值为准。

tickMarkColor ColorObj optional

标尺刻度线颜色。

tickMarkWidth Number optional

标尺刻度线宽度,单位:米。

Example:
// 更新标尺属性
rulerObj.update({
     analysisTextSymbol: {
         size: 200,
         fillingColor: new CooSDK.ColorObj(1, 1, 0, 1),
         isHorizontal: true,
         measureUnit: CooSDK.EnumMeasureUnit.METER,
         language: CooSDK.EnumLanguage.ENG
     }
});