@mapmost/mapmost-webgl-measure3D
A customized plug-in for Mapmost SDK for WebGL that provides support for measuring distance and area in 3D scenes.
Depends on Mapmost SDK for WebGL, version correspondence is as follows:
| measure3D version | SDK version |
|---|---|
| v 1.0.0 | v 3.2.0+ |
| v 1.1.0 | v 3.5.0+ |
| v 1.2.0 | v 9.5.0+ |
| v 1.3.0 | v 9.8.0-beta+ |
| v 1.4.0 | v 9.10.0-beta+ |
| v 1.4.1 | v 9.13.1-beta+ |
| v 1.4.2 | v 9.13.1-beta+ |
Install
npm install @mapmost/mapmost-webgl-measure3D
Usage
Using modules
import mapmost from "@mapmost/mapmost-webgl";
import Measure3D from "@mapmost/mapmost-webgl-measure3D";
Use CDN
<script src="https://delivery.mapmost.com/cdn/sdk/webgl/v9.16.0/mapmost-webgl-min.js"></script>
<script src="https://delivery.mapmost.com/cdn/sdk/plugins/mapmost-webgl-measure3D/v1.4.0/mapmost-webgl-measure3D.js"></script>
method
new Measure3D
Create 3D measurements.
new Measure3D(map);
map: Obejct3D (required) Map instance object.
setType
Set the 3D measurement type.
Parameters
| Name | Type | Description |
|---|---|---|
| type | String | RequiredSet the three-dimensional measurement type, distance or area, "distance" or "area". |
Case
let meas = new Measure3D(map);
// distance measurement
meas.setType("distance");
// area measurement
meas.setType("area");
start
Start three-dimensional measurement.
Case
let meas = new Measure3D(map);
meas.start();
stop
Stop 3D measurement.
Case
let meas = new Measure3D(map);
meas.stop();
clear
Clear 3D measurements.
Case
let meas = new Measure3D(map);
meas.clear();
destroy
The 3D measurement is destroyed and needs to be recreated before it can be used.
Case
let meas = new Measure3D(map);
meas.destroy();
Usage example
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);
Refer to Example.