UNPKG

@arcgis/map-components

Version:
761 lines (759 loc) • 39.3 kB
/// <reference types="@arcgis/core/interfaces.d.ts" /> /// <reference types="../../index.d.ts" /> import { Nil } from '@arcgis/components-utils'; import { default as SceneView } from '@arcgis/core/views/SceneView.js'; import { default as WebScene } from '@arcgis/core/WebScene.js'; import { PublicLitElement as LitElement, TargetedEvent } from '@arcgis/lumina'; import { Use } from '@arcgis/lumina/controllers'; declare const useWebScene: (component: LitElement & Omit<Pick<WebScene, "basemap" | "focusAreas" | "ground" | "clippingArea" | "layers" | "tables" | "presentation" | "widgets" | "applicationProperties" | "authoringApp" | "authoringAppVersion" | "floorInfo" | "initialViewProperties" | "portalItem" | "thumbnailUrl" | "clippingEnabled" | "heightModelInfo">, "basemap" | "ground" | ("destroyed" | "initialized" | "declaredClass" | "set" | "watch" | "addHandles" | "removeHandles" | "hasHandles") | "layers" | "tables" | "presentation" | "widgets" | "applicationProperties" | "authoringApp" | "authoringAppVersion" | "floorInfo" | "initialViewProperties" | "portalItem" | "thumbnailUrl" | "clippingEnabled" | "heightModelInfo"> & { autoDestroyDisabled: boolean; destroy: () => Promise<void>; }) => WebScene; declare const useSceneView: (component: LitElement & Omit<Pick<SceneView, "container" | "map" | "basemapView" | "center" | "constraints" | "extent" | "fatalError" | "graphics" | "highlights" | "navigation" | "padding" | "popup" | "scale" | "spatialReference" | "theme" | "timeExtent" | "viewpoint" | "zoom" | "floors" | "highlightOptions" | "alphaCompositingEnabled" | "analyses" | "camera" | "clippingArea" | "environment" | "qualityProfile" | "viewingMode" | "breakpoints" | "heightBreakpoint" | "popupEnabled" | "widthBreakpoint" | "ui" | "animation" | "displayFilterEnabled">, "container" | "center" | ("destroyed" | "initialized" | "declaredClass" | "set" | "watch" | "addHandles" | "removeHandles" | "hasHandles") | "breakpoints" | "heightBreakpoint" | "popupEnabled" | "widthBreakpoint" | "ui" | "animation" | "displayFilterEnabled"> & { autoDestroyDisabled: boolean; destroy: () => Promise<void>; }) => SceneView; /** * The ArcGIS Scene component is used to add 3D maps to web applications. For 2D maps, use the * [ArcGIS Map component](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-map/). * * The Scene component creates a [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html) * and loads a [WebScene](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebScene.html) item from either * [ArcGIS Online](https://www.arcgis.com/home/index.html) or [ArcGIS Enterprise portal](https://enterprise.arcgis.com/en/portal/latest/administer/windows/what-is-portal-for-arcgis-.htm). * * ```html * <arcgis-scene item-id="e2da7564e4f24eaaa918ffd70378056a"></arcgis-scene> * ``` * * Alternatively, the Scene component can be initialized without a WebScene item: * * ```html * <arcgis-scene * basemap="satellite" * ground="world-elevation" * camera-position="12.3808, 46.3959, 4400" * camera-tilt="75" * camera-heading="300"> * </arcgis-scene> * ``` * * Further components can be added and connected to the Scene component: * * ```html * <arcgis-scene item-id="e2da7564e4f24eaaa918ffd70378056a"> * <arcgis-layer-list position="bottom-right"></arcgis-layer-list> * </arcgis-scene> * ``` * * The Scene component can be customized further using any of the [core API functionalities](https://developers.arcgis.com/javascript/latest/api-reference/) * of the ArcGIS Maps SDK for JavaScript. * * ```js * const viewElement = document.querySelector("arcgis-scene"); * await viewElement.viewOnReady(); * // The view is now ready to be used. * const layer = new GraphicsLayer({ title: "My layer"}); * viewElement.map.add(layer); * ``` * * **See also** * * - [SDK sample apps using the Scene component](https://developers.arcgis.com/javascript/latest/sample-code/?tagged=arcgis-scene) * - [Get started](https://developers.arcgis.com/javascript/latest/get-started/) * - [Programming patterns](https://developers.arcgis.com/javascript/latest/programming-patterns/) * * [Read more...](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/) */ export declare class ArcgisScene extends LitElement { /** The [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html) instance created and managed by the component. Accessible once the component is fully loaded. */ readonly view: SceneView; /** * Collection containing a flat list of all the created [LayerViews](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-LayerView.html) * related to the basemap, operational layers, and group layers in this view. */ readonly allLayerViews: __esri.Collection<__esri.LayerView>; /** * Allows the view to be partially or fully transparent when composited with the webpage elements behind it. * * @default false */ alphaCompositingEnabled: boolean; /** * Allows for adding analyses directly to the default analyses in the View. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#analyses) */ analyses: __esri.Collection<__esri.AnalysisUnion>; /** * If true, the component will not be destroyed automatically when it is * disconnected from the document. This is useful when you want to move the * component to a different place on the page, or temporarily hide it. If this * is set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/#destroy) method when you are done to * prevent memory leaks. * * @default false */ autoDestroyDisabled: boolean; /** * Specifies a basemap for the map. The basemap is a set of layers that give * geographic context to the view and the other operational layers * in the map. * It can either be set using a basemap ID string ([see values](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap)), * [Basemap](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html) * or [BasemapStyle](https://developers.arcgis.com/javascript/latest/api-reference/esri-support-BasemapStyle.html). * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) */ basemap?: __esri.Basemap | string; /** * Represents the [view for a single basemap](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BasemapView.html) * after it has been added to the map. */ basemapView: __esri.BasemapView; /** * The [camera](https://developers.arcgis.com/javascript/latest/api-reference/esri-Camera.html) allows to set the observation point from which the visible portion (or perspective) * of the view is determined. When set in the constructor, this property overrides the [center](#center), [extent](#extent), [scale](#scale), [viewpoint](#viewpoint), and [zoom](#zoom) properties. * * Setting the camera immediately changes the current view. For animating the view, see this component's * [goTo()](#goTo) method. */ get camera(): __esri.Camera; set camera(newValue: __esri.Camera); /** * The diagonal field of view (fov) angle for the camera. The range of angles must be between 1 and 170 degrees. * * Setting the camera fov immediately changes the current view. For animating the view, see this component's * [goTo()](#goTo) method. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-Camera.html#fov) */ get cameraFov(): Nil | number; set cameraFov(newValue: Nil | number); /** * The compass heading of the camera in degrees. * * Setting the camera heading immediately changes the current view. For animating the view, see this component's * [goTo()](#goTo) method. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-Camera.html#heading) */ get cameraHeading(): Nil | number; set cameraHeading(newValue: Nil | number); /** * The position of the camera defined by a map point. It can either be set with a * [Point](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html) instance * or a string in the format: longitude, latitude, elevation. E.g. `"12.3808, 46.3959, 4400"`. * * Setting the camera position immediately changes the current view. For animating the view, see this component's * [goTo()](#goTo) method. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-Camera.html#position) */ get cameraPosition(): __esri.Point | Nil | number[] | string; set cameraPosition(newValue: __esri.Point | Nil | number[] | string); /** * The tilt of the camera in degrees with respect to the surface as projected down from the camera position. * * Setting the camera tilt immediately changes the current view. For animating the view, see this component's * [goTo()](#goTo) method. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-Camera.html#tilt) */ get cameraTilt(): Nil | number; set cameraTilt(newValue: Nil | number); /** * Represents the center point of the view. It can be a string with the format `"<longitude>, <latitude>"` * or a [Point](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html) instance. * * Setting the center immediately changes the current view. For animating the view, see this component's * [goTo()](#goTo) method. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#center) */ get center(): __esri.SceneView["center"]; set center(newValue: __esri.SceneView["center"] | Nil | number[] | string); /** * Represents an optional clipping area used to define the visible [extent](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Extent.html) * of a Scene in `local` [viewingMode](#viewingMode). * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#clippingArea) */ clippingArea: nullish | __esri.Extent; /** * Specifies constraints for the camera's tilt, altitude, and view's clip distance. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#constraints) */ constraints: __esri.SceneViewConstraints; /** * Indicates whether a layer's `displayFilter` is honored when rendering layers in the view. * If `false`, the display filters are ignored and all features are rendered. * * @default false */ displayFilterDisabled: boolean; /** * Specifies various properties of the environment's visualization within the view, including lighting, background, weather, and more. * The Scene will redraw automatically when any property of environment changes. * * Modifying the lighting: * * ```js * viewElement.environment.lighting = { * type: "sun", // autocasts as new SunLighting() * date: new Date(), // sets the lighting to reflect the current time of day * directShadowsEnabled: true, * }; * ``` * * Setting the background: * * ```js * viewElement.environment = { * background: { * type: "color", * color: [255, 252, 244, 1] * }, * starsEnabled: false, * atmosphereEnabled: false * }; * ``` * * Changing the weather in the scene: * * ```js * viewElement.environment.weather = { * type: "rainy", // autocasts as new RainyWeather({ cloudCover: 0.7, precipitation: 0.3 }) * cloudCover: 0.7, * precipitation: 0.3 * }; * ``` * * **See also** * * - [SunLighting](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-environment-SunLighting.html) * - [VirtualLighting](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-environment-VirtualLighting.html) * - [SunnyWeather](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-environment-SunnyWeather.html) * - [CloudyWeather](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-environment-CloudyWeather.html) * - [RainyWeather](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-environment-RainyWeather.html) * - [SnowyWeather](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-environment-SnowyWeather.html) * - [FoggyWeather](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-environment-FoggyWeather.html) * - [Sample - Daylight component](https://developers.arcgis.com/javascript/latest/sample-code/daylight/) * - [Sample - Weather component](https://developers.arcgis.com/javascript/latest/sample-code/weather/) * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#environment) */ environment: __esri.SceneViewEnvironment; /** * The extent represents the visible portion of a [map](#map) within the view as an instance of * [Extent](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Extent.html). * * Setting the extent immediately changes the view without animation. To animate * the view, see this component's [goTo()](#goTo) method. * When the view is rotated, the extent does not update to include the newly visible portions of the map. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#extent) */ get extent(): __esri.SceneView["extent"]; set extent(newValue: __esri.SceneView["extent"]); /** * A rejected view indicates a fatal [error](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Error.html) * making it unable to display. * * [Read more](https://next.sites.afd.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#fatalError) */ fatalError: nullish | __esri.Error; /** * Applies a display filter on the view for a specific set of floor levels. * It can filter the map display on floor-aware layers by zero or more level IDs. */ floors: __esri.Collection<string>; /** * A container of all [focus areas](https://developers.arcgis.com/javascript/latest/api-reference/esri-effects-FocusAreas.html) present in the map. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#focusAreas) * * @since 4.33 */ get focusAreas(): __esri.FocusAreas; set focusAreas(newValue: __esri.FocusAreas); /** Gamepad input specific configuration settings. */ get gamepad(): __esri.GamepadSettings; /** * Allows for adding graphics directly to the default graphics in the view. * * @example * ```js * // Adds a graphic to the View * graphics.add(pointGraphic); * // Removes a graphic from the View * graphics.remove(pointGraphic); * ``` */ graphics: __esri.Collection<__esri.Graphic>; /** * Specifies the surface properties for the [map](#map). It can be either a [Ground](https://developers.arcgis.com/javascript/latest/api-reference/esri-Ground.html) * instance or a string with one of the following values: * * `"world-elevation"` * * `"world-topobathymetry"` * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#ground) */ get ground(): typeof this._map.ground; set ground(value: __esri.Ground | string); /** * The view for the ground of the map. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#groundView) */ readonly groundView: __esri.GroundView; /** * Represents a collection of [HighlightOptions](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-support-HighlightOptions.html) objects which can be used to * highlight features throughout an application. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html#highlights) */ highlights: __esri.Collection<__esri.HighlightOptions>; /** * Options for configuring the highlight. * * @deprecated since 4.32, use [highlights](https://next.sites.afd.arcgis.com/javascript/latest/references/map-components/arcgis-scene/#highlights) property instead. */ highlightOptions: __esri.HighlightOptions; /** * Indication whether the view is being interacted with (for example when panning or by an interactive tool). * * @default false */ get interacting(): boolean; /** * The ID of a [WebScene](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebScene.html) item from either * [ArcGIS Online](https://www.arcgis.com/home/index.html) or [ArcGIS Enterprise portal](https://enterprise.arcgis.com/en/portal/latest/administer/windows/what-is-portal-for-arcgis-.htm). * * To configure the portal url you must set the [config.portalUrl](https://next.sites.afd.arcgis.com/javascript/latest/api-reference/esri-config.html#portalUrl) property before the Scene component loads. */ get itemId(): Nil | string; set itemId(newValue: Nil | string); /** * A collection containing a hierarchical list of all the created * [LayerViews](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-LayerView.html) of the * [operational layers](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#layers) in the [map](#map). */ readonly layerViews: __esri.Collection<__esri.LayerView>; /** The magnifier allows for showing a portion of the view as a magnifier image on top of the view. */ readonly magnifier: __esri.Magnifier; /** An instance of a [Map](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html) object to display in the view. */ map: __esri.Map | nullish; /** * Indication whether the view is being navigated (for example when panning). * * @default false */ get navigating(): boolean; /** * Options to configure the navigation behavior of the view. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#navigation) */ navigation: __esri.Navigation; /** * Use the padding property to make the [center](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#center), * and [extent](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#extent), * etc. work off a subsection of the full view. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#padding) * * @default {left: 0, top: 0, right: 0, bottom: 0} */ padding: __esri.ViewPadding; /** * This property contains performance information of the view, e.g. global memory usage and additional * details for layers about memory consumption and number of features. */ get performanceInfo(): __esri.SceneViewPerformanceInfo; /** * A [Popup](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html) * object that displays general content or attributes from [layers](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#layers) * in the [map](#map). * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#popup) */ popup: nullish | __esri.Popup; /** * Controls whether the popup opens when users click on the view. * * @default false */ popupDisabled: boolean; /** * Scenes can be drawn in three different quality modes: `high`, `medium` and `low`. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#qualityProfile) */ qualityProfile: "medium" | "low" | "high"; /** * When `true`, this property indicates whether the view successfully satisfied all dependencies, * signaling that the necessary conditions are met. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#ready) * * @default false */ readonly ready: boolean; /** * Represents the current value of one pixel in the unit of the view's * [spatialReference](#spatialReference). * The resolution is calculated by dividing the [Scene's extent](#extent) [width](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Extent.html#width) * by [its width](#width). */ get resolution(): number; /** * Represents the map scale at the center of the view. * * Setting the scale immediately changes the view. For animating * the view, see this component's [goTo()](#goTo) method. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#scale) */ get scale(): number; set scale(newValue: number); /** * The [spatial reference](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-SpatialReference.html) of the view. * This indicates the projected or geographic coordinate system used * to locate geographic features in the map. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#spatialReference) * * @default null */ spatialReference: __esri.SpatialReference; /** * Indication whether the view is animating, being navigated with or resizing. * * @default false */ get stationary(): boolean; /** * Indicates if the view is visible on the page. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#suspended) * * @default true */ readonly suspended: boolean; /** * This property specifies the base colors used by some components to render graphics and labels. * This only affects those elements that would otherwise use the default orange pattern. * * @default null */ theme: nullish | __esri.Theme; /** * The view's time extent. Time-aware layers display their temporal data that falls within * the view's time extent. Setting the view's time extent is similar to setting the spatial * extent because once the time extent is set, the * view updates automatically to conform to the change. * * @default null */ timeExtent: nullish | __esri.TimeExtent; /** * Indicates whether the view is being updated by additional data requests to the network, * or by processing received data. * * @default false */ readonly updating: boolean; /** * The viewing mode sets whether the view renders the earth as a sphere (global mode) or on a flat plane (local mode). * * Note that the viewing mode must be set before the Scene component loads. * Depending on the viewing mode different [supported coordinate systems](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#supported-coordinate-systems) are available. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#viewingMode) * * @default "global" */ viewingMode: "global" | "local"; /** * Represents the current view as a [Viewpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-Viewpoint.html) * or point of observation on the view. * * Setting the viewpoint immediately changes the current view. For animating * the view, see this component's [goTo()](#goTo) method. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#viewpoint) */ get viewpoint(): __esri.Viewpoint; set viewpoint(newValue: __esri.Viewpoint); /** * The visibleArea represents the visible portion of a [map](#map) within the view as an instance of a * [Polygon](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Polygon.html). * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#visibleArea) */ readonly visibleArea: nullish | __esri.Polygon; /** * Represents the level of detail (LOD) at the center of the view. * * Setting the zoom immediately changes the current view. For animating the view, see this component's [goTo()](#goTo) method. * Setting this property in conjunction with [center](#center) * is a convenient way to set the initial extent of the view. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#zoom) */ get zoom(): number; set zoom(newValue: number); /** * @deprecated * since 4.33, use `element.map.add(layer)` instead. * * Adds a layer to the [map's](https://next.sites.afd.arcgis.com/javascript/latest/references/map-components/arcgis-scene/#map) `layers` collection. */ addLayer(layer: __esri.Layer | Promise<any>, index?: number): Promise<void>; /** * @deprecated * since 4.33, use `element.map.addMany([layer])` instead. * * Adds a layer or array of layers to the [map's](https://next.sites.afd.arcgis.com/javascript/latest/references/map-components/arcgis-scene/#map) `layers` collection. */ addLayers(layers: __esri.Layer[], index?: number): Promise<void>; /** * @deprecated * since 4.33, use `element.map.tables.add(table)` instead. * * Adds a table to the [map's](https://next.sites.afd.arcgis.com/javascript/latest/references/map-components/arcgis-scene/#map) `tables` collection. */ addTable(table: __esri.FeatureLayer): Promise<void>; /** * @deprecated * since 4.33, use `element.map.tables.addMany([table])` instead. * * Adds a table or array of tables to the [map's](https://next.sites.afd.arcgis.com/javascript/latest/references/map-components/arcgis-scene/#map) `tables` collection. */ addTables(tables: __esri.FeatureLayer[], index?: number): Promise<void>; /** Closes the [popup](#popup). */ closePopup(): Promise<void>; /** * Destroys the Scene component, and any associated resources, including its [map](#map), [popup](#popup), * and removes components or other UI DOM elements added to it. */ destroy(): Promise<void>; /** * Sets the view to a given target. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#goTo) */ goTo(target: __esri.GoToTarget3D, options?: __esri.GoToOptions3D): Promise<unknown>; /** * Returns [hit test results](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#HitTestResult) * from each layer that intersects the specified screen coordinates. * * ```js * viewElement.addEventListener("arcgisViewClick", (event) => { * viewElement.hitTest(event.detail).then((response) => { * const result = response.results[0]; * if (result?.type === "graphic") { * const { longitude, latitude } = result.mapPoint; * console.log("Hit graphic at (" + longitude + ", " + latitude + ")", result.graphic); * } else { * console.log("Did not hit any graphic"); * } * }); * }); * ``` * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#hitTest) */ hitTest(screenPoint: __esri.SceneViewScreenPoint | MouseEvent, options?: __esri.SceneViewHitTestOptions): Promise<__esri.SceneViewHitTestResult>; /** * Opens the popup based on input options. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#openPopup) */ openPopup(options?: __esri.PopupViewOpenPopupOptions): Promise<void>; /** * Creates a screenshot of the current view. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#takeScreenshot) */ takeScreenshot(options?: __esri.SceneViewTakeScreenshotOptions): Promise<__esri.SceneViewScreenshot>; /** Converts the given screen point to a [map point](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html). */ toMap(screenPoint: __esri.SceneViewScreenPoint | MouseEvent, options?: __esri.SceneViewToMapOptions): __esri.Point | nullish; /** Converts the given [map point](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html) to a screen point. */ toScreen(point: __esri.Point): __esri.SceneViewScreenPoint; /** Call this method to clear any fatal errors resulting from a lost WebGL context. */ tryFatalErrorRecovery(): Promise<void>; /** * `viewOnReady()` may be leveraged once an instance of the component and its underlying [view](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/#view) is created and ready. * This method takes two input parameters, a `callback` function and an `errback` function, and returns a promise. The `callback` executes when the promise resolves, and the `errback` executes if the promise is rejected. * * @since 4.33 * @see [Watch for changes - waiting for components or views to be ready](https://developers.arcgis.com/javascript/latest/watch-for-changes/#waiting-for-components-or-views-to-be-ready) * @example * ```js * const viewElement = document.querySelector("arcgis-scene"); * await viewElement.viewOnReady(); * // The view is now ready to be used. * viewElement.map.add(new FeatureLayer({...})); * ``` */ viewOnReady(callback?: () => void, errback?: (error: Error) => void): Promise<void>; /** * Gets the analysis view created for the given analysis object. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#whenAnalysisView) */ whenAnalysisView(analysis: __esri.AreaMeasurementAnalysis | __esri.DimensionAnalysis | __esri.DirectLineMeasurementAnalysis | __esri.LineOfSightAnalysis | __esri.SliceAnalysis | __esri.ViewshedAnalysis): Promise<__esri.AreaMeasurementAnalysisView3D | __esri.DimensionAnalysisView3D | __esri.DirectLineMeasurementAnalysisView3D | __esri.LineOfSightAnalysisView3D | __esri.SliceAnalysisView3D | __esri.ViewshedAnalysisView3D>; /** * Gets the layer view created on the view for the given layer. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#whenLayerView) */ whenLayerView(layer: __esri.Layer): Promise<__esri.LayerView>; /** * This event is for view related property changes: [zoom](#zoom), [scale](#scale), [center](#center), [rotation](#rotation), [extent](#extent), * [camera](#camera), [viewpoint](#viewpoint). This event will also emit if [stationary](#stationary) toggles from `true` to `false`. */ readonly arcgisViewChange: TargetedEvent<this, void>; /** * Fires after a user clicks on the view. * * ```js * viewElement.addEventListener("arcgisViewClick", (event) => { * viewElement.hitTest(event.detail).then((response) => { * const result = response.results[0]; * // .... * }); * }); * ``` * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-click) */ readonly arcgisViewClick: TargetedEvent<this, __esri.ViewClickEvent>; /** * Fires after double-clicking on the view. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-double-click) */ readonly arcgisViewDoubleClick: TargetedEvent<this, __esri.ViewDoubleClickEvent>; /** * Fires during a pointer drag on the view. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-drag) */ readonly arcgisViewDrag: TargetedEvent<this, __esri.ViewDragEvent>; /** * Fires after holding either a mouse button or a single finger on the view for a short amount of time. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-hold) */ readonly arcgisViewHold: TargetedEvent<this, __esri.ViewHoldEvent>; /** * Fires right after a user clicks on the view. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-immediate-click) */ readonly arcgisViewImmediateClick: TargetedEvent<this, __esri.ViewImmediateClickEvent>; /** * Is emitted after two consecutive immediate-click events. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-immediate-double-click) */ readonly arcgisViewImmediateDoubleClick: TargetedEvent<this, __esri.ViewImmediateDoubleClickEvent>; /** * Fires after a keyboard key is pressed. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-key-down) */ readonly arcgisViewKeyDown: TargetedEvent<this, __esri.ViewKeyDownEvent>; /** * Fires after a keyboard key is released. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-key-up) */ readonly arcgisViewKeyUp: TargetedEvent<this, __esri.ViewKeyUpEvent>; /** * Fires after each layer in the map has a corresponding LayerView created and rendered in the view. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-layerview-create) */ readonly arcgisViewLayerviewCreate: TargetedEvent<this, __esri.ViewLayerviewCreateEvent>; /** * Fires when an error emits during the creation of a LayerView after a layer has been added to the map. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-layerview-create-error) */ readonly arcgisViewLayerviewCreateError: TargetedEvent<this, __esri.ViewLayerviewCreateErrorEvent>; /** * Fires after a LayerView is destroyed and is no longer rendered in the view. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-layerview-destroy) */ readonly arcgisViewLayerviewDestroy: TargetedEvent<this, __esri.ViewLayerviewDestroyEvent>; /** * Fires when the view for an analysis is created. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-analysis-view-create) */ readonly arcgisViewAnalysisViewCreate: TargetedEvent<this, __esri.ViewAnalysisViewCreateEvent>; /** * Fires when an error occurs during the creation of an analysis view after an analysis is added to the view. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-analysis-view-create-error) */ readonly arcgisViewAnalysisViewCreateError: TargetedEvent<this, __esri.ViewAnalysisViewCreateErrorEvent>; /** * Fires after an analysis view is destroyed. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-analysis-view-destroy) */ readonly arcgisViewAnalysisViewDestroy: TargetedEvent<this, __esri.ViewAnalysisViewDestroyEvent>; /** * Fires when a wheel button of a pointing device (typically a mouse) is scrolled on the view. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-mouse-wheel) */ readonly arcgisViewMouseWheel: TargetedEvent<this, __esri.ViewMouseWheelEvent>; /** * Fires after a mouse button is pressed, or a finger touches the display. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-pointer-down) */ readonly arcgisViewPointerDown: TargetedEvent<this, __esri.ViewPointerDownEvent>; /** * Fires after a mouse cursor enters the view, or a display touch begins. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-pointer-enter) */ readonly arcgisViewPointerEnter: TargetedEvent<this, __esri.ViewPointerEnterEvent>; /** * Fires after a mouse cursor leaves the view, or a display touch ends. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-pointer-leave) */ readonly arcgisViewPointerLeave: TargetedEvent<this, __esri.ViewPointerLeaveEvent>; /** * Fires after the mouse or a finger on the display moves. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-pointer-move) */ readonly arcgisViewPointerMove: TargetedEvent<this, __esri.ViewPointerMoveEvent>; /** * Fires after a mouse button is released, or a display touch ends. * * [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-pointer-up) */ readonly arcgisViewPointerUp: TargetedEvent<this, __esri.ViewPointerUpEvent>; /** * This event is for the [ready](#ready) property and will be emitted when the view is ready. * This event will also emit if the [map](#map) property is changed. */ readonly arcgisViewReadyChange: TargetedEvent<this, void>; private _map: __esri.Map; readonly _setterTypes: { center?: __esri.SceneView["center"] | Nil | number[] | string; ground?: __esri.Ground | string; }; } export {};