@arcgis/map-components
Version:
ArcGIS Map Components
42 lines (41 loc) • 2.04 kB
TypeScript
/// <reference types="@arcgis/core/interfaces.d.ts" />
import { default as DirectLineMeasurementAnalysis } from '@arcgis/core/analysis/DirectLineMeasurementAnalysis.js';
import { default as SceneView } from '@arcgis/core/views/SceneView';
import { AnalysisViewModel } from '../../support/AnalysisViewModel';
import { MeasurementModeString, MeasurementState, MeasurementValue } from '../../support/measurementUtils';
export interface Measurement {
readonly mode: MeasurementModeString;
readonly directDistance: MeasurementValue<__esri.Length>;
readonly horizontalDistance: MeasurementValue<__esri.Length>;
readonly verticalDistance: MeasurementValue<__esri.Length>;
}
export type State = "disabled" | "measured" | "measuring" | "ready";
export default class DirectLineMeasurement3DViewModel extends AnalysisViewModel<SceneView, DirectLineMeasurementAnalysis> {
initialize(): void;
get state(): Exclude<MeasurementState, "unsupported">;
get displayState(): MeasurementState;
/**
* The current measurement calculated between the two points.
*/
get measurement(): Measurement;
/**
* List of unit systems (imperial, metric) and specific units for displaying the distance values.
*/
get unitOptions(): __esri.SystemOrLengthUnit[];
set unitOptions(units: __esri.SystemOrLengthUnit[] | undefined);
private _userUnitOptions?;
/**
* Unit system (imperial, metric) or specific unit used for displaying the distance values.
*/
get unit(): __esri.SystemOrLengthUnit;
set unit(unit: __esri.SystemOrLengthUnit | undefined);
private _userUnit?;
get defaultUnit(): __esri.MeasurementSystem | undefined;
place(options?: {
signal?: AbortSignal;
}): Promise<void>;
protected clearAnalysis(): void;
protected readonly supportedViewType = "3d";
protected readonly unsupportedErrorMessage = "The Direct Line Measurement 3D component is only supported in 3D views.";
protected constructAnalysis(): DirectLineMeasurementAnalysis;
}