MeasurementViewModel

AMD: require(["geoscene/widgets/Measurement/MeasurementViewModel"], (MeasurementVM) => { /* code goes here */ });
ESM: import MeasurementVM from "@geoscene/core/widgets/Measurement/MeasurementViewModel";
类: geoscene/widgets/Measurement/MeasurementViewModel
继承于:MeasurementViewModel Accessor
起始版本:GeoScene Maps SDK for JavaScript 4.13

提供 Measurement 微件的逻辑。阅读微件开发 - ViewModel 模式指南主题,以更好地了解如何使用此类。

另请参阅

构造函数

new MeasurementViewModel(properties)
参数
properties Object
optional

有关可能传递给构造函数的所有属性的列表,请参见属性

属性概述

可以设置、检索或侦听任何属性。请参阅使用属性主题。
显示继承属性 隐藏继承属性
名称 类型 描述
String

指定要显示的当前测量工具。

更多详情
MeasurementViewModel
AreaMeasurement2DViewModel|AreaMeasurement3DViewModel|DirectLineMeasurement3DViewModel|DistanceMeasurement2DViewModel

查看活动测量微件的模型。

更多详情
MeasurementViewModel
SystemOrAreaUnit

单位系统(英制、公制)或显示面积值的特定单位。

更多详情
MeasurementViewModel
String

类的名称。

更多详情
Accessor
SystemOrLengthUnit

单位系统(英制、公制)或用于显示距离值的特定单位。

更多详情
MeasurementViewModel
String

ViewModel 的状态。

更多详情
MeasurementViewModel
MapView|SceneView

MapViewSceneView 的引用。

更多详情
MeasurementViewModel

属性详细信息

activeTool String

指定要显示的当前测量工具。将其值设置为 area 可激活面积测量工具,并且该工具适用于 MapViewSceneView。要在 MapView 中测量距离,请将该属性设置为 distance;如在 SceneView 中进行测量,可将其设置为 direct-line。如果未设置此属性,则不会显示微件。

可能值"area"|"distance"|"direct-line"

默认值:null
示例
// To create the Measurement widget with SceneView's linear measurement widget active.
let measurement = new Measurement({
  viewModel: {
    view: view,
    activeTool: "direct-line"
  }
});

查看活动测量微件的模型。

示例
// Print the active view model to the console.
let measurement = new Measurement({
  viewModel: {
    areaUnit: "square-us-feet",
    view: view,
    activeTool: "area"
  }
});
console.log("Active ViewModel: ", measurement.viewModel.activeViewModel);

单位系统(英制、公制)或显示面积值的特定单位。可能的值为:metricimperialsquare-inchessquare-feetsquare-us-feetsquare-yardssquare-milessquare-meterssquare-kilometersacresareshectares

示例
// To create the Measurement widget that displays area in square US feet
let measurement = new Measurement({
  viewModel: {
    areaUnit: "square-us-feet",
    view: view,
    activeTool: "area"
  }
});

// To display the current measurement unit for area
console.log("Current unit: ", measurement.viewModel.areaUnit);
declaredClass Stringreadonly inherited

类的名称。声明的类名称格式化为 geoscene.folder.className

单位系统(英制、公制)或用于显示距离值的特定单位。可能的值为:metricimperialinchesfeetus-feetyardsmilesnautical-milesmeterskilometers

示例
// To create the Measurement widget that displays distance in yards
let measurement = new Measurement({
  viewModel: {
    linearUnit: "yards",
    view: view,
    activeTool: "distance"
  }
});

// To display the current measurement unit for distance
console.log('Current unit: ', measurement.viewModel.linearUnit);
state Stringreadonly

ViewModel 的状态。

描述
disabled 尚未准备就绪
ready 准备测量
measuring 测量已开始
measured 测量已完成

可能值"disabled"|"ready"|"measuring"|"measured"

默认值:disabled
示例
// To display the state of the AreaMeasurement2D widget
let measurement = new Measurement({
  view: view,
  activeTool: "area"
});
measurement.watch("viewModel.state", function(state){
  console.log("Current state: ", state);
});

MapViewSceneView 的引用。

示例
// Add the measurement widget to the upper right hand corner.
const measurement = new Measurement({
  viewModel: {
    view: view,
    activeTool = "distance";
  }
});
view.ui.add(measurement, "top-right");

方法概述

显示继承的方法 隐藏继承的方法
名称 返回值类值 描述

添加一个或多个与对象的生命周期相关联的句柄。

更多详情
Accessor
Boolean

如果存在指定的句柄组,则返回 true。

更多详情
Accessor

移除对象拥有的句柄组。

更多详情
Accessor

方法详细说明

addHandles(handleOrHandles, groupKey)inherited
起始版本:GeoScene Maps SDK for JavaScript 4.25

添加一个或多个与对象的生命周期相关联的句柄。当对象被销毁时,将移除句柄。

// Manually manage handles
const handle = reactiveUtils.when(
  () => !view.updating,
  () => {
    wkidSelect.disabled = false;
  },
  { once: true }
);

// Handle gets removed when the object is destroyed.
this.addHandles(handle);
参数
handleOrHandles WatchHandle|WatchHandle[]

对象销毁后,标记为要移除的句柄。

groupKey *
optional

标识句柄应添加到的组的键。组中的所有句柄稍后都可使用 Accessor.removeHandles() 进行删除。如果未提供键,则句柄将被添加到默认组。

hasHandles(groupKey){Boolean}inherited
起始版本:GeoScene Maps SDK for JavaScript 4.25

如果存在指定的句柄组,则返回 true。

参数
groupKey *
optional

组键。

返回
类型 描述
Boolean 如果存在指定的句柄组,则返回 true
示例
// Remove a named group of handles if they exist.
if (obj.hasHandles("watch-view-updates")) {
  obj.removeHandles("watch-view-updates");
}
removeHandles(groupKey)inherited
起始版本:GeoScene Maps SDK for JavaScript 4.25

移除对象拥有的句柄组。

参数
groupKey *
optional

要移除的组键或组键的数组或集合。

示例
obj.removeHandles(); // removes handles from default group

obj.removeHandles("handle-group");
obj.removeHandles("other-handle-group");

您的浏览器不再受支持。请升级您的浏览器以获得最佳体验。请参阅浏览器弃用帖子以获取更多信息