import DistanceMeasurementAnalysis from "@arcgis/core/analysis/DistanceMeasurementAnalysis.js";const DistanceMeasurementAnalysis = await $arcgis.import("@arcgis/core/analysis/DistanceMeasurementAnalysis.js");- Since
- ArcGIS Maps SDK for JavaScript 5.0
DistanceMeasurementAnalysis computes the length of a Polyline in a 2D MapView.
To display a distance measurement, create an instance of a DistanceMeasurementAnalysis,
assign a Polyline to the geometry property,
and add it to MapView.analyses
Use the DistanceMeasurementAnalysisView2D to retrieve analysis results.
// create analysisconst distanceMeasurement = new DistanceMeasurementAnalysis({ geometry: new Polyline({ })});
// add to map viewview.analyses.add(distanceMeasurement);
// retrieve measured results from analysis view once availableconst analysisView = await view.whenAnalysisView(distanceMeasurement);await reactiveUtils.whenOnce(() => analysisView.result);
const result = analysisView.result;To draw a distance measurement interactively, use the DistanceMeasurementAnalysisView2D.place() method.
const abortController = new AbortController();
try { await analysisView.place({ signal: abortController.signal });} catch (error) { if (error.name === "AbortError") { console.log("Placement operation was cancelled."); }}
// cancel the placement operation at some later pointabortController.abort();Known Limitation
This analysis is only supported in a 2D MapView.
Constructors
Constructor
Parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
| properties | | |
Properties
origin
- Type
- AnalysisOriginWebScene | null | undefined
The origin of the analysis. The origin can be of type web-scene when the analysis was applied from the
WebScene.initialViewProperties or a
Slide.
uid
- Type
- string
- Since
- ArcGIS Maps SDK for JavaScript 4.33
An automatically generated unique identifier assigned to the instance. The unique id is generated each time the application is loaded.
unit
- Type
- SystemOrLengthUnit | null | undefined
Unit system (imperial, metric) or specific unit used for displaying the computed lengths in the view.
valid
- Type
- boolean
Indicates whether the analysis is ready to be computed and interacted with in the view. It requires the geometry to be a valid polyline whose first path contains at least 2 points.
Methods
fromJSON
- Signature
-
fromJSON (json: any): any
Creates a new instance of this class and initializes it with values from a JSON object
generated from an ArcGIS product. The object passed into the input json
parameter often comes from a response to a query operation in the REST API or a
toJSON()
method from another ArcGIS product. See the Using fromJSON()
topic in the Guide for details and examples of when and how to use this function.
Parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
| json | A JSON representation of the instance in the ArcGIS format. See the ArcGIS REST API documentation for examples of the structure of various input JSON objects. | |
- Returns
- any
Returns a new instance of this class.
clone
- Signature
-
clone (): this
Creates a deep clone of this object. Any properties that store values by reference will be assigned copies of the referenced values on the cloned instance.
- Returns
- this
A deep clone of the class instance that invoked this method.
equals
- Signature
-
equals (other: this): boolean
Compares this analysis with another analysis to determine whether they are equivalent.
toJSON
- Signature
-
toJSON (): any
Converts an instance of this class to its ArcGIS portal JSON representation. See the Using fromJSON() guide topic for more information.
- Returns
- any
The ArcGIS portal JSON representation of an instance of this class.