AreaMeasurement2DViewModel

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

提供 AreaMeasurement2D 微件的逻

另请参阅

构造函数

new AreaMeasurement2DViewModel(properties)
参数
properties Object
optional

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

属性概述

名称 类型 描述
Number

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

更多详情
AreaMeasurement2DViewModel
Object

测量面的面积和周长分别以平方米和米为单位。

更多详情
AreaMeasurement2DViewModel
Object

此属性返回特定于语言环境的面积和周长表示。

更多详情
AreaMeasurement2DViewModel
String

ViewModel 的状态。

更多详情
AreaMeasurement2DViewModel
SystemOrAreaUnit

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

更多详情
AreaMeasurement2DViewModel
SystemOrAreaUnit[]

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

更多详情
AreaMeasurement2DViewModel
MapView

微件将从中操作的视图。

更多详情
AreaMeasurement2DViewModel

属性详细信息

geodesicDistanceThreshold Number

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

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

测量面的面积和周长分别以平方米和米为单位。

属性
area Number

面积 (m²)。

perimeter Number

周长 (m)。

geometry Polygon

测量区域。

示例
// After creating and adding the AreaMeasurement2D widget
let measurementWidget = new AreaMeasurement2D({
  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(
     "Area: ", measurement.area,
     "Perimeter: ", measurement.perimeter
  );
});
measurementLabel Objectreadonly

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

属性
area Number

面积 (m²)。

perimeter Number

周长 (m)。

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

// Measurement labels can be accessed from this property
measurementWidget.watch("viewModel.measurementLabel", function(label) {
  console.log(
     "Area: ", label.area,
     "Perimeter: ", label.perimeter
  );
});
state Stringreadonly

ViewModel 的状态。

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

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

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

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

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

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

用于显示面积值的可用单位列表和单位系统 (英制、公制)。默认情况下,包括以下单位:metricimperialsquare-inchessquare-feetsquare-us-feetsquare-yardssquare-milessquare-meterssquare-kilometersacresareshectares。可能的 unit 值只能是此列表的子集。

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

微件将从中操作的视图。

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

方法概述

名称 返回值类值 描述

清除当前测量。

更多详情
AreaMeasurement2DViewModel

开始新的测量。

更多详情
AreaMeasurement2DViewModel

方法详细说明

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

清除当前测量。

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

开始新的测量。

示例
const areaMeasurement2DViewModel = new AreaMeasurement2DViewModel({
  view: view,
  unit: "square-yards"
});

await areaMeasurement2DViewModel.start();

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