FeatureModelPickTool

new CooSDK.FeatureModelPickTool(props)

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


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

包含如下属性的Object:

Name Type Default Description
callback SNCallback | String "none" optional

拾取回调事件绑定函数。

featureModelDataArray Array.<(FeatureModelData|LabelObj)> [EnumCooMap.ALL_DATA] optional

featureModelData或者LabelObj对象的数组。

isChangeColor Boolean true optional

是否变色。

isHover Boolean false optional

鼠标是否悬停触发拾取,设置为false则为点击拾取。

hoverTime Number 1000 optional

悬停触发时间,单位:ms。

isMultiPick Boolean false optional

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

isVerticalPick Boolean false optional

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

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

拾取高亮颜色。

screen CooMap | ScreenObj null optional

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

verticalValue Number 1000 optional

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

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]

hoverTime : Number

获取或者设置鼠标悬停触发时间,单位:ms。

Default Value: 1000

isChangeColor : Boolean

获取或者设置是否高亮。

Default Value: true

isHover : Boolean

获取或者设置鼠标是否悬停触发拾取,设置为false则为点击拾取。

Default Value: false

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

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

Name Type Description
name EnumToolFeatureModel

查询参数。

reCallback CBCallback optional

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

Returns:

查询结果。

Example:
// 获取矢量数据部分属性
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);

update(props)

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

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

Name Type Description
props Object optional

包含如下属性的Object:

Name Type Description
callback SNCallback | String optional

拾取回调事件绑定函数。

featureModelDataArray Array.<(FeatureModelData|LabelObj)> optional

featureModelData或者LabelObj对象的数组。

isChangeColor Boolean optional

是否变色。

isHover Boolean optional

是否鼠标悬停触发拾取,设置为false则为点击拾取。

hoverTime Number optional

悬停触发时间,单位:ms。

isMultiPick Boolean optional

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

isVerticalPick Boolean optional

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

pickColor ColorObj optional

拾取高亮颜色。

verticalValue Number optional

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

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