Create a FeatureLayer with client side graphics

This sample shows how to create a Feature Layer from client side graphics. The graphics are created from GeoJSON earthquake data requested from the USGS. After the graphics are created, they are added to a FeatureLayer.

Creating a FeatureLayer with client-side graphics requires five properties be set on the layer.

The array of graphics must be set on the source property. All graphics must have the same geometry type.

The geometryType of the layer is inferred from the graphics provided in the source and therefore doesn't have to be explicitly set by the developer.

The spatialReference of the features is inferred by the geometries provided in the source and therefore doesn't have to be explicitly set by the developer.

An array of field objects providing the schema (name, alias, and type) of each attribute field must be provided by the developer.

var layer = new FeatureLayer({
source: graphics, // autocast from an array of esri/Graphic// create an instance of esri/layers/support/Field for each field object
fields: fields,
objectIdField: "ObjectID",
popupTemplate: pTemplate,
renderer: quakesRenderer // set the visualization on the layer
});
map.add(layer);

Once the graphics are set on the layer, other layer properties, such as renderer and popupTemplate may be set, allowing you to leverage the benefits of a FeatureLayer for client-side graphics. Unlike FeatureLayer, the GraphicsLayer does not support renderer and popupTemplate properties.