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 API for JavaScript 4.10

DistanceMeasurement2D 微件提供逻辑。

另请参阅:

构造函数

new DistanceMeasurement2DViewModel(properties)
参数:
properties Object
可选

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

属性概览

可以设置、检索或收听任何属性。请参阅使用属性主题。
显示继承的属性 隐藏继承的属性
Name 类型 描述
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);

用于显示距离值的可用单位和单位系统(英制、公制)列表。默认情况下,包括以下单位:metric, imperial, inches, feet, us-feet, yards, miles, nautical-miles, meters, kilometers.可能的 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
  }
});

方法概览

Name 返回类型 描述
更多信息

清除当前测量。

更多信息DistanceMeasurement2DViewModel
更多信息

开始新的测量。

更多信息DistanceMeasurement2DViewModel

方法详情

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

清除当前测量。

start()
起始版本:GeoScene API for JavaScript 4.16

开始新的测量。

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

await distanceMeasurement2DViewModel.start();

您的浏览器已不再受支持。请升级您的浏览器以获得最佳体验。有关更多详细信息,请参阅 我们的浏览器弃用帖