跳到主要内容
版本:9.1.1

@mapmost/mapmost-webgl-measure3D

为 Mapmost SDK for WebGL 的定制插件,提供对三维场景测距离和测面积的支持。

依赖 Mapmost SDK for WebGL,版本对应关系如下:

measure3D版本SDK版本
v 1.0.0v 3.2.0+
v 1.1.0v 3.5.0+

安装

npm install @mapmost/mapmost-webgl-measure3D

使用方式

使用 modules

import mapmost from "@mapmost/mapmost-webgl";
import Measure3D from "@mapmost/mapmost-webgl-measure3D";

使用 CDN

<script src="https://delivery.mapmost.com/cdn/sdk/webgl/v9.1.1/mapmost-webgl-min.js"></script>
<script src="https://delivery.mapmost.com/cdn/sdk/plugins/mapmost-webgl-measure3D/v1.1.0/mapmost-webgl-measure3D.js"></script>

方法

new Measure3D

创建三维量测。

new Measure3D(map);
  • map: Obejct3D (required) 地图实例对象。

setType

设置三维量测类型。

参数
名称类型描述
typeString必填设置三维量测类型,测距离或者测面积,"distance"或"area"。
案例
let meas = new Measure3D(map);
// 距离测量
meas.setType("distance");
// 面积测量
meas.setType("area");

start

开始三维量测。

案例
let meas = new Measure3D(map);
meas.start();

stop

停止三维量测。

案例
let meas = new Measure3D(map);
meas.stop();

clear

清除三维量测。

案例
let meas = new Measure3D(map);
meas.clear();

destroy

销毁三维量测,需要重新创建才能使用。

案例
let meas = new Measure3D(map);
meas.destroy();

使用示例

let models_obj = ["./data/Olympic.glb"].map((item) => ({
type: "glb",
url: item,
}));

let options = {
id: "model_id",
type: "model",
models: models_obj,
center: [120.74603465203592, 31.30605899929158, 0.0],
callback: function (group, layer) {
new Measure3D(map);
},
};
map.addLayer(options);

参考 示例