@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
69 lines (67 loc) • 3.09 kB
TypeScript
import type Collection from "../core/Collection.js";
import type FocusArea from "./FocusArea.js";
import type { Clonable } from "../core/Clonable.js";
import type { JSONSupportMixin } from "../core/JSONSupport.js";
import type { FocusAreaProperties } from "./FocusArea.js";
import type { FocusAreaStyle } from "./types.js";
import type { ReadonlyArrayOrCollection } from "../core/Collection.js";
export interface FocusAreasProperties extends Partial<Pick<FocusAreas, "style">> {
/** A collection containing all focus areas. */
areas?: ReadonlyArrayOrCollection<FocusAreaProperties>;
}
/**
* A collection of focus areas in a [Map](https://developers.arcgis.com/javascript/latest/references/core/Map/).
*
* A [focus area](https://developers.arcgis.com/javascript/latest/references/core/effects/FocusArea/) highlights a region of the map by de-emphasizing parts outside
* the area of interest. Two predefined styles, dark or bright are available, to choose a visualization with good
* contrast for scenes with different coloring. A focus area can have a colored outline, which is helpful to
* distinguish different focus areas in a map. Focus areas can be captured in slides and shared as part of a webscene.
*
* [](https://developers.arcgis.com/javascript/latest/sample-code/focus-area/)
*
* > [!WARNING]
* >
* > **Known Limitations**
* >
* > Focus areas are only supported in [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/).
*
* @since 4.33
* @see [Sample - Focus Area](https://developers.arcgis.com/javascript/latest/sample-code/focus-area/)
* @see [FocusArea](https://developers.arcgis.com/javascript/latest/references/core/effects/FocusArea/)
* @see [Map.focusAreas](https://developers.arcgis.com/javascript/latest/references/core/Map/#focusAreas)
* @example
* // Adding a focus area to map.
* const focusAreaPolygon = new Polygon({
* spatialReference: { wkid: 102100 },
* rings: [[
* [1288603, 6130075],
* [1288415, 6130021],
* [1288459, 6130133],
* [1288603, 6130075],
* ]],
* });
*
* const focusArea = new FocusArea({
* outline: { color: [255, 128, 128, 0.55] },
* geometries: new Collection([focusAreaPolygon]),
* });
*
* map.focusAreas.areas.add(focusArea);
* map.focusAreas.style = "dark";
*/
export default class FocusAreas extends FocusAreasSuperclass {
constructor(properties?: FocusAreasProperties);
/** A collection containing all focus areas. */
get areas(): Collection<FocusArea>;
set areas(value: ReadonlyArrayOrCollection<FocusAreaProperties>);
/**
* The rendering style of the map, applied outside of all enabled focus areas.
*
* This property can be either "bright" or "dark", with the default value set to "bright". When there is no enabled
* focus area on the map, the view renders normally.
*
* @default "bright"
*/
accessor style: FocusAreaStyle;
}
declare const FocusAreasSuperclass: typeof Clonable & typeof JSONSupportMixin