1. 路网绘制

在添加路网之前,需要初始化路网

1.1. 示例

从初始化到初始化路网、到获取最短路径、显示最短路径的示例

let roadNet = new BOS3D.Plugins.RoadNetManager(viewer3D);
window.roadNet = roadNet;
roadNet.initRoadNetByModelKey("M1601286135625").then((rep) => {
    console.log("111");
    roadNet.getShortestPath("R1608541754961", [-12723, -5555, 100], [-1507, -9692, 100]).then((data) => {
        window.www = data;
        data.data.key = "abc";
        roadNet.addShortestPathByPoints(www.data, {
            color: new BOS3D.Color("red"),
            width: 1,
            block: false,
        });
    });
});

1.2. 初始化

初始化参数 说明 类型 是否必填
viewer3D viewer3D 实例 object Y

调用示例

const roadNet = new BOS3D.Plugins.RoadNetManager(viewer3D);

1.3. 方法

1.3.1. initRoadNetByModelKey

通过模型 key 初始化路网

参数 说明 类型 是否必填 示例
modelKey 模型 key string Y "M1601286135625"
返回值说明 类型
Promise >

调用示例

/**
 * 通过模型key初始化路网
 * @function initRoadNetByModelKey
 * @param {string} modelKey  模型key
 * @return {Promise} 初始化完成触发then,出错触发catch,错误原因为catch的参数
 */
let promise = roadNet.initRoadNetByModelKey("M1601286135625");

1.3.2. getRoadNetInfoListByModelKey

通过模型 key 获取路网信息

参数 说明 类型 是否必填 示例
modelKey 模型 key string Y "M1601286135625"
返回值说明 类型
路网信息 Object: {路网 key:路网信息}

调用示例

/**
 * 通过模型key获取路网信息
 * @function getRoadNetInfoListByModelKey
 * @param {string} key  模型key
 * @return {Object} {路网key:路网信息}
 */
roadNet.getRoadNetInfoListByModelKey("M123");

1.3.3. addRoadNetByKey

添加路网到场景中

参数 说明 类型 是否必填 示例
key 路网 key string Y "R1601286135625"
parameter 显示的参数 Object Y "R1601286135625"
parameter.color 路网颜色 Object Y new BOS3D.Color()
parameter.width 路网宽度 默认 1 Object N 2
parameter.block 路网是否被遮挡 默认 true Object N false
返回值说明 类型
Promise >

调用示例

/**
 * 添加路网到场景中
 * @function addRoadNetByKey
 * @param {string} key  路网key
 * @param {Object} [parameter]  显示的参数
 * @param {BOS3D.Color} [parameter.color]  路网颜色
 * @param {number} [parameter.width]  路网宽度 默认1
 * @param {boolean} [parameter.block]  路网是否被遮挡 默认true
 * @return {Promise} 添加完成触发then,出错触发catch,错误原因为catch的参数
 */
roadNet.addRoadNetByKey("R123", {
    color: new BOS3D.Color("red"),
    width: 1,
    block: false,
});

1.3.4. removeRoadNetByKey

从场景中移除路网

参数 说明 类型 是否必填 示例
key 路网 key string Y "R1601286135625"
返回值说明 类型
null

调用示例

/**
 * 从场景中移除路网
 * @function removeRoadNetByKey
 * @param {string} key  路网key
 * @return {void}
 */
roadNet.removeRoadNetByKey("R123");

1.3.5. showRoadNetByKey

显示路网

参数 说明 类型 是否必填 示例
key 路网 key string Y "R1601286135625"
返回值说明 类型
null

调用示例

/**
 * 显示路网
 * @function showRoadNetByKey
 * @param {string} key  路网key
 * @return {void}
 */
roadNet.showRoadNetByKey("R123");

1.3.6. hideRoadNetByKey

隐藏路网

参数 说明 类型 是否必填 示例
key 路网 key string Y "R1601286135625"
返回值说明 类型
null

调用示例

/**
 * 隐藏路网
 * @function hideRoadNetByKey
 * @param {string} key  路网key
 * @return {void}
 */
roadNet.hideRoadNetByKey("R123");

1.3.7. setRoadNetColorByKey

设置路网颜色

参数 说明 类型 是否必填 示例
key 路网 key string Y "R1601286135625"
color 路网颜色 Object Y new BOS3D.Color()
返回值说明 类型
null

调用示例

/**
 * 设置路网颜色
 * @function setRoadNetColorByKey
 * @param {string} key  路网key
 * @param {BOS3D.Color} color  颜色
 * @return {void}
 */
roadNet.setRoadNetColorByKey("R123", new BOS3D.Color());

1.3.8. setRoadNetBlockByKey

设置路网是否被遮挡

参数 说明 类型 是否必填 示例
key 路网 key string Y "R1601286135625"
block 路网是否被遮挡 Object Y false
返回值说明 类型
null

调用示例

/**
 * 设置路网是否被遮挡
 * @function setRoadNetBlockByKey
 * @param {string} key  路网key
 * @param {boolean} block  是否被遮挡
 * @return {void}
 */
roadNet.setRoadNetBlockByKey("R123", true);

1.3.9. setRoadNetLineWidthByKey

设置路网线宽

参数 说明 类型 是否必填 示例
key 路网 key string Y "R1601286135625"
width 路网宽度 Object Y 2
返回值说明 类型
null

调用示例

/**
 * 设置路网线宽
 * @function setRoadNetLineWidthByKey
 * @param {string} key  路网key
 * @param {number} width  宽度
 * @return {void}
 */
roadNet.setRoadNetLineWidthByKey("R123", 2);

1.3.10. removeShortestPathByKey

从场景中移除最短路径

参数 说明 类型 是否必填 示例
key 最短路径 key string Y "R1601286135625"
返回值说明 类型
null

调用示例

/**
 * 从场景中移除最短路径
 * @function removeShortestPathByKey
 * @param {string} key  最短路径key
 * @return {void}
 */
roadNet.removeShortestPathByKey("R123");

1.3.11. showShortestPathByKey

显示最短路径

参数 说明 类型 是否必填 示例
key 最短路径 key string Y "R1601286135625"
返回值说明 类型
null

调用示例

/**
 * 显示最短路径
 * @function showShortestPathByKey
 * @param {string} key  最短路径key
 * @return {void}
 */
roadNet.showShortestPathByKey("R123");

1.3.12. hideShortestPathByKey

隐藏最短路径

参数 说明 类型 是否必填 示例
key 最短路径 key string Y "R1601286135625"
返回值说明 类型
null

调用示例

/**
 * 隐藏最短路径
 * @function hideShortestPathByKey
 * @param {string} key  最短路径key
 * @return {void}
 */
roadNet.hideShortestPathByKey("R123");

1.3.13. setShortestPathColorByKey

设置最短路径颜色

参数 说明 类型 是否必填 示例
key 最短路径 key string Y "R1601286135625"
color 最短路径颜色 Object Y new BOS3D.Color()
返回值说明 类型
null

调用示例

/**
 * 设置最短路径颜色
 * @function setShortestPathColorByKey
 * @param {string} key  最短路径key
 * @param {BOS3D.Color} color  颜色
 * @return {void}
 */
roadNet.setShortestPathColorByKey("R123", new BOS3D.Color());

1.3.14. setShortestPathBlockByKey

设置最短路径是否被遮挡

参数 说明 类型 是否必填 示例
key 最短路径 key string Y "R1601286135625"
block 最短路径是否被遮挡 Object Y false
返回值说明 类型
null

调用示例

/**
 * 设置最短路径是否被遮挡
 * @function setShortestPathBlockByKey
 * @param {string} key  最短路径key
 * @param {boolean} block  是否被遮挡
 * @return {void}
 */
roadNet.setShortestPathBlockByKey("R123", true);

1.3.15. setShortestPathLineWidthByKey

设置最短路径线宽

参数 说明 类型 是否必填 示例
key 最短路径 key string Y "R1601286135625"
width 最短路径宽度 Object Y 2
返回值说明 类型
null

调用示例

/**
 * 设置最短路径线宽
 * @function setShortestPathLineWidthByKey
 * @param {string} key  最短路径key
 * @param {number} width  宽度
 * @return {void}
 */
roadNet.setShortestPathLineWidthByKey("R123", 2);

1.3.16. getShortestPath

获取最短路径

参数 说明 类型 是否必填 示例
key 路网 key string Y "R123"
start 起点坐标 (模型局部坐标) number[] Y [1000,2000,3000]
end 终点坐标 (模型局部坐标) number[] Y [1000,2000,3000]
type 路网类型 string N "topo"
返回值说明 类型
Promise >

调用示例

/**
 * 获取最短路径
 * @function getShortestPath
 * @param {string} key  路网key
 * @param {array} start  起点坐标 (模型局部坐标)
 * @param {array} end  终点坐标 (模型局部坐标)
 * @param {string} type  路网类型,默认topo
 * @return {Promise} 初始化完成触发then,出错触发catch,参数为对象,code标记状态
 * 成功示例:{
                            code: "success",
                            data: {
                                routeKey: key,
                                points: data.data
                            },
                            start,
                            end
                        }
 * 失败示例:{
                        code: "error",
                        detail: err,
                        start,
                        end
                    }
 */
roadNet.getShortestPath("R123456789", [1000, 2000, 3000], [4000, 5000, 6000], "topo");

1.3.17. addShortestPathByPoints

添加最短路径到场景中

参数 说明 类型 是否必填 示例
data 路径数据 string Y
data.routeKey 路径数据 string Y "R1601286135625"
data.points 路径点 Array Y [[1,2,3],[4,5,6]]
data.key 路径的 key ,默认随机生成 string Y "key123"
parameter 显示的参数 Object Y
parameter.color 路网颜色 Object Y new BOS3D.Color()
parameter.width 路网宽度 默认 1 Object N 2
parameter.block 路网是否被遮挡 默认 true Object N false
返回值说明 类型
Promise >

示例

/**
 * 添加最短路径到场景中
 * @function addShortestPathByPoints
 * @param {Object} [data]  路径数据
 * @param {Object} [data.routeKey]  对应的路网key
 * @param {Object} [data.points]  路径点
 * @param {Object} [data.key]  路径的key,默认随机生成
 * @param {Object} [parameter]  显示的参数
 * @param {BOS3D.Color} [parameter.color]  路网颜色
 * @param {number} [parameter.width]  路网宽度 默认1
 * @param {boolean} [parameter.block]  路网是否被遮挡 默认true
 * @return {Promise} 添加完成触发then,出错触发catch
 */
roadNet.addShortestPathByPoints(
    {
        routeKey: "R123",
        key: "123",
        points: [
            [, 1, 2, 3],
            [4, 5, 6],
        ],
    },
    {
        color: new BOS3D.Color("red"),
        width: 1,
        block: false,
    }
);

1.3.18. roamByShortestPathData

按最短路径漫游

参数 说明 类型 是否必填 示例
data 路径数据 string Y
data.routeKey 路径数据 string Y "R1601286135625"
data.points 路径点 Array Y [[1,2,3],[4,5,6]]
data.key 路径的 key ,默认随机生成 string Y "key123"
options 显示的参数 Object Y
options.speed 漫游的速度,每秒钟移动的单位。默认为 1000,即 1 秒钟移动 1000 个单位 number N 2000
options.frameTime 帧周期,每秒钟重复的次数 默认 14 number N 2
options.height 漫游时在路径上增加的高度 默认 0 number N 100
options.callbackProcess 每一帧的回调 function N function(){}
options.callbackFinish 完成关键帧的回调 function N function(){}
options.callbackAllFinish 全部完成的回调 function N function(){}
返回值说明 类型
null

示例

/**
 * 按最短路径漫游
 * @function roamByShortestPathData
 * @param {Object} [data]  路径数据
 * @param {Object} [data.routeKey]  对应的路网key
 * @param {Object} [data.points]  路径点
 * @param {Object} [options]  显示的参数
 * @param {number} [options.speed]  漫游的速度,每秒钟移动的单位。默认为1000,即1秒钟移动1000个单位
 * @param {number} [options.frameTime]  帧周期,每秒钟重复的次数 默认14
 * @param {number} [options.height]  漫游时在路径上增加的高度 默认0
 * @param {function} [options.callbackProcess]  每一帧的回调
 * @param {function} [options.callbackFinish]  完成关键帧的回调
 * @param {function} [options.callbackAllFinish]  全部完成的回调
 * @return {void}
 */
roadNet.roamByShortestPathData(
    {
        routeKey: "R123",
        key: "123",
        points: [
            [, 1, 2, 3],
            [4, 5, 6],
        ],
    },
    {
        speed: 2000,
        frameTime: 10,
        height: 1500,
    }
);

1.3.19. stopRoam

停止最短路径漫游

参数 说明 类型 是否必填 示例
null null null null
返回值说明 类型
null

调用示例

/**
 * 停止最短路径漫游
 * @function stopRoam
 * @return {void}
 */
roadNet.stopRoam();

1.3.20. update

更新场景中路网和路径。如果模型矩阵有变化,则需要调用这个方法更新

参数 说明 类型 是否必填 示例
null null null null
返回值说明 类型
null

调用示例

/**
 * 更新场景中路网和路径
 * @function update
 * @return {void}
 */
roadNet.update();
版权所有@盈嘉互联(北京)科技有限公司 京ICP备15051988号-9 Copyright © 2022 all right reserved,powered by Gitbook该文件修订时间: 2022-06-27 15:28:07

results matching ""

    No results matching ""