Skip to main content

@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 versionSDK version
v 1.0.0v 3.2.0+
v 1.1.0v 3.5.0+
v 1.2.0v 9.5.0+
v 1.3.0v 9.8.0-beta+
v 1.4.0v 9.10.0-beta+
v 1.4.1v 9.13.1-beta+
v 1.4.2v 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
NameTypeDescription
typeStringRequiredSet 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.