AreaMeasure

new CooSDK.AreaMeasure(props)

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


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

包含如下属性的Object:

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

线颜色。

areaMeasureType EnumMeasureAreaType EnumMeasureAreaType.C3D optional

面积测量类型。

analysisTextSymbol AnalysisTextSymbol new AnalysisTextSymbol() optional

测量显示文字符号对象。

callback NNCallback | String "none" optional

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

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

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

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

辅助线颜色。

guideLineStipple Number -1 optional

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

guideLineWidth Number 2.0 optional

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

isDepthTest Boolean false optional

是否开启深度测试。

isJoinPick Boolean true optional

是否可以被拾取。

isGuideLine Boolean false optional

是否开启辅助线。

isTextVisible Boolean true optional

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

isWorld Boolean false optional

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

loadPointArray Array.<(PositionObj|String)> null optional

预设加载点集合,不设置的情况下为通过鼠标点击进行绘制,支持字符串类型数组传入方式:"经度,纬度,高度"。

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

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

pageLevel Number 16 optional

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

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

点颜色。

pointSize Number 5 optional

点大小。

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

面颜色。

polygonMode EnumPolygonMode EnumPolygonMode.GRID optional

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

screen CooMap | ScreenObj null optional

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

textLiftUp Number 0 optional

文字抬高高度。

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

// 或者根据自身需求设置参数
var measureLayer = new CooSDK.AreaMeasure({
  callback: getResult,
  areaMeasureType: CooSDK.EnumMeasureAreaType.C3D,
  // 如设置loadPointArray参数,则通过参数创建测量,否则通过鼠标在场景点击来创建
  loadPointArray: [
     "120.218740486900, 30.209983093457, 28.227263780311",
     "120.220240556350, 30.210589361155, 28.778096618131",
     "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

isJoinPick : Boolean

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

Default Value: true

isTextVisible : Boolean

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

Default Value: true

isWorld : Boolean

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

Default Value: false

loadPointArray : Array.<(PositionObj|String)>

获取或者设置预设点集,支持字符串类型数组传入方式:"经度,纬度,高度"。

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(reFunc)

从场景中销毁自身。

Name Type Default Description
reFunc NNCallback null optional

销毁地图成功后可传入的回调函数。

Returns:

null 空值。

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

getResult(name, reCallback)String

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

Name Type Description
name EnumMeasureArea

查询参数。

reCallback CBCallback optional

可传递的回调函数,返回测量查询结果。

Returns:

测量查询结果。

Example:
// 获取分析结果
var result = measureLayer.getResult(CooSDK.EnumMeasureArea.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

测量显示文字符号对象。

areaMeasureLineColor ColorObj optional

线颜色。

areaMeasureType EnumMeasureAreaType optional

面积测量类型。

callback NNCallback | String optional

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

gridLineColo ColorObj optional

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

guideLineColor ColorObj optional

辅助线颜色。

guideLineStipple Number optional

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

guideLineWidth Number optional

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

isDepthTest Boolean optional

是否开启深度测试。

isGuideLine Boolean optional

是否开启辅助线。

isJoinPick Boolean optional

是否可以被拾取。

isTextVisible Boolean optional

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

isWorld Boolean optional

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

loadPointArray Array.<(PositionObj|String)> optional

预设加载点集合,不设置的情况下为通过鼠标点击进行绘制,支持字符串类型数组传入方式:"经度,纬度,高度"。

nonIntersectArray Array.<EnumLayer> optional

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

pageLevel Number optional

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

pointColor ColorObj optional

点颜色。

pointSize Number optional

点大小。

polygonColor ColorObj optional

面颜色。

polygonMode EnumPolygonMode optional

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

textLiftUp Number optional

文字抬高高度。

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