2.7 标注上图
这一节我们学习如何在三维地图场景中添加标注(LabelObj)。
标注大致分为三种:模型标注、文字标注、图片标注。
模型标注长这样:
文字标注长这样:
图片标注长这样:
拿文字标注的创建、添加、删除举个例子。
在预先知道点位的情况下,可以在标注对象创建时,预设置参数:
var textLabel = new CooSDK.LabelObj({
//指定标注类型,这里是文字标注
labelType: CooSDK.EnumLabelType.LABEL_TEXT,
//设置点位的数组,这里为经纬度坐标的数组
geoPosArray: [
new CooSDK.PositionObj(120.218360866, 30.2102196798, 50.4588537607),
new CooSDK.PositionObj(120.218360866, 30.2102196798, 80.4588537607)],
//设置文字显示内容
textArray: ["测试性文字1", "测试性文字2"],
//设置标注的id,用来后期拾取辨别
labelIdArray: [1, 2],
infoArray: ["备注1", "备注2"]
});
添加点位可以这么写,可以支持单个或者批量的添加操作:
var pos = new CooSDK.PositionObj(120.218360866, 30.2102196798, 120.4588537607);
var text = "测试性文字3";
var id = 3;
textLabel.addChildTextLabel([pos], [text], [id], ["备注3"]);
删除点位则有多种方法,可以根据文字内容删除标注:
textLabel.removeChildLabelByText(["测试性文字1"]);
也可根据标注id删除标注:
textLabel.removeChildLabelById([2]);
亦或根据坐标点位删除标注:
var pos = new CooSDK.PositionObj(120.218360866, 30.2102196798, 120.4588537607);
textLabel.removeChildLabelByGeoPos([pos]);
还想删除全部标注:
textLabel = textLabel.destroy();
现在你已经学会如何添加标注至三维场景中,其余功能请查看详细的API文档和相关示例。