@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
TypeScript
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).
*
* [](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