LabelObj

new CooSDK.LabelObj(props)

文字、模型、图标标注对象。同一对象只可存在同一种类型的标注。

Name Type Description
props Object

包含如下属性的Object:

Name Type Default Description
geoPosArray Array.<PositionObj>

标注坐标对象数组。

iconSymbol IconSymbol optional

图标符号,需在labelType=EnumLabelType.ICON时进行配置。

isJoinPick Boolean true optional

是否可以被拾取。

infoArray Array.<String> null optional

标注自定义信息数组,可以存放用户自定义的信息,但字符串长度不可超过254。

jsonInfo String null optional

通过指定格式的json文件或者可返回指定json字符串的链接,批量创建点位信息,与infoArray不可混用。

labelIdArray Array.<String>

标注自定义标识id数组。

labelType EnumLabelType EnumLabelType.TEXT optional

标注类型。

maxRange Number 50000 optional

最大显示距离。

minRange Number 0 optional

最小显示距离。

modelSymbol ModelSymbol optional

模型符号,需在labelType=EnumLabelType.MODEL时进行配置。

pickColor ColorObj null optional

拾取颜色。

pointSymbol PointSymbol null optional

点符号,用来显示标注所在点位。

priorityOffset Number 0.0 optional

标注调度优先级,数值越大优先级越高。

renderOrder Number 0 optional

绘制顺序,数值越大绘制越往后,无特殊需求无需设置。

rotateArray Array.<Vector4Obj> null optional

标注旋转向量四元数数组,对模型标注类型生效。

scaleArray Array.<Vector3Obj> null optional

标注比例向量数组,对模型标注类型生效。

screen CooMap | ScreenObj null optional

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

textArray Array.<String>

标注文字数组,对文字标注类型生效。

textSymbol TextSymbol new TextSymbol({content: "[Text]"}) optional

文字符号,必须配置content属性。

Example:
// 创建文字标注对象
var textLabel = new CooSDK.LabelObj({
     labelType: CooSDK.EnumLabelType.TEXT,
     geoPosArray:[
         new CooSDK.PositionObj(120.218360866, 30.2102196798, 50.4588537607),
         new CooSDK.PositionObj(120.218360866, 30.2102196798, 80.4588537607)],
     textArray:["测试性文字1", "测试性文字2"],
     labelIdArray:[123,234]
});
// 创建模型标注对象
var modelLabel = new CooSDK.LabelObj({
     labelType: CooSDK.EnumLabelType.MODEL,
     modelSymbol: new CooSDK.ModelSymbol({
         url: "D:\\Works\\CooGisSDKDemoApplication_V6.1.0.20380\\data\\Other\\models\\car.wrl"
     }),
     geoPosArray: [
         new CooSDK.PositionObj(120.218360866, 30.2102196798, 50.4588537607),
         new CooSDK.PositionObj(120.218360866, 30.2102196798, 80.4588537607)],
     labelIdArray: ["model1", "model2"]
});
// 创建图标标注对象
var iconLabel = new CooSDK.LabelObj({
     labelType: CooSDK.EnumLabelType.ICON,
     iconSymbol: new CooSDK.IconSymbol({
         url: "D:\\Works\\CooGisSDKDemoApplication_V6.1.0.20380\\data\\Other\\images\\search.png"
     }),
     geoPosArray: [
         new CooSDK.PositionObj(120.218360866, 30.2102196798, 50.4588537607),
         new CooSDK.PositionObj(120.218360866, 30.2102196798, 80.4588537607)],
     labelIdArray: ["icon1", "icon2"]
});
Demo:

Members

geoPosArray : Array.<PositionObj>

获取或者设置标注坐标对象数组。

iconSymbol : IconSymbol

获取或者设置图标符号。

id : Number

获取或者设置矢量数据id。

infoArray : Array.<String>

获取或者设置标注自定义信息数组,可以存放用户自定义的信息,但字符串长度不可超过254。

Default Value: null

infoMap : Map

获取或者设置标注信息Map。

isJoinPick : Boolean

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

Default Value: true

isVisible : Boolean

获取或者设置矢量数据显隐状态。

Default Value: true

jsonInfo : String

获取或者设置通过指定格式的json文件或者可返回指定json字符串的链接,批量创建点位信息,与infoArray不可混用。

Default Value: null

labelIdArray : Array.<String>

获取或者设置标注自定义标识id数组。

labelType : EnumLabelType

获取或者设置标注类型。

Default Value: EnumLabelType.TEXT

maxRange : Number

获取或者设置最大显示距离。

Default Value: 50000

minRange : Number

获取或者设置最小显示距离。

Default Value: 0

modelSymbol : ModelSymbol

获取或者设置模型符号。

pickColor : ColorObj

获取或者设置拾取颜色。

Default Value: null

pointSymbol : PointSymbol

获取或者设置点符号,用来显示标注所在点位。

Default Value: null

priorityOffset : Number

获取或者设置标注数据调度优先级。

Default Value: 0.0

renderOrder : Number

获取或者设置绘制顺序,数值越大绘制越往后,无特殊需求无需设置。

Default Value: 0

rotateArray : Array.<Vector4Obj>

获取或者设置标注旋转向量数组,对模型标注类型生效。

Default Value: null

scaleArray : Array.<Vector3Obj>

获取或者设置标注比例向量数组,对模型标注类型生效。

Default Value: null

screen : CooMap|ScreenObj

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

Default Value: null

textArray : Array.<String>

获取或者设置标注文字数组,对文字标注类型生效。

textSymbol : TextSymbol

获取或者设置文字符号。

Default Value: new TextSymbol({content: "[Text]"})

Methods

addChildIconLabel(geoPosArray, labelIdArray, infoArray)

添加图标子标注。

Name Type Default Description
geoPosArray Array.<PositionObj>

标注坐标对象数组。

labelIdArray Array.<String>

自定义唯一id数组。

infoArray Array.<String> null optional

自定义属性信息。

Example:
var pos1 = new CooSDK.PositionObj(120.218360866, 30.2102196798, 100.4588537607);
var pos2 = new CooSDK.PositionObj(120.218360866, 30.2102196798, 150.4588537607);
iconLabel.addChildIconLabel([pos1, pos2], [6, 7]);

addChildModelLabel(geoPosArray, labelIdArray, rotateArray, scaleArray, infoArray)

添加模型子标注。

Name Type Default Description
geoPosArray Array.<PositionObj>

标注坐标对象数组。

labelIdArray Array.<String>

自定义唯一id数组。

rotateArray Array.<Vector4Obj>

旋转向量四元数数组。

scaleArray Array.<Vector3Obj>

比例向量数组。

infoArray Array.<String> null optional

自定义属性信息。

Example:
var pos1 = new CooSDK.PositionObj(120.218360866, 30.2102196798, 55.4588537607);
var pos2 = new CooSDK.PositionObj(120.218360866, 30.2102196798, 45.4588537607);
var rotate1 = new CooSDK.Vector4Obj(0, 0, 0, 0);
var rotate2 = new CooSDK.Vector4Obj(0, 0, 0, 0);
var scale1 = new CooSDK.Vector3Obj(3, 3, 3);
var scale2 = new CooSDK.Vector3Obj(8, 8, 8);
modelLabel.addChildModelLabel([pos1, pos2], ["model2", "model3"], [rotate1, rotate2], [scale1, scale2]);

addChildTextLabel(geoPosArray, textArray, labelIdArray, infoArray)

添加文字(文字图片混合)子标注。

Name Type Default Description
geoPosArray Array.<PositionObj>

标注坐标对象数组。

textArray Array.<String>

文字数组。

labelIdArray Array.<String>

自定义唯一id数组。

infoArray Array.<String> null optional

自定义属性信息。

Example:
var pos = new CooSDK.PositionObj(120.218360866, 30.2102196798, 120.4588537607);
var text = "测试性文字3";
var id = 3;
textLabel.addChildTextLabel([pos], [text], [id]);

destroy()

从场景中销毁自身。

Returns:

null 空值。

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

removeChildLabelByGeoPos(geoPosArray)

根据指定坐标数组删除标注。

Name Type Description
geoPosArray Array.<PositionObj>

标注坐标对象数组。

Example:
var pos = new CooSDK.PositionObj(120.218360866, 30.2102196798, 120.4588537607);
textLabel.removeChildLabelByGeoPos([pos]);

removeChildLabelById(labelIdArray)

根据指定id数组删除标注。

Name Type Description
labelIdArray Array.<String>

id数组。

Example:
textLabel.removeChildLabelById([123]);

removeChildLabelByText(textArray)

根据指定文字数组删除标注。

Name Type Description
textArray Array.<String>

文字数组。

Example:
textLabel.removeChildLabelByText(["测试性文字1"]);

removeJsonLabelById(labelIdArray)

根据指定id数组删除通过 jsonInfo 方式创建的标注。

Name Type Description
labelIdArray Array.<String>

id数组。

Example:
textLabel.removeJsonLabelById([1,2,3]);