DistanceMeasurement2DViewModel

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

提供 DistanceMeasurement2D 微件的逻

另请参阅

构造函数

new DistanceMeasurement2DViewModel(properties)
参数
properties Object
optional

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

属性概述

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

类的名称。

更多详情
Accessor
Number

当投影坐标系时 (除了 web 墨卡托),小于此阈值的距离将用平面法计算。

更多详情
DistanceMeasurement2DViewModel
Object

测量折线的长度和几何 (以米为单位)。

更多详情
DistanceMeasurement2DViewModel
String

此属性返回特定于语言环境的长度表示。

更多详情
DistanceMeasurement2DViewModel
String

视图模型的状态。

更多详情
DistanceMeasurement2DViewModel
SystemOrLengthUnit

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

更多详情
DistanceMeasurement2DViewModel
SystemOrLengthUnit[]

用于显示距离值的可用单位列表和单位系统 (英制、公制)。

更多详情
DistanceMeasurement2DViewModel
MapView

微件将从中操作的视图。

更多详情
DistanceMeasurement2DViewModel

属性详细信息

declaredClass Stringreadonly inherited

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

geodesicDistanceThreshold Number

当投影坐标系时 (除了 web 墨卡托),小于此阈值的距离将用平面法计算。否则,距离将以大地测量方式计算。

默认值:100000
示例
// To set the threshold at 10 km
let measurementWidget = new DistanceMeasurement2D({
  viewModel: {
    view: view,
    geodesicDistanceThreshold: 10000
  }
});
measurement Objectreadonly

测量折线的长度和几何 (以米为单位)。

属性
length Number

线的长度 (m)。

geometry Polyline

测量线。

示例
// After creating and adding the DistanceMeasurement2D widget
let measurementWidget = new DistanceMeasurement2D({
  view: view
});
view.ui.add(measurementWidget, "top-right");

// Raw measurements (in meters) can be accessed from this property
measurementWidget.watch("viewModel.measurement", function(measurement) {
  console.log(
    "Length: ", measurement.length,
    "Geometry: ", measurement.geometry
  );
});
measurementLabel Stringreadonly

此属性返回特定于语言环境的长度表示。长度四舍五入到小数点后两位。长度来源于 measurement 属性 (以米为单位) 并转换为用户定义的单位或系统。

示例
// After creating and adding the DistanceMeasurement2D widget
let measurementWidget = new DistanceMeasurement2D({
  view: view
});
view.ui.add(measurementWidget, "top-right");

// The measurement label can be accessed from this property
measurementWidget.watch("viewModel.measurementLabel", function(label) {
  console.log(
     "Label: ", label
  );
});
state Stringreadonly

视图模型的状态。

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

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

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

单位系统(英制、公制)或用于显示距离值的特定单位。可能值在 unitOptions 中列出。

示例
// To create the DistanceMeasurement2D widget that displays distance in yards
let measurementWidget = new DistanceMeasurement2D({
  viewModel: {
    view: view,
    unit: "yards"
  }
});

// To display the current measurement unit
console.log('Current unit: ', measurementWidget.viewModel.unit);

用于显示距离值的可用单位列表和单位系统 (英制、公制)。默认情况下,包括以下单位:metricimperialinchesfeetus-feetyardsmilesnautical-milesmeterskilometers。可能的 unit 值只能是此列表的子集。

示例
// To display the available units to the console
let measurementWidget = new DistanceMeasurement2D({
  view: view
});
console.log('All units: ', measurementWidget.viewModel.unitOptions.join(", "));
view MapView

微件将从中操作的视图。

示例
// To create DistanceMeasurement2D widget with the view property
let measurementWidget = new DistanceMeasurement2D({
  viewModel: {
    view: view
  }
});

方法概述

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

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

更多详情
Accessor

清除当前测量。

更多详情
DistanceMeasurement2DViewModel
Boolean

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

更多详情
Accessor

移除对象拥有的句柄组。

更多详情
Accessor

开始新的测量。

更多详情
DistanceMeasurement2DViewModel

方法详细说明

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() 进行删除。如果未提供键,则句柄将被添加到默认组。

clear()
起始版本:GeoScene Maps SDK for JavaScript 4.16

清除当前测量。

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");
start()
起始版本:GeoScene Maps SDK for JavaScript 4.16

开始新的测量。

示例
const distanceMeasurement2DViewModel = new DistanceMeasurement2DViewModel({
  view: view,
  unit: "us-feet"
});

await distanceMeasurement2DViewModel.start();

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