Class: FdAnalysisManager

FdMicroApp. FdAnalysisManager

测量管理器,包括:两点距离量测、多点距离量测、点坐标量测、面积量测、高程量测、净高测量、夹角量测


new FdAnalysisManager()

Example
var viewer = Freedo.FdApp.createDefaultViewer('freedoContainer');
var analysisManager = new Freedo.FdMicroApp.FdAnalysisManager(viewer);
analysisManager.start('LINE_DISTANCEs');

Methods


cancel()

退出量测模式


dispose()

销毁所有资源


getData()

获取数据

Returns:

返回值结构如下(经纬度单位为度,高度、长度、距离单位为米,面积为平方米):

{
 line:[{
    pointsG:[[经度,纬度,高度],[经度,纬度,高度]],
    pointsC:[世界坐标,世界坐标],
    length:距离,
    vLength:垂直距离,
    hLength:水平距离,
 },...],
 polyline:[{
    lines:[{
        pointsG:[[经度,纬度,高度],[经度,纬度,高度]],
        pointsC:[世界坐标,世界坐标],
        length:距离,
        vLength:垂直距离,
        hLength:水平距离,
    },...],
    sumLenght:总长
 },...],
 point:[{
    pointG:[经度,纬度,高度],
    pointC:世界坐标
 },...],
 height:[{
    type: 'ELEVATION', // 或 'HEIGHT'
    elevation: 高程, // if type === 'ELEVATION'
    height: 净高, // else if type === 'HEIGHT'
    pointG:[经度,纬度,高度],
    pointC:世界坐标,
    topC: 世界坐标,
    topG: [经度,纬度,高度],
    bottomC: 世界坐标,
    bottomG: [经度,纬度,高度],
 },...],
 area:[{
    pointsG: [[经度,纬度],[经度,纬度],[经度,纬度],...],
    pointsC: [世界坐标,世界坐标,世界坐标,...],
    area: 面积
 },...],
 angle:[{
    pointsG: [[经度,纬度],[经度,纬度],[经度,纬度],...],
    pointsC: [世界坐标,世界坐标,世界坐标,...],
    angle: 夹角
 },...]
}
Type
Object

getMode()

获取当前量测模式

Returns:

返回值:'LINE_DISTANCE','SEGMENTS_DISTANCE','SINGLE_POINT','AREA','ELEVATION','HEIGHT','ANGLE',分别对应:两点距离量测、多点距离量测、点坐标量测、面积量测、高程量测、净高量测、夹角量测

Type
String

on(listener [, scope])

注册事件捕捉

Parameters:
Name Type Argument Description
listener FdMicroApp.FdAnalysisManager~FdAnalysisManagerCallback

当有事件触发时被执行的函数。

scope Object <optional>

listener函数执行时的绑定的对象。

Returns:

返回一个函数,调用该函数可以取消监听。

Type
Freedo.Event~RemoveCallback

removeAll()

销毁所有资源


reset()

重置


setBoxInfos()

设置空间分析的包围盒信息


setHAVMode(HAVMode)

设置水平垂直模式,目前只针对两点距离测量有效

Parameters:
Name Type Description
HAVMode Boolean

是否启用水平垂直模式


setSingleMode(singleMode)

设置单点模式,目前只针对点量测有效

Parameters:
Name Type Description
singleMode Boolean

是否启用单点模式


setStyle(options)

设置显示风格

Parameters:
Name Type Description
options Oeject

点、线、填充的颜色

Properties
Name Type Argument Description
pointSize Number <optional>

点的像素大小

pointColor Freedo.Color <optional>

点颜色

lineWidth Number <optional>

线的像素宽度

lineColor Freedo.Color <optional>

线或边框颜色

fillColor Freedo.Color <optional>

面填充颜色

font String <optional>

字体

textOutlineWidth Number <optional>

字体边框宽度

textOutlineColor Freedo.Color <optional>

字体边框颜色

textFillColor Freedo.Color <optional>

字体填充颜色


setSumPointMode(sumPointMode)

设置累计长模式,目前只针对多点距离测量有效

Parameters:
Name Type Description
sumPointMode Boolean

是否计算累计长度


start(mode)

设置量测模式

Parameters:
Name Type Description
mode String

分析模式:'LINE_DISTANCE','SEGMENTS_DISTANCE','SINGLE_POINT','AREA','ELEVATION','HEIGHT','ANGLE',分别对应:两点距离量测、多点距离量测、点坐标量测、面积量测、高程量测、净高量测、夹角量测功能

Type Definitions


FdAnalysisManagerCallback(eventType, eventArg)

Parameters:
Name Type Description
eventType String

事件类型有:Start(量测开始),Cancel(量测取消),DataChanged(数据变化),AnaFinished(量测结束),Point(点量测),ElevationPoint(高程量测),HeightPoint(净高量测)

eventArg Object

Start/Cancel无返回值,其它类型事件参数包含相关信息