GraphicsLayerView

Class: esri/views/layers/GraphicsLayerView
Inheritance: GraphicsLayerView LayerView Accessor
Since: ArcGIS API for JavaScript 4.4

Represents the LayerView of a GraphicsLayer after it has been added to a Map in either a MapView or SceneView.

The GraphicsLayerView is responsible for rendering a GraphicsLayer's features as graphics in the View. The methods in the GraphicsLayerView provide developers with the ability to query graphics in the view. See the code snippets in the methods below for examples of how to access client-side graphics from the view.

See also:

Property Overview

Any properties can be set, retrieved or listened to. See the Working with Properties topic.
Show inherited properties Hide inherited properties
Name Type Summary Class
Stringmore details

The name of the class.

more detailsAccessor
Layermore details

The layer being viewed.

more detailsLayerView
Booleanmore details

Indicates if the spatialReference of the MapView is supported by the layer view.

more detailsLayerView
Booleanmore details

Value is true if the layer is suspended (i.e., layer will not redraw or update itself when the extent changes).

more detailsLayerView
Booleanmore details

Value is true when the layer is updating; for example, if it is in the process of fetching data.

more detailsLayerView
Booleanmore details

When true, the layer is visible in the view.

more detailsLayerView

Property Details

declaredClass Stringreadonly inherited
Since: ArcGIS API for JavaScript 4.7

The name of the class. The declared class name is formatted as esri.folder.className.

layer Layerreadonly inherited

The layer being viewed.

spatialReferenceSupported Booleanreadonly inherited
Since: ArcGIS API for JavaScript 4.23

Indicates if the spatialReference of the MapView is supported by the layer view. When false layer view will be suspended.

See also:
suspended Booleanreadonly inherited

Value is true if the layer is suspended (i.e., layer will not redraw or update itself when the extent changes).

See also:
updating Booleanreadonly inherited

Value is true when the layer is updating; for example, if it is in the process of fetching data.

Default Value:false
visible Boolean inherited

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.

Default Value:true

Method Overview

Show inherited methods Hide inherited methods
Name Return Type Summary Class
Handlemore details

Highlights the given feature(s).

more detailsGraphicsLayerView
Booleanmore details

isFulfilled() may be used to verify if creating an instance of the class is fulfilled (either resolved or rejected).

more detailsLayerView
Booleanmore details

isRejected() may be used to verify if creating an instance of the class is rejected.

more detailsLayerView
Booleanmore details

isResolved() may be used to verify if creating an instance of the class is resolved.

more detailsLayerView
more details

Adds one or more handles which are to be tied to the lifecycle of the object.

more detailsAccessor
Promise<Collection<Graphic>>more details

Returns all graphics available for drawing in the layer view as a collection.

more detailsGraphicsLayerView
Promisemore details

when() may be leveraged once an instance of the class is created.

more detailsLayerView

Method Details

highlight(target){Handle}

Highlights the given feature(s).

Parameter:
optional

The feature(s) to highlight. When passing a graphic or array of graphics, each feature must have a valid objectID. You may alternatively pass one or more objectIDs as a single number or an array.

Returns:
Type Description
Handle Returns a highlight handler with a remove() method that can be called to remove the highlight.
See also:
Example:
// highlight feature on pointer-move
view.on("pointer-move", function(event){
  view.hitTest(event).then(function(response){
    if (response.results.length) {
      let graphic = response.results.filter(function (result) {
        return result.graphic.layer === myLayer;
      })[0].graphic;

     view.whenLayerView(graphic.layer).then(function(layerView){
       layerView.highlight(graphic);
     });
    }
  });
});
isFulfilled(){Boolean}inherited

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).
isRejected(){Boolean}inherited

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.
isResolved(){Boolean}inherited

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.
own(handleOrHandles)inherited
Since: ArcGIS API for JavaScript 4.24

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.whenOnce(() => !view.updating)
  .then(() => {
    wkidSelect.disabled = false;
});

handle.remove();

// Assign a handle using own()
this.own(reactiveUtils.whenOnce(() => !view.updating)
  .then(() => {
    wkidSelect.disabled = false;
  }));
Parameter:
handleOrHandles WatchHandle|WatchHandle[]

Handles marked for removal once the object is destroyed.

queryGraphics(){Promise<Collection<Graphic>>}
Since: ArcGIS API for JavaScript 4.8

Returns all graphics available for drawing in the layer view as a collection.

Returns:
Type Description
Promise<Collection<Graphic>> When resolved, a Collection of all graphics is returned.
Example:
let layer = new GraphicsLayer();

// returns all the graphics from the layer view
view.whenLayerView(layer).then(function(layerView){
  layerView.watch("updating", function(val){
    if(!val){  // wait for the layer view to finish updating
      layerView.queryGraphics().then(function(results){
        console.log(results);  // prints the array of client-side graphics to the console
      });
    }
  });
});
when(callback, errback){Promise}inherited
Since: ArcGIS API for JavaScript 4.6

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:
callback Function
optional

The function to call when the promise resolves.

errback Function
optional

The function to execute when the promise fails.

Returns:
Type Description
Promise Returns a new promise for the result of callback 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
});

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.