UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

79 lines (77 loc) 4.98 kB
import type Collection from "../../core/Collection.js"; import type { ReadonlyArrayOrCollection } from "../../core/Collection.js"; import type { EventedAccessor } from "../../core/Evented.js"; import type { LoadableMixin, LoadableMixinProperties } from "../../core/Loadable.js"; import type { EsriPromiseMixin } from "../../core/Promise.js"; import type { MediaElement } from "../media/types.js"; import type { ImageElementProperties } from "./ImageElement.js"; import type { VideoElementProperties } from "./VideoElement.js"; export interface LocalMediaElementSourceProperties extends LoadableMixinProperties { /** * [Image](https://developers.arcgis.com/javascript/latest/references/core/layers/support/ImageElement/) and [video](https://developers.arcgis.com/javascript/latest/references/core/layers/support/VideoElement/) * elements referenced in the [MediaLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/MediaLayer/). Image and video elements can be added or removed from [elements](https://developers.arcgis.com/javascript/latest/references/core/layers/support/LocalMediaElementSource/#elements) collection at runtime. * * @example * // add a new imageElement to the media layer at runtime * const imageElement = new ImageElement({ * image: "https://arcgis.github.io/arcgis-samples-javascript/sample-data/media-layer/neworleans1891.png", * georeference: new ExtentAndRotationGeoreference({ * extent: new Extent({ * spatialReference: { * wkid: 102100 * }, * xmin: -10047456.27662979, * ymin: 3486722.2723874687, * xmax: -10006982.870152846, * ymax: 3514468.91365495 * }) * }) * }); * layer.source.elements.add(imageElement); * @example * // remove image element from the media layer at runtime * layer.source.elements.remove(selectedImageElement); */ elements?: ReadonlyArrayOrCollection<(ImageElementProperties & { type: "image"; }) | (VideoElementProperties & { type: "video"; })>; } /** * The LocalMediaElementSource is the default [MediaLayer.source](https://developers.arcgis.com/javascript/latest/references/core/layers/MediaLayer/#source) for the MediaLayer. * It contains a collection of [image](https://developers.arcgis.com/javascript/latest/references/core/layers/support/ImageElement/) and [video](https://developers.arcgis.com/javascript/latest/references/core/layers/support/VideoElement/) * elements referenced in the [MediaLayer's source](https://developers.arcgis.com/javascript/latest/references/core/layers/MediaLayer/#source). Image and video elements can be added or removed from [elements](https://developers.arcgis.com/javascript/latest/references/core/layers/support/LocalMediaElementSource/#elements) collection at runtime. * * @since 4.24 * @see [MediaLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/MediaLayer/) * @see [Sample - MediaLayer with images](https://developers.arcgis.com/javascript/latest/sample-code/layers-medialayer-images/) * @see [Sample - MediaLayer with video](https://developers.arcgis.com/javascript/latest/sample-code/layers-medialayer-video/) */ export default class LocalMediaElementSource extends LocalMediaElementSourceSuperclass { constructor(properties?: LocalMediaElementSourceProperties); /** * [Image](https://developers.arcgis.com/javascript/latest/references/core/layers/support/ImageElement/) and [video](https://developers.arcgis.com/javascript/latest/references/core/layers/support/VideoElement/) * elements referenced in the [MediaLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/MediaLayer/). Image and video elements can be added or removed from [elements](https://developers.arcgis.com/javascript/latest/references/core/layers/support/LocalMediaElementSource/#elements) collection at runtime. * * @example * // add a new imageElement to the media layer at runtime * const imageElement = new ImageElement({ * image: "https://arcgis.github.io/arcgis-samples-javascript/sample-data/media-layer/neworleans1891.png", * georeference: new ExtentAndRotationGeoreference({ * extent: new Extent({ * spatialReference: { * wkid: 102100 * }, * xmin: -10047456.27662979, * ymin: 3486722.2723874687, * xmax: -10006982.870152846, * ymax: 3514468.91365495 * }) * }) * }); * layer.source.elements.add(imageElement); * @example * // remove image element from the media layer at runtime * layer.source.elements.remove(selectedImageElement); */ get elements(): Collection<MediaElement>; set elements(value: ReadonlyArrayOrCollection<(ImageElementProperties & { type: "image"; }) | (VideoElementProperties & { type: "video"; })>); } declare const LocalMediaElementSourceSuperclass: typeof EventedAccessor & typeof EsriPromiseMixin & typeof LoadableMixin