AreaMeasure

new CooSDK.AreaMeasure(props)

面积测量对象,可支持三维面积、水平面积、地表面积测量功能。


面积测量效果图
Name Type Description
props Object optional

包含如下属性的Object:

Name Type Default Description
pointColor ColorObj new ColorObj(0.0,1.0,1.0,1.0) optional

点颜色。

pointSize Number 5 optional

点大小。

areaMeasureLineColor ColorObj new ColorObj(0.8,0.0,0.0,1.0) optional

线颜色。

polygonColor ColorObj new ColorObj(0, 0.7, 0.4, 0.5) optional

面颜色。

areaMeasureType EnumMeasureAreaType EnumMeasureAreaType.C3D optional

面积测量类型。

isTextVisible Boolean true optional

是否显示文字,默认为false。如为false,则TextLiftUp和Style配置都无效。

textLiftUp Number 0 optional

文字抬高高度。

isDepthTest Boolean false optional

是否开启深度测试。

isWorld Boolean false optional

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

isGuideLine Boolean false optional

是否开启辅助线。

guideLineWidth Number 2.0 optional

辅助线宽度,范围1-10之间。

guideLineColor ColorObj new ColorObj(1.0,1.0,0.0,1.0) optional

辅助线颜色。

guideLineStipple Number -1 optional

辅助线显示样式,可控制实线/虚线显示,取值范围-32768-32767之间,-1为实线。

polygonMode EnumPolygonMode EnumPolygonMode.GRID optional

绘制区域的显示方式,当areaMeasureType=EnumMeasureAreaType.SURFACE时生效。

pageLevel Number 16 optional

地形调度层级,当areaMeasureType=EnumMeasureAreaType.SURFACE时生效。

gridLineColor ColorObj new ColorObj(1.0,1.0,0.0,1.0) optional

网格线颜色,当polygonMode=EnumPolygonMode.GRID时生效。

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

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

loadPointArray Array.<PositionObj> null optional

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

analysisTextSymbol AnalysisTextSymbol new AnalysisTextSymbol() optional

测量显示文字符号对象。

callback NNCallback | String "none" optional

测量完成时回调绑定函数。

screen CooMap | ScreenObj null optional

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

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

// 或者根据自身需求设置参数
var measureLayer = new CooSDK.AreaMeasure({
  callback: getResult,
  areaMeasureType: CooSDK.EnumMeasureAreaType.C3D,
  // 如设置loadPointArray参数,则通过参数创建测量,否则通过鼠标在场景点击来创建
  loadPointArray: [
      new CooSDK.PositionObj(120.218740486900, 30.209983093457, 28.227263780311),
      new CooSDK.PositionObj(120.220240556350, 30.210589361155, 28.778096618131),
      new CooSDK.PositionObj(120.219764918559, 30.209994939204, 14.799938811921)
  ],
  analysisTextSymbol: {
      size: 140,
      fillingColor: new CooSDK.ColorObj(0.0, 1.0, 1.0, 1.0),
      isHorizontal: true
  }
});

// 实现绑定的回调函数
function getResult(x, y){
     var result = measureLayer.getResult(CooSDK.EnumMeasureArea.CLICKPOS);
}
Demo:

Members

analysisTextSymbol : AnalysisTextSymbol

获取或者设置文字Symbol。

Default Value: new AnalysisTextSymbol()

areaMeasureLineColor : ColorObj

获取或者设置面积测量线颜色(RGBA)。

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

areaMeasureType : EnumMeasureAreaType

获取或者设置面积测量类型。

Default Value: EnumMeasureAreaType.C3D

callback : NNCallback|String

获取或者设置面积测量完成时回调事件绑定的函数,若取消原先绑定的函数,则赋值为"none"。

Default Value: "none"

gridLineColor : ColorObj

获取或者设置地表测量网格线颜色。

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

guideLineColor : ColorObj

获取或者设置辅助线颜色。

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

guideLineStipple : Number

获取或者设置辅助线显示样式,可控制实线/虚线显示,取值范围-32768-32767之间,-1为实线。

Default Value: -1

guideLineWidth : Number

获取或者设置辅助线宽度,范围1-10之间。

Default Value: 2.0

isDepthTest : Boolean

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

Default Value: false

isGuideLine : Boolean

获取或者设置是否开启辅助线。

Default Value: false

isTextVisible : Boolean

获取或者设置测量文字显示状态。

Default Value: true

isWorld : Boolean

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

Default Value: false

loadPointArray : Array.<PositionObj>

获取或者设置预设点集。

Default Value: null

nonIntersectArray : Array.<EnumLayer>

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

Default Value: [EnumLayer.ANALYSIS]

pageLevel : Number

获取或者设置地表测量地形调度层级。

Default Value: 16

pointColor : ColorObj

获取或者设置测量点颜色。

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

pointSize : Number

获取或者设置测量点大小。

Default Value: 5

polygonColor : ColorObj

获取或者设置测量面颜色。

Default Value: new ColorObj(0, 0.7, 0.4, 0.5)

polygonMode : EnumPolygonMode

获取或者设置地表测量封闭区域显示方式。

Default Value: EnumPolygonMode.GRID

screen : CooMap|ScreenObj

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

Default Value: null

textLiftUp : Number

获取或者设置文字抬高高度。

Default Value: 0.0

Methods

deserialize(url)AreaMeasure

Name Type Description
url String

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

Returns:

三维面积测量对象。

destroy()

从场景中销毁自身。

Returns:

null 空值。

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

getResult(name, reCallback)String|FDTObject

根据指定参数获取测量结果。

Name Type Description
name EnumMeasureArea

查询参数。

reCallback CBCallback optional

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

Returns:

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

Examples:
// IE浏览器写法:
// 获取分析结果
var result = measureLayer.getResult(CooSDK.EnumMeasureArea.CLICKPOS);
console.log(result);
// 非IE浏览器写法:
// 获取分析结果
measureLayer.getResult(CooSDK.EnumMeasureArea.CLICKPOS, function(result){
     console.log(result);
});

serialize(url)

Name Type Description
url String

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

update(props)

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

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

Name Type Description
props Object optional

包含如下属性的Object:

Name Type Description
pointColor ColorObj optional

点颜色。

pointSize Number optional

点大小。

areaMeasureLineColor ColorObj optional

线颜色。

polygonColor ColorObj optional

面颜色。

areaMeasureType EnumMeasureAreaType optional

面积测量类型。

isTextVisible Boolean optional

是否显示文字,默认为false。如为false,则TextLiftUp和Style配置都无效。

textLiftUp Number optional

文字抬高高度。

isDepthTest Boolean optional

是否开启深度测试。

isWorld Boolean optional

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

isGuideLine Boolean optional

是否开启辅助线。

guideLineWidth Number optional

辅助线宽度,范围1-10之间。

guideLineColor ColorObj optional

辅助线颜色。

guideLineStipple Number optional

辅助线显示样式,可控制实线/虚线显示,取值范围-32768-32767之间,-1为实线。

nonIntersectArray Array.<EnumLayer> optional

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

polygonMode EnumPolygonMode optional

绘制区域的显示方式,当areaMeasureType=EnumMeasureAreaType.SURFACE时生效。

pageLevel Number optional

地形调度层级,当areaMeasureType=EnumMeasureAreaType.SURFACE时生效。

gridLineColo ColorObj optional

网格线颜色,当polygonMode=EnumPolygonMode.GRID时生效。

loadPointArray Array.<PositionObj> optional

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

analysisTextSymbol AnalysisTextSymbol optional

测量显示文字符号对象。

callback NNCallback | String optional

测量完成时回调绑定函数。

Example:
// 更新测量属性
measureLayer.update({
   isDepthTest : true,
   pointSize : 10
});