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文档和相关示例。

results matching ""

    No results matching ""