Types
import type { PortalLayer } from "@arcgis/core/layers/mixins/PortalLayer.js";- Subclasses
- BuildingSceneLayer, CSVLayer, CatalogLayer, ElevationLayer, FeatureLayer, GaussianSplatLayer, GeoJSONLayer, GeoRSSLayer, GroupLayer, ImageryLayer, ImageryTileLayer, IntegratedMesh3DTilesLayer, IntegratedMeshLayer, KMLLayer, KnowledgeGraphLayer, MapImageLayer, MapNotesLayer, MediaLayer, OGCFeatureLayer, WebTileLayer, PointCloudLayer, RouteLayer, SceneLayer, StreamLayer, SubtypeGroupLayer, TileLayer, UnknownLayer, UnsupportedLayer, VectorTileLayer, VideoLayer, VoxelLayer, WCSLayer, WFSLayer, WMSLayer, WMTSLayer
PortalLayer is a mixin that adds the portalItem property to layers that can be loaded from a portal item.
Properties
| Property | Type | Class |
|---|---|---|
| PortalItem | null | undefined | |
portalItem
autocast
Property
- Type
- PortalItem | null | undefined
The portal item from which the layer is loaded. If the portal item references
a feature or scene service, then you can specify a single layer
to load with the layer's layerId property.
Loading non-spatial tables
Non-spatial tables can be loaded from service items hosted in ArcGIS Online and ArcGIS Enterprise. This only applies to:
- FeatureLayer if the layer's isTable returns
trueat version 4.17. - SubtypeGroupLayer if the layer's isTable returns
trueat version 4.32.
- Examples
- // While this example uses FeatureLayer, this same pattern can be// used for other layers that may be loaded from portalItem ids.const layer = new FeatureLayer({portalItem: { // autocasts as new PortalItem()id: "caa9bd9da1f4487cb4989824053bb847"} // the first layer in the service is returned});// Set hostname when using an on-premise portal (default is ArcGIS Online)// esriConfig.portalUrl = "http://myHostName.esri.com/arcgis";// While this example uses FeatureLayer, this same pattern can be// used for SceneLayers.const layer = new FeatureLayer({portalItem: { // autocasts as new PortalItem()id: "8d26f04f31f642b6828b7023b84c2188"},// loads the third item in the given feature servicelayerId: 2});// Initialize GeoJSONLayer by referencing a portalItem id pointing to geojson file.const layer = new GeoJSONLayer({portalItem: new PortalItem({id: "81e769cd7031482797e1b0768f23c7e1",// optionally define the portal, of the item.// if not specified, the default portal defined is used.// see https://developers.arcgis.com/javascript/latest/references/core/config/#portalUrlportal: new Portal({url: "https://jsapi.maps.arcgis.com/"})}});// This snippet loads a table hosted in ArcGIS Online.const table = new FeatureLayer({portalItem: { // autocasts as esri/portal/PortalItemid: "123f4410054b43d7a0bacc1533ceb8dc"}});// Before adding the table to the map, it must first be loaded and confirm it is the right type.table.load().then(() => {if (table.isTable) {map.tables.add(table);}});// While this example uses FeatureLayer, this same pattern can be// used for other layers that may be loaded from portalItem ids.const layer = new FeatureLayer({portalItem: { // autocasts as esri/portal/PortalItemid: "caa9bd9da1f4487cb4989824053bb847",// Set an API key to access a secure portal item configured with API key authentication.apiKey: "APIKEY"}});