ESM: import MediaLayerView from "@arcgis/core/views/layers/MediaLayerView.js";
CDN: const MediaLayerView = await $arcgis.import("@arcgis/core/views/layers/MediaLayerView.js");
Class: @arcgis/core/views/layers/MediaLayerView
Since: ArcGIS Maps SDK for JavaScript 4.30
Represents the LayerView of a MediaLayer after it has been added to a Map in a MapView or SceneView.
Keyboard shortcutsVarious keyboard shortcuts are available when enabling interactive manipulation of media elements in the layer view.
Shortcut Action Z Incrementally undo actions recorded in the stack. The undo/redo stack is for an individual operation, meaning you can redo/undo actions while updating a single element. R Incrementally redo actions recorded in the stack. The undo/redo stack is for an individual operation, meaning you can redo/undo actions while updating a single element. Shift (resize) Enable uniform scaling when resizing an element. Shift (rotate) Enable rotation with 5 degree increments. Shift+Arrow Move an element by a single pixel. Shift+Primary+Arrow Move an element by 10 pixels. The primary key is the Cmd key on macos or Ctrl on other OS. Alt Hold to move the source point when dragging a control point in thereshape
tool. T Toggle transparency of the element.
Show inherited properties Hide inherited properties
Property DetailsInherited
Property declaredClass Stringreadonly
The name of the class. The declared class name is formatted as esri.folder.className
.
Options for when the layer view is interactive.
The type of tool to use to interact with media elements.
Value Description transform The media element can be moved, scaled and rotated as a whole (default). reshape The four corners of the media element can be moved individually.Possible Values:"transform"|"reshape"
reshapeOptions Accessor Autocasts from ObjectChanges the behavior of the reshape
tool.
Indicates if the source point should be edited when moving a control point. Only applies if the selected media element has a ControlPointsGeoreference
. Only supported in 3D.
interactive Boolean
Enables interactivity for the layer. When set to true
, any elements in the layer's source become selectable and editable.
Example
view.whenLayerView(mediaLayer).then((mediaLayerView) => {
// Enable interactivity and select first element
mediaLayerView.interactive = true;
mediaLayerView.selectedElement = mediaLayer.source.elements.at(0);
});
The selected element. If interactive is true
, any element in the layer can be selected by clicking on it in the view. As long as interactive remains true
, the properties of the selected element can be edited by interacting with manipulators in the view.
Example
view.whenLayerView(mediaLayer).then((mediaLayerView) => {
// Enable interactivity and select first element
mediaLayerView.interactive = true;
mediaLayerView.selectedElement = mediaLayer.source.elements.at(0);
});
suspended Booleanreadonly
Value is true
if the layer is suspended (i.e., layer will not redraw or update itself when the extent changes).
Inherited
Property uid Stringreadonly
Since: ArcGIS Maps SDK for JavaScript 4.33 LayerView since 4.0, uid added at 4.33.
An automatically generated unique identifier assigned to the instance. The unique id is generated each time the application is loaded.
Inherited
Property updating Booleanreadonly
Indicates if the layer view is making any updates that will impact what is displayed on the map. For example, this value is true
when renderer, definitionExpression, filter or effect is changed or if the layer view is in the process of the fetching data.
Watch dataUpdating property instead to only know when the data has been updated (e.g. to run statistics query on all feature available in the layer view).
Example
// Check for the first time layerView.updating becomes false. Then query for
// features that are visible within the view associated with the layer view.
await reactiveUtils.whenOnce(() => !layerView.updating);
const query = layerView.createQuery();
query.geometry = layerView.view.extent;
const result = layerView.queryFeatures(query);
A reference to the MapView or SceneView associated with the layer view.
Example
// Check for the first time layerView.updating becomes false. Then query for
// features that are visible within the view associated with the layer view.
await reactiveUtils.whenOnce(() => !layerView.updating);
const query = layerView.createQuery();
query.geometry = layerView.view.extent;
const result = layerView.queryFeatures(query);
Inherited
Property visible Boolean
When true
, the layer is visible in the view. Value of this property is inherited from the layer.visible
unless the developer overrides it. The layerView.visible
will take precedence over layer.visible
if both properties are set.
Inherited
Property visibleAtCurrentScale Booleanreadonly
When true
, the layer is visible in the view at the current scale. This applies to layers that have minScale
and maxScale
properties set.
Known Limitations
Inherited
Property visibleAtCurrentTimeExtent Booleanreadonly
When true
, the layer is visible in the view's timeExtent. This applies to layers that have a visibilityTimeExtent.
Show inherited methods Hide inherited methods
Method DetailsInherited
Method addHandles(handleOrHandles, groupKey)
Adds one or more handles which are to be tied to the lifecycle of the object. The handles will be removed when the object is destroyed.
// Manually manage handles
const handle = reactiveUtils.when(
() => !view.updating,
() => {
wkidSelect.disabled = false;
},
{ once: true }
);
this.addHandles(handle);
// Destroy the object
this.destroy();
Parameters
Handles marked for removal once the object is destroyed.
groupKey *
optionalKey identifying the group to which the handles should be added. All the handles in the group can later be removed with Accessor.removeHandles(). If no key is provided the handles are added to a default group.
Inherited
Method hasHandles(groupKey){Boolean}
Returns true if a named group of handles exist.
Parameter
groupKey *
optionalA group key.
Returns
Type Description Boolean Returnstrue
if a named group of handles exist.
Example
// Remove a named group of handles if they exist.
if (obj.hasHandles("watch-view-updates")) {
obj.removeHandles("watch-view-updates");
}
highlight(target, options){Handle}
Highlights the given media element(s) in a MediaLayerView. Highlights are only supported in 3D SceneView.
Parameters
The media element(s) to highlight.
optionalAn object with the following properties.
Specification
optionalThe name of the highlight options from the view's highlights collection. If a name
is provided, the corresponding highlight options will be applied to the media element(s). Otherwise, the default
highlight options will be used.
Returns
Type Description Handle Returns a highlight handler with aremove()
method that can be called to remove the highlight.
Example
// Add a new set of highlight options to the highlights collection
const highlightName = "mark";
view.highlights.push({ name: highlightName, color: "red", fillOpacity: 0.5 });
// Highlight a specific media element
view.whenLayerView(layer).then((layerView) => {
let element = layer.source.elements.getItemAt(0);
layerView.highlight(element, { name: highlightName } );
});
Inherited
Method isFulfilled(){Boolean}
isFulfilled()
may be used to verify if creating an instance of the class is fulfilled (either resolved or rejected). If it is fulfilled, true
will be returned.
Returns
Type Description Boolean Indicates whether creating an instance of the class has been fulfilled (either resolved or rejected).Inherited
Method isRejected(){Boolean}
isRejected()
may be used to verify if creating an instance of the class is rejected. If it is rejected, true
will be returned.
Returns
Type Description Boolean Indicates whether creating an instance of the class has been rejected.Inherited
Method isResolved(){Boolean}
isResolved()
may be used to verify if creating an instance of the class is resolved. If it is resolved, true
will be returned.
Returns
Type Description Boolean Indicates whether creating an instance of the class has been resolved.Inherited
Method removeHandles(groupKey)
Removes a group of handles owned by the object.
Parameter
groupKey *
optionalA group key or an array or collection of group keys to remove.
Example
obj.removeHandles(); // removes handles from default group
obj.removeHandles("handle-group");
obj.removeHandles("other-handle-group");
Inherited
Method when(callback, errback){Promise}
when()
may be leveraged once an instance of the class is created. This method takes two input parameters: a callback
function and an errback
function. The callback
executes when the instance of the class loads. The errback
executes if the instance of the class fails to load.
Parameters
optionalThe function to call when the promise resolves.
optionalThe function to execute when the promise fails.
Returns
Type Description Promise Returns a new promise for the result ofcallback
that may be used to chain additional functions.
Example
// Although this example uses MapView, any class instance that is a promise may use when() in the same way
let view = new MapView();
view.when(function(){
// This function will execute once the promise is resolved
}, function(error){
// This function will execute if the promise is rejected due to an error
});
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4