@mapmost/mapmost-webgl-measure3D
为 Mapmost SDK for WebGL 的定制插件,提供对三维场景测距离和测面积的支持。
依赖 Mapmost SDK for WebGL,版本对应关系如下:
measure3D版本 | SDK版本 |
---|---|
v 1.0.0 | v 3.2.0+ |
v 1.1.0 | v 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.4.0/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
设置三维量测类型。
参数
名称 | 类型 | 描述 |
---|---|---|
type | String | 必填设置三维量测类型,测距离或者测面积,"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);
参考 示例。