@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
TypeScript
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