UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

140 lines (138 loc) 8.61 kB
import type Layer from "./Layer.js"; import type PictureMarkerSymbol from "../symbols/PictureMarkerSymbol.js"; import type SimpleFillSymbol from "../symbols/SimpleFillSymbol.js"; import type SimpleLineSymbol from "../symbols/SimpleLineSymbol.js"; import type SimpleMarkerSymbol from "../symbols/SimpleMarkerSymbol.js"; import type { MultiOriginJSONSupportMixin } from "../core/MultiOriginJSONSupport.js"; import type { BlendLayer, BlendLayerProperties } from "./mixins/BlendLayer.js"; import type { OperationalLayer, OperationalLayerProperties } from "./mixins/OperationalLayer.js"; import type { PortalLayer, PortalLayerProperties } from "./mixins/PortalLayer.js"; import type { RefreshableLayer, RefreshableLayerProperties } from "./mixins/RefreshableLayer.js"; import type { ScaleRangeLayer, ScaleRangeLayerProperties } from "./mixins/ScaleRangeLayer.js"; import type { SimpleLineSymbolProperties } from "../symbols/SimpleLineSymbol.js"; import type { SimpleMarkerSymbolProperties } from "../symbols/SimpleMarkerSymbol.js"; import type { PictureMarkerSymbolProperties } from "../symbols/PictureMarkerSymbol.js"; import type { SimpleFillSymbolProperties } from "../symbols/SimpleFillSymbol.js"; import type { LayerProperties } from "./Layer.js"; export interface GeoRSSLayerProperties extends LayerProperties, ScaleRangeLayerProperties, PortalLayerProperties, OperationalLayerProperties, RefreshableLayerProperties, BlendLayerProperties, Partial<Pick<GeoRSSLayer, "legendEnabled" | "url">> { /** Symbol used to represent line features from the GeoRSS feed. */ lineSymbol?: (SimpleLineSymbolProperties & { type: "simple-line" }) | null; /** Symbol used to represent point features from the GeoRSS feed. */ pointSymbol?: (PictureMarkerSymbolProperties & { type: "picture-marker" }) | (SimpleMarkerSymbolProperties & { type: "simple-marker" }) | null; /** Symbol used to represent polygon features from the GeoRSS feed. */ polygonSymbol?: (SimpleFillSymbolProperties & { type: "simple-fill" }) | null; /** * Refresh interval of the layer in minutes. Value of `0` indicates no refresh. * * @default 0 * @since 4.22 * @see [refresh()](https://developers.arcgis.com/javascript/latest/references/core/layers/GeoRSSLayer/#refresh) * @see [refresh event](https://developers.arcgis.com/javascript/latest/references/core/layers/GeoRSSLayer/#event-refresh) * @example * // the layer will be refreshed every 6 minute. * layer.refreshInterval = 1; * @see [RefreshableLayer.refresh()](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/RefreshableLayer/#refresh) * @see [refresh event](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/RefreshableLayer/#event-refresh) * @example * // the layer will be refreshed every minute. * layer.refreshInterval = 1; */ refreshInterval?: number; /** * The title of the layer used to identify it in places such as the [Legend](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-legend/) * and [LayerList](https://developers.arcgis.com/javascript/latest/references/core/widgets/LayerList/). * * When the layer is loaded from a portal item, the title of the portal item will be used. * If a layer is loaded as part of a webmap or a webscene, then the title of the layer as stored in the webmap/webscene will be used. */ title?: string | null; } /** * The GeoRSSLayer class is used to create a layer based on [GeoRSS](https://www.ogc.org/standards/georss). * GeoRSS is a way to add geographic information to an RSS feed. The GeoRSSLayer supports both * `GeoRSS-Simple` and `GeoRSS GML` encodings, and multiple geometry types. * * It exports custom RSS tags as additional attribute fields in the form of simple strings or an array of JSON objects. * * The GeoRSSLayer uses a utility service from [ArcGIS.com](https://www.arcgis.com). Therefore a GeoRSS file must be * publicly accessible on the internet. If the GeoRSS files are behind the firewall you must to set the * [esriConfig.geoRSSServiceUrl](https://developers.arcgis.com/javascript/latest/references/core/config/#Config-geoRSSServiceUrl) to your own utility service (requires ArcGIS Enterprise). * * [![georss-sample](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/layers-georss.png)](https://developers.arcgis.com/javascript/latest/sample-code/layers-georss/) * * > [!WARNING] * > * > **Known Limitations** * > * > Currently the GeoRSSLayer is not supported in SceneView. * * @since 4.3 * @see [Add a GeoRSSLayer to your Map](https://developers.arcgis.com/javascript/latest/sample-code/layers-georss/) */ export default class GeoRSSLayer extends GeoRSSLayerSuperclass { /** * @example * // Typical usage * esriConfig.geoRSSServiceUrl = "https://utility.arcgis.com/sharing/rss"; * * const layer = new GeoRSSLayer({ * url: "https://disasterscharter.org/charter-portlets/cpi-mvc/activations/feed/rss/" * }); */ constructor(properties?: GeoRSSLayerProperties); /** * Indicates whether the layer will be included in the legend. * * @default true */ accessor legendEnabled: boolean; /** Symbol used to represent line features from the GeoRSS feed. */ get lineSymbol(): SimpleLineSymbol | null | undefined; set lineSymbol(value: (SimpleLineSymbolProperties & { type: "simple-line" }) | null | undefined); /** Symbol used to represent point features from the GeoRSS feed. */ get pointSymbol(): PictureMarkerSymbol | SimpleMarkerSymbol | null | undefined; set pointSymbol(value: (PictureMarkerSymbolProperties & { type: "picture-marker" }) | (SimpleMarkerSymbolProperties & { type: "simple-marker" }) | null | undefined); /** Symbol used to represent polygon features from the GeoRSS feed. */ get polygonSymbol(): SimpleFillSymbol | null | undefined; set polygonSymbol(value: (SimpleFillSymbolProperties & { type: "simple-fill" }) | null | undefined); /** * Refresh interval of the layer in minutes. Value of `0` indicates no refresh. * * @default 0 * @since 4.22 * @see [refresh()](https://developers.arcgis.com/javascript/latest/references/core/layers/GeoRSSLayer/#refresh) * @see [refresh event](https://developers.arcgis.com/javascript/latest/references/core/layers/GeoRSSLayer/#event-refresh) * @example * // the layer will be refreshed every 6 minute. * layer.refreshInterval = 1; * @see [RefreshableLayer.refresh()](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/RefreshableLayer/#refresh) * @see [refresh event](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/RefreshableLayer/#event-refresh) * @example * // the layer will be refreshed every minute. * layer.refreshInterval = 1; */ accessor refreshInterval: number; /** * The title of the layer used to identify it in places such as the [Legend](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-legend/) * and [LayerList](https://developers.arcgis.com/javascript/latest/references/core/widgets/LayerList/). * * When the layer is loaded from a portal item, the title of the portal item will be used. * If a layer is loaded as part of a webmap or a webscene, then the title of the layer as stored in the webmap/webscene will be used. */ accessor title: string | null | undefined; /** The layer type provides a convenient way to check the type of the layer without the need to import specific layer modules. */ get type(): "geo-rss"; /** The URL pointing to a GeoRSS file. This must be publicly available. */ accessor url: string | null | undefined; /** * Fetches all the data for the layer. * * @since 4.22 * @see [refreshInterval](https://developers.arcgis.com/javascript/latest/references/core/layers/GeoRSSLayer/#refreshInterval) * @see [refresh event](https://developers.arcgis.com/javascript/latest/references/core/layers/GeoRSSLayer/#event-refresh) * @see [RefreshableLayer.refreshInterval](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/RefreshableLayer/#refreshInterval) * @see [refresh event](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/RefreshableLayer/#event-refresh) */ refresh(): void; } declare const GeoRSSLayerSuperclass: typeof Layer & typeof MultiOriginJSONSupportMixin & typeof ScaleRangeLayer & typeof PortalLayer & typeof OperationalLayer & typeof RefreshableLayer & typeof BlendLayer