FeatureModelPickTool

new CooSDK.FeatureModelPickTool(props)

矢量拾取工具,用于拾取FeatureModelData数据、LabelObj对象。


矢量拾取效果图
Name Type Description
props Object optional

包含如下属性的Object:

Name Type Default Description
featureModelDataArray Array.<(FeatureModelData|LabelObj)> [EnumCooMap.ALL_DATA] optional

featureModelData或者LabelObj对象的数组。

pickColor ColorObj new ColorObj(1.0, 0.0, 0.0, 0.5) optional

拾取高亮颜色。

isChangeColor Boolean true optional

是否变色。

isMultiPick Boolean false optional

是否多要素拾取,通常针对在同一位置上重叠的矢量要素。

isVerticalPick Boolean false optional

是否垂直拾取,即在点击点位置做法线,法线与矢量做求交。

verticalValue Number 1000 optional

垂直向下的距离。单位:米。

callback SNCallback | String "none" optional

拾取回调事件绑定函数。

screen CooMap | ScreenObj null optional

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

Example:
var featureModelPickTool = new CooSDK.FeatureModelPickTool({
     callback: getResult,
     featureModelDataArray: [pointData, lineData, polygonData]
});

function getResult(x, y){
     var result = featureModelPickTool.getResult(CooSDK.EnumToolFeatureModel.POINT);
}
Demo:

Members

callback : SNCallback|String

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

Default Value: "none"

featureModelDataArray : Array.<(FeatureModelData|LabelObj)>

获取或者设置featureModelData或者LabelObj对象的数组。

Default Value: [EnumCooMap.ALL_DATA]

isChangeColor : Boolean

获取或者设置是否高亮。

Default Value: true

isMultiPick : Boolean

获取或者设置是否多要素拾取,通常针对在同一位置上重叠的矢量要素。

Default Value: false

isVerticalPick : Boolean

获取或者设置是否垂直拾取,即在点击点位置做法线,法线与矢量做求交。

Default Value: false

pickColor : ColorObj

获取或者设置拾取高亮颜色。

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

screen : CooMap|ScreenObj

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

Default Value: null

verticalValue : Number

获取或者设置垂直向下的距离。单位:米。

Default Value: 1000

Methods

destroy()

从场景中销毁自身。

Returns:

null 空值。

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

getResult(name, reCallback)String|FDTObject

根据指定参数获取拾取结果。

Name Type Description
name EnumToolFeatureModel

查询参数。

reCallback CBCallback optional

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

Returns:

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

Examples:
// IE浏览器写法:
// 获取矢量数据部分属性
var result = featureModelPickTool.getResult(CooSDK.EnumToolFeatureModel.POINT);
console.log(result);
var result1 = featureModelPickTool.getResult(CooSDK.EnumToolFeatureModel.SCHEMA);
console.log(result1);
var result2 = featureModelPickTool.getResult(CooSDK.EnumToolFeatureModel.ID);
console.log(result);
// 非IE浏览器写法:
// 获取矢量数据部分属性
featureModelPickTool.getResult(CooSDK.EnumToolFeatureModel.POINT, function(result){
     console.log(result);
});
featureModelPickTool.getResult(CooSDK.EnumToolFeatureModel.SCHEMA, function(result){
     console.log(result);
});
featureModelPickTool.getResult(CooSDK.EnumToolFeatureModel.ID, function(result){
     console.log(result);
});

update(props)

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

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

Name Type Description
props Object optional

包含如下属性的Object:

Name Type Description
featureModelDataArray Array.<(FeatureModelData|LabelObj)> optional

featureModelData或者LabelObj对象的数组。

pickColor ColorObj optional

拾取高亮颜色。

isChangeColor Boolean optional

是否变色。

isMultiPick Boolean optional

是否多要素拾取,通常针对在同一位置上重叠的矢量要素。

isVerticalPick Boolean optional

是否垂直拾取,即在点击点位置做法线,法线与矢量做求交。

verticalValue Number optional

垂直向下的距离。单位:米。

callback SNCallback | String optional

拾取回调事件绑定函数。

Example:
featureModelPickTool.update({
     pickColor : new CooSDK.ColorObj(0, 1, 0, 0.3)
});