declarations
Version:
[](https://www.npmjs.com/package/declarations)
1,052 lines (1,050 loc) • 799 kB
TypeScript
// Type definitions for ArcGIS API for JavaScript v3.17
// Project: http://js.arcgis.com
// Definitions by: Esri <http://www.esri.com>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
declare module "esri" {
import Graphic = require("esri/graphic");
import Point = require("esri/geometry/Point");
import ScreenPoint = require("esri/geometry/ScreenPoint");
import FeatureLayer = require("esri/layers/FeatureLayer");
import Map = require("esri/map");
import ImageParameters = require("esri/layers/ImageParameters");
import ImageServiceParameters = require("esri/layers/ImageServiceParameters");
import InfoTemplate = require("esri/InfoTemplate");
import Basemap = require("esri/dijit/Basemap");
import Extent = require("esri/geometry/Extent");
import TileInfo = require("esri/layers/TileInfo");
import BasemapLayer = require("esri/dijit/BasemapLayer");
import Symbol = require("esri/symbols/Symbol");
import BookmarkItem = require("esri/dijit/BookmarkItem");
import Color = require("esri/Color");
import LocationProviderBase = require("esri/tasks/locationproviders/LocationProviderBase");
import PictureMarkerSymbol = require("esri/symbols/PictureMarkerSymbol");
import RouteParameters = require("esri/tasks/RouteParameters");
import SimpleLineSymbol = require("esri/symbols/SimpleLineSymbol");
import Font = require("esri/symbols/Font");
import ArcGISDynamicMapServiceLayer = require("esri/layers/ArcGISDynamicMapServiceLayer");
import LineSymbol = require("esri/symbols/LineSymbol");
import MarkerSymbol = require("esri/symbols/MarkerSymbol");
import LayerSource = require("esri/layers/LayerSource");
import GraphicsLayer = require("esri/layers/GraphicsLayer");
import SpatialReference = require("esri/SpatialReference");
import Layer = require("esri/layers/layer");
import SimpleFillSymbol = require("esri/symbols/SimpleFillSymbol");
import ArcGISImageServiceLayer = require("esri/layers/ArcGISImageServiceLayer");
import SimpleMarkerSymbol = require("esri/symbols/SimpleMarkerSymbol");
import Locator = require("esri/tasks/locator");
import InfoWindowBase = require("esri/InfoWindowBase");
import LOD = require("esri/layers/LOD");
import Polyline = require("esri/geometry/Polyline");
import Polygon = require("esri/geometry/Polygon");
import FillSymbol = require("esri/symbols/FillSymbol");
import PrintTemplate = require("esri/tasks/PrintTemplate");
import QueryTask = require("esri/tasks/QueryTask");
import TextSymbol = require("esri/symbols/TextSymbol");
import StandardGeographyQueryTask = require("esri/tasks/geoenrichment/StandardGeographyQueryTask");
import WMSLayerInfo = require("esri/layers/WMSLayerInfo");
import WMTSLayerInfo = require("esri/layers/WMTSLayerInfo");
export interface AGSMouseEvent extends MouseEvent {
graphic?: Graphic;
mapPoint: Point;
screenPoint: ScreenPoint;
}
export interface AddOptions {
/** The features that were added to the feature layer. */
addedGraphics?: Graphic[];
/** The feature layer where the new feature(s) are added. */
featureLayer?: FeatureLayer;
}
export interface AggregatePointsOptions {
/** The URL to the GPServer used to execute an analysis job. */
analysisGpServer?: string;
/** A field name from pointLayer based on which the points will be grouped. */
groupByField?: string;
/** When true, the polygons that have no points within them will be returned in the output. */
keepBoundariesWithNoPoints?: boolean;
/** Reference to the map object. */
map?: Map;
/** The name of the output layer to be shown in the Result layer name inputbox. */
outputLayerName?: string;
/** The point feature layer that will be aggregated into the polygons in the polygon feature layer. */
pointLayer: FeatureLayer;
/** The polygon layer to be shown selected in in the Choose area menu. */
polygonLayer: FeatureLayer;
/** An array of feature layer candidates to be selected as the input polygon layer. */
polygonLayers: FeatureLayer[];
/** The url to the ArcGIS.com site or in-house portal where the GP server is hosted. */
portalUrl?: string;
/** When true, returns the result of analysis as a client-side feature collection. */
returnFeatureCollection?: boolean;
/** When true, the choose extent checkbox will be shown. */
showChooseExtent?: boolean;
/** When true, the show credit option is visible. */
showCredits?: boolean;
/** When true, the help links will be shown. */
showHelp?: boolean;
/** When true, the select folder dropdown will be shown. */
showSelectFolder?: boolean;
/** An array of attribute field names and statistic types that you would like to aggregate for all points within each polygon. */
summaryFields?: string[];
}
export interface ArcGISDynamicMapServiceLayerOptions {
/** Class attribute to set for the layer's node. */
className?: string;
/** Specify the geodatabase version to display. */
gdbVersion?: string;
/** Id to assign to the layer. */
id?: string;
/** Represents the image parameter options. */
imageParameters?: ImageParameters;
/** infoTemplates object. */
infoTemplates?: any;
/** Initial opacity or transparency of layer. */
opacity?: number;
/** Refresh interval of the layer in minutes. */
refreshInterval?: number;
/** Specify the metadata of the layer. */
resourceInfo?: any;
/** When true, the layer's attribution is displayed on the map. */
showAttribution?: boolean;
/** By default, images are exported in MIME format, and the image is streamed to the client. */
useMapImage?: boolean;
/** When true, the layer will update its content based on the map's time extent. */
useMapTime?: boolean;
/** Initial visibility of the layer. */
visible?: boolean;
}
export interface ArcGISImageServiceLayerOptions {
/** Id to assign to the layer. */
id?: string;
/** The image service parameter options used when exporting an Image Service layer. */
imageServiceParameters?: ImageServiceParameters;
/** The template that defines the content to display in the map info window when the user clicks on a raster. */
infoTemplate?: InfoTemplate;
/** Initial opacity or transparency of layer. */
opacity?: number;
/** Specify the metadata of the layer. */
resourceInfo?: any;
/** By default, images are exported in MIME format, and the image is streamed to the client. */
useMapImage?: boolean;
/** When true, the layer will update its content based on the map's time extent. */
useMapTime?: boolean;
/** Initial visibility of the layer. */
visible?: boolean;
}
export interface ArcGISImageServiceVectorLayerOptions {
/** Apply a function for visualization or post-processing purposes. */
pixelFilter?: any;
/** Set the default renderer from a list of predefined options. */
rendererStyle?: string;
/** A value used to aggregate pixels into tiles for visualization purposes. */
symbolTileSize?: number;
}
export interface ArcGISTiledMapServiceLayerOptions {
/** Class attribute to set for the layer's node. */
className?: string;
/** Lists which levels to draw. */
displayLevels?: number[];
/** An array of objects that define areas where a tiled map service should not display tiles. */
exclusionAreas?: any[];
/** Id to assign to the layer. */
id?: string;
/** infoTemplates object. */
infoTemplates?: any;
/** Initial opacity or transparency of layer. */
opacity?: number;
/** Refresh interval of the layer in minutes. */
refreshInterval?: number;
/** The purpose of resampling is to enlarge the image and fill in at the levels where there are no tiles available. */
resampling?: boolean;
/** Number of levels beyond the last level where tiles are available. */
resamplingTolerance?: number;
/** Specify the metadata of the layer. */
resourceInfo?: any;
/** When true, the layer's attribution is displayed on the map. */
showAttribution?: boolean;
/** Array of REST endpoints that can be used to retrieve tile images. */
tileServers?: string[];
/** Initial visibility of the layer. */
visible?: boolean;
}
export interface AttributeInspectorOptions {
/** See the object specifications table below for the structure of the layerInfos object. */
layerInfos: any[];
}
export interface AttributionOptions {
/** String used as the delimiter between attribution items. */
itemDelimiter?: string;
/** Reference to the map object. */
map: Map;
}
export interface BasemapGalleryOptions {
/** List of basemap layer ids in the current map. */
basemapIds?: string[];
/** An array of user-defined basemaps to display in the BasemapGallery. */
basemaps?: Basemap[];
/** Specify an ArcGIS.com group that contains web maps that will be used as basemaps in the gallery. */
basemapsGroup?: any;
/** Specify your Bing Maps key if the basemap group you want to display in the gallery contains bing basemaps. */
bingMapsKey?: string;
/** Reference to the map. */
map: Map;
/** Specify the portal url, including the instance name, used to access the group that contains the basemap gallery items. */
portalUrl?: string;
/** List of reference layer ids in the current map. */
referenceIds?: string[];
/** When true, queries ArcGIS.com to retrieve available basemaps. */
showArcGISBasemaps?: boolean;
}
export interface BasemapLayerOptions {
/** If the url points to an image service, you can specify which band ids will display. */
bandIds?: number[];
/** The attribution information for the layer. */
copyright?: string;
/** If the url points to a cached map service you can specify the levels to draw. */
displayLevels?: number[];
/** Specify the full extent of the layer. */
fullExtent?: Extent;
/** Specify the initial extent of the layer. */
initialExtent?: Extent;
/** Set to true if the layer is a reference layer and should be drawn on top of all other layers in the map. */
isReference?: boolean;
/** Initial opacity or transparency of the basemap layer. */
opacity?: number;
/** Specify subDomains where tiles are served to speed up tile retrieval (using subDomains gets around the browser limit of the max number of concurrent requests to a domain). */
subDomains?: string[];
/** The URL template used to retrieve the tiles. */
templateUrl?: string;
/** Define the tile info for the layer including lods, rows, cols, origin and spatial reference. */
tileInfo?: TileInfo;
/** Define additional tile server domains for the layer. */
tileServer?: string[];
/** The type of layer, valid values are "BingMapsAerial", "BingMapsHybrid", "BingMapsRoad", "OpenStreetMap", or "WebTiledLayer". */
type?: string;
/** URL to the ArcGIS Server REST resource that represents a map or image service. */
url?: string;
/** If the url points to a dynamic map service you can specify a subset of layers to display. */
visibleLayers?: number[];
}
export interface BasemapOptions {
/** The id of the basemap. */
id?: string;
/** An array of layers to add to the basemap. */
layers: BasemapLayer[];
/** A URL to a thumbnail image for the basemap that will be displayed in the BasemapGallery. */
thumbnailUrl?: string;
/** Title for the basemap. */
title?: string;
}
export interface BasemapToggleOptions {
/** The secondary basemap to toggle to. */
basemap?: string;
/** Object containing the labels and URLs for the image of each basemap. */
basemaps?: any;
/** Map object that this dijit is associated with. */
map: Map;
/** Class used for styling the widget. */
theme?: string;
/** Whether the widget is visible by default. */
visible?: boolean;
}
export interface BlendRendererOptions {
/** This determines how colors are blended together. */
blendMode?: string;
/** An array of objects to blend containing the field name and color to use. */
fields: any[];
/** The field to normalize. */
normalizationField?: string;
/** An array of objects which determines opacity. */
opacityStops: any[];
/** The symbol in which the BlendRenderer is applied. */
symbol: Symbol;
}
export interface BookmarksOptions {
/** An array of BookmarkItem objects or a json object with the BookmarkItem format to initially display in the bookmark widget. */
bookmarks?: BookmarkItem[];
/** When true, users can add, remove and edit bookmark items. */
editable?: boolean;
/** Reference to the map. */
map: Map;
}
export interface CSVLayerOptions {
/** The column delimiter. */
columnDelimiter?: string;
/** Copyright information for the layer. */
copyright?: string;
/** The fields property contains objects with "name", "alias" and "type" String properties. */
fields?: any[];
/** The latitude field name. */
latitudeFieldName?: string;
/** The longitude field name. */
longitudeFieldName?: string;
/** An array of strings which correspond to fields to include in the CSVLayer. */
outFields?: string[];
}
export interface ChooseBestFacilitiesOptions {
/** The URL to the analysis service, for example "http://analysis.arcgis.com/arcgis/rest/services/tasks/GPServer". */
analysisGpServer?: string;
/** The number of facilities to choose when allocating demand locations. */
candidateCount?: number;
/** Specify how much demand every facility in the candidateFacilitiesLayer is capable of supplying. */
candidateFacilitiesCapacity?: string;
/** String value indicating the field name on the candidateFacilitiesLayer representing how much demand each facility in the candidatesFacilitiesLayer is capable of supplying. */
candidateFacilitiesCapacityField?: string;
/** A point layer specifying one or more locations that act as facilities by providing some kind of service. */
candidateFacilitiesLayer?: FeatureLayer;
/** The amount of demand available at every demand locations. */
demand?: number;
/** String value indicating the field name on the demandLocationLayer representing the amount of demand available at each demand location. */
demandField?: string;
/** A point layer specifying the locations that have demand for facilities. */
demandLocationLayer?: FeatureLayer;
/** Array of point layers to be used for choosing the demandLocationLayer. */
demandLocationLayers: FeatureLayer[];
/** When true, Travel Modes (Driving Time) is enabled for the inputLayer with the point geometries (esriGeometryPoint). */
enableTravelModes?: boolean;
/** Array of point layers used for setting the required facilities layer and candidate facilities layer. */
featureLayers: FeatureLayer[];
/** Sets the selected folder of the select folder dropdown. */
folderId?: string;
/** Sets the selected folder of the select folder dropdown. */
folderName?: string;
/** Reference to the map. */
map?: Map;
/** The maximum travel time or distance allowed between a demand location and its allocated facility. */
maxTravelRange?: number;
/** String value indicating the field name on the demandLocationLayer specifying the maximum travel time or distance allowed between a demand location and its allocated facility. */
maxTravelRangeField?: string;
/** The name of the output layer to be displayed in the result layer nameinputbox. */
outputLayerName?: string;
/** The percentage of the total demand that you want the chosen and required facilities to capture. */
percentDemandCoverage?: number;
/** The URL to the ArcGIS organization or Portal site where the GP server is hosted. */
portalUrl?: string;
/** Specify how much demand every facility in the requiredFacilitiesLayer is capable of supplying. */
requiredFacilitiesCapacity?: number;
/** A field on the requiredFacilitiesLayer representing how much demand each facility in this layer is capable of supplying. */
requiredFacilitiesCapacityField?: string;
/** A point layer specifying one or more locations that act as facilities by providing some kind of service. */
requiredFacilitiesLayer?: FeatureLayer;
/** Indicates whether to return the result of analysis as a client-side feature collection. */
returnFeatureCollection?: boolean;
/** Indicates whether the "choose extent checkbox" is displayed. */
showChooseExtent?: boolean;
/** Indicates whether to show the credit options. */
showCredits ?: boolean;
/** Indicates whether the help links are displayed. */
showHelp?: boolean;
/** Indicates whether to add an option to the UI that allows users to choose ready-to-use analysis layers from the Living Atlas Analysis Layers. */
showReadyToUseLayers?: boolean;
/** Indicates whether to display a dropdown menu listing valid input analysis layers. */
showSelectAnalysisLayer?: boolean;
/** Indicates whether the select folder dropdown will be displayed. */
showSelectFolder?: boolean;
/** The default widget title with a custom title. */
title?: string;
}
export interface CircleOptions1 {
/** Applicable when the spatial reference of the center point is either set to Web Mercator or geographic/geodesic as true would apply. */
geodesic?: boolean;
/** A circle can be thought of similar to a polygon. */
numberOfPoints?: number;
/** Radius of the circle. */
radius?: number;
/** Unit of the radius. */
radiusUnit?: string;
}
export interface CircleOptions2 {
/** The center point of the circle. */
center: Point | number[];
/** Applicable when the spatial reference of the center point is either set to Web Mercator or geographic/geodesic as true would apply. */
geodesic?: boolean;
/** A circle can be thought of similar to a polygon. */
numberOfPoints?: number;
/** The radius of the circle. */
radius?: number;
/** Unit of the radius. */
radiusUnit?: string;
}
export interface ClassedColorSliderOptions {
/** Data map containing renderer information. */
breakInfos: any;
/** Indicates the classification method used to divide the range of values into bins. */
classificationMethod?: string;
/** Required: Handles identified by their index values within the stops array. */
handles: number[];
/** Represents the histogram data object. */
histogram?: any;
/** Width of the histogram in pixels. */
histogramWidth?: number;
/** Indicates how data values are normalized. */
normalizationType?: string;
/** Handle identified by its index value within the stops array. */
primaryHandle?: number;
/** Width of the widget ramp in pixels. */
rampWidth?: number;
/** Displays slider handles when true. */
showHandles?: boolean;
/** Displays the histogram when true. */
showHistogram?: boolean;
/** Displays slider labels when true. */
showLabels?: boolean;
/** Displays ticks on slider when true. */
showTicks?: boolean;
/** Represents the statistics data object. */
statistics?: any;
}
export interface ClassedSizeSliderOptions {
/** The data map containing renderer information. */
breakInfos: any;
/** Optional: Indicates the classification method used to divide the range of values into bins. */
classificationMethod?: string;
/** Required: Handles identified by their index values within the stops array. */
handles: number[];
/** Represents the histogram data object. */
histogram?: any;
/** Width of histogram in pixels. */
histogramWidth?: number;
/** Indicates how data values are normalized. */
normalizationType?: string;
/** The handle identified by its index value within the stops array. */
primaryHandle?: number;
/** Width of slider ramp in pixels. */
rampWidth?: number;
/** Displays slider handles when true. */
showHandles?: boolean;
/** Indicates whether to display the histogram. */
showHistogram?: boolean;
/** Displays labels when true. */
showLabels?: boolean;
/** Displays slider ticks when true. */
showTicks?: boolean;
/** Optional: Represents the statistics data object. */
statistics?: any;
}
export interface ColorInfoSliderOptions {
/** The data map containing renderer information. */
colorInfo: any;
/** Handles identified by their index values within the stops array. */
handles: number[];
/** Optional: Represents the histogram data object. */
histogram?: any;
/** Width of histogram in pixels. */
histogramWidth?: number;
/** The absolute maximum value of the slider. */
maxValue?: number;
/** The absolute minimum value of the slider. */
minValue?: number;
/** The handle identified by its index value within the stops array. */
primaryHandle?: number;
/** Width of widget ramp in pixels. */
rampWidth?: number;
/** Displays handles when set to true. */
showHandles?: boolean;
/** Displays the histogram when true. */
showHistogram?: boolean;
/** Displays labels when set to true. */
showLabels?: boolean;
/** Indicates whether to display percentage labels. */
showRatioLabels?: boolean | string;
/** Displays tick marks when set to true. */
showTicks?: boolean;
/** Displays transparent background when set to true. */
showTransparentBackground?: boolean;
/** Represents a statistics data object. */
statistics?: any;
/** Additional options to customize slider. */
zoomOptions?: any;
}
export interface ColorPickerOptions {
/** The selected color. */
color: Color;
/** The row size of the palette. */
colorsPerRow: number;
/** The set of available color options. */
palette: Color[];
/** Array of recent colors to show in the recent colors row. */
recentColors: Color[];
/** Toggles color selection being required. */
required: boolean;
/** Toggles the recent color row. */
showRecentColors: boolean;
/** Toggles the transparency slider. */
showTransparencySlider: boolean;
}
export interface ConnectOriginsToDestinationsOptions {
/** The URL to the GPServer used to execute an analysis job. */
analysisGpServer?: string;
/** The linear unit used with the distance value(s). */
distanceDefaultUnits?: string;
/** An array of feature layers containing destination points. */
featureLayers: FeatureLayer[];
/** Reference to the map object. */
map?: Map;
/** The point feature layer containing the origin points. */
originsLayer: FeatureLayer;
/** The name of the output layer to be shown in the Result layer name input box. */
outputLayerName?: string;
/** The url to the ArcGIS.com site or in-house portal where the GP server is hosted. */
portalUrl?: string;
}
export interface CoordinatesLocationProviderOptions {
/** The attribute field in the graphic object that contains the longitude (X) values. */
xField: string;
/** The attribute field in the graphic object that has the latitude (Y) values. */
yField: string;
}
export interface CreateBuffersOptions {
/** The URL to the GPServer used to execute an analysis job. */
analysisGpServer?: string;
/** An array of buffer distances to buffer the input feature layer. */
bufferDistance?: number[];
/** The input point, line, or polygon feature layer to be buffered. */
inputLayer: FeatureLayer;
/** Reference to the map object. */
map?: Map;
/** The name of the output layer to be shown in the Result layer name inputbox. */
outputLayerName?: string;
/** The url to the ArcGIS.com site or in-house portal where the GP server is hosted. */
portalUrl?: string;
/** When true, returns the result of analysis as client-side feature collection. */
returnFeatureCollection?: boolean;
/** When true, the choose extent checkbox will be shown. */
showChooseExtent?: boolean;
/** When true, the show credit option is visible. */
showCredits?: string;
/** When true, the help links will be shown. */
showHelp?: boolean;
/** When true, the select folder dropdown will be shown. */
showSelectFolder?: boolean;
}
export interface CreateDriveTimeAreasOptions {
/** The URL to the GPServer used to execute an analysis job. */
analysisGpServer?: string;
/** The units of the breakValues parameter. */
breakUnits?: string;
/** An array of driving time break values. */
breakValues?: number[];
/** The point feature layer around which drive-time areas will be drawn. */
inputLayer: FeatureLayer;
/** The geometry type of the input layer. */
inputType?: string;
/** Reference to the map object. */
map?: Map;
/** The name of the output layer to be shown in the Result layer name inputbox. */
outputLayerName?: string;
/** The rule of overlap. */
overlapPolicy?: string;
/** The url to the ArcGIS.com site or in-house portal where the GP server is hosted. */
portalUrl?: string;
/** When true, returns the result of analysis as a client-side feature collection. */
returnFeatureCollection?: boolean;
/** When true, the choose extent checkbox will be shown. */
showChooseExtent?: boolean;
/** When true, the show credit option is visible. */
showCredits?: boolean;
/** When true, the help links will be shown. */
showHelp?: boolean;
/** When true, the select folder dropdown will be shown. */
showSelectFolder?: boolean;
}
export interface CreateViewshedOptions {
/** The URL to the GPServer used to execute an analysis job. */
analysisGpServer?: string;
/** Feature layer containing observation points to be used as input. */
inputLayer: FeatureLayer;
/** Reference to the map object. */
map?: Map;
/** The url to the ArcGIS.com site or in-house portal where the GP server is hosted. */
portalUrl?: string;
}
export interface CreateWatershedsOptions {
/** The URL to the GPServer used to execute an analysis job. */
analysisGpServer?: string;
/** The feature layer containing input points used for calculating watersheds. */
inputLayer: FeatureLayer;
/** Reference to the map object. */
map?: Map;
/** The url to the ArcGIS.com site or in-house portal where the GP server is hosted. */
portalUrl?: string;
}
export interface CutOptions {
/** The feature(s) added to the feature layer by the cut operation. */
addedGraphics?: Graphic[];
/** The feature layer that contains the cut feature(s). */
featureLayer?: FeatureLayer;
/** The updated feature(s). */
postUpdatedGraphics?: Graphic[];
/** The feature(s) before the cut operation is performed. */
preUpdatedGraphics?: Graphic[];
}
export interface DataAdapterFeatureLayerOptions {
/** The query parameters to use in retrieving the data through the DataAdapter. */
dataAdapterQuery: any;
/** An instance of the LocationProvider class. */
locationProvider: LocationProviderBase;
}
export interface DataBrowserOptions {
/** Whether or not to display the hierarchy dropdown for countries with multiple hierarchies (e.g. */
allowHierarchies?: boolean;
/** Show/hide country drop down. */
countryBox?: boolean;
/** Two-digit country code selected in the country drop down. */
countryID?: string;
/** The hierarchy to load for a country (e.g. */
hierarchyID?: string;
/** Text string to display on the back button on the second and third pages of the Data Browser. */
pageBackButton?: string;
/** Selected variables array. */
selection?: string[];
/** Whether to display the "Shopping Cart" of selected variables. */
shoppingCart?: boolean;
/** Title to show in the top left hand corner. */
title?: string;
}
export interface DeleteOptions {
/** The features that were removed from the feature layer. */
deletedGraphics?: Graphic[];
/** The feature layer from which the feature(s) are removed. */
featureLayer?: FeatureLayer;
}
export interface DirectionsOptions {
/** Defines the values that label each stop. */
alphabet?: string | string[] | boolean;
/** When true, solve will start when the last destination is complete and enter key is hit. */
autoSolve?: boolean;
/** Display the 'Add Destination' button. */
canModifyStops?: boolean;
/** Center the map at the start of the selected route segment. */
centerAtSegmentStart?: boolean;
/** The returned directions object from the routing solve result. */
directions?: any;
/** Length units. */
directionsLengthUnits?: string;
/** Enable the dragging of stop locations on the map. */
dragging?: boolean;
/** Focus the cursor in the stop input when a new stop is added. */
focusOnNewStop?: boolean;
/** The symbol that is used to denote the start location on the map. */
fromSymbol?: PictureMarkerSymbol;
/** The symbol that displays when the from location is dragged to a new location. */
fromSymbolDrag?: PictureMarkerSymbol;
/** If available, this geometry service is used to provide latitude/longitude values for stops whose reverse geocoding did not return an address (Added at v3.11). */
geometryTaskUrl?: string;
/** Reference to the map object. */
map: Map;
/** Activates the map-click-active toggle button when true. */
mapClickActive?: boolean;
/** Maximum number of stops. */
maxStops?: number;
/** Minimum number of stops. */
minStops?: number;
/** When true, stops on the route are re-ordered to provide an optimal route. */
optimalRoute?: boolean;
/** If specified, this specifies the portal where the produced route layers are going to be stored and accessed. */
portalUrl?: string;
/** URL link to a custom print page. */
printPage?: string;
/** If available, this print task is used to display an overview map of the route on the directions print page (Added at v3.11). */
printTaskUrl?: string;
/** HTML string for providing a custom printing page */
printTemplate?: string;
/** When true, the route will return to start point. */
returnToStart?: boolean;
/** Specify the input parameters for the route task. */
routeParams?: RouteParameters;
/** Define the symbol used to draw the route on the map. */
routeSymbol?: SimpleLineSymbol;
/** Specify the service that will be used to calculate directions. */
routeTaskUrl?: string;
/** Used to define optional search options. */
searchOptions?: any;
/** Define the info template for the popup that appears when the popup for a route segment is displayed. */
segmentInfoTemplate?: InfoTemplate;
/** Specify the symbol used to render the individual route segments that display on the map when a direction step is clicked. */
segmentSymbol?: SimpleLineSymbol;
/** Defines whether the Directions widget will show the map-click-active toggle button. */
showActivateButton?: boolean;
/** If true, the Clear button is shown. */
showClearButton?: boolean;
/** If true, the toggle button group allowing user to choose between Miles and Kilometers is shown. */
showMilesKilometersOption?: boolean;
/** When true, the Optimize order option is shown. */
showOptimalRouteOption?: boolean;
/** When true the 'Print' button is displayed that allows users to display driving directions in a print page. */
showPrintPage?: boolean;
/** When true, the Return to start option is shown. */
showReturnToStartOption?: boolean;
/** Display the 'Show Reverse Stops' button. */
showReverseStopsButton?: boolean;
/** Applicable if the widget works with a Network Analyst Server federated with ArcGIS Online or Portal. */
showSaveButton?: boolean;
/** Highlight the route segment when a directions step is clicked. */
showSegmentHighlight?: boolean;
/** Display a popup with segment details when a direction step is clicked. */
showSegmentPopup?: boolean;
/** When true, the Use traffic option is shown. */
showTrafficOption?: boolean;
/** If true, and six Standard Travel Modes are supported by the service and accessible using current credentials, then two toggle button groups are shown: one to allow user to choose between Driving a Car, a Truck, and Walking, and one more group to choose between Fastest and Shortest routes. */
showTravelModesOption?: boolean;
/** True if currently calculating the route from the routing service. */
solving?: boolean;
/** List of graphics used to display the point marker. */
stopGraphics?: Graphic[];
/** An array of points that define the stop locations. */
stops?: Point[] | number[][] | string[] | any[];
/** Define the info template for the popup that appears when a stop is clicked. */
stopsInfoTemplate?: InfoTemplate;
/** The symbol that displays on the map for the locations between the origin and final destination locations. */
stopSymbol?: PictureMarkerSymbol;
/** The symbol that displays when an intermediate location is dragged to a new location. */
stopSymbolDrag?: PictureMarkerSymbol;
/** List of graphics used to display the text over the point marker. */
textGraphics?: Graphic[];
/** The text color for the text that appears for each destination. */
textSymbolColor?: Color;
/** The font used for the text that displays on the map for each stop location. */
textSymbolFont?: Font;
/** Define an x and/or y offset for the text symbols that are used for the stop locations on the map. */
textSymbolOffset?: any;
/** Specify a theme for the widget. */
theme?: string;
/** The symbol that is used to denote the final destination location on the map. */
toSymbol?: PictureMarkerSymbol;
/** The symbol that displays when an final destination location is dragged to a new location. */
toSymbolDrag?: PictureMarkerSymbol;
/** When true, real-time traffic is used to plan the route. */
traffic?: boolean;
/** The traffic layer used for real-time traffic. */
trafficLayer?: ArcGISDynamicMapServiceLayer;
}
export interface DissolveBoundariesOptions {
/** The URL to the GPServer used to execute an analysis job. */
analysisGpServer?: string;
/** An array of field names based on which polygons are merged. */
dissolveFields?: string[];
/** The layer containing polygon features that will be dissolved. */
inputLayer: FeatureLayer;
/** Reference to the map object. */
map?: Map;
/** The name of the output layer to be shown in the Result layer name inputbox. */
outputLayerName?: string;
/** The url to the ArcGIS.com site or in-house portal where the GP server is hosted. */
portalUrl?: string;
/** When true, returns the result of analysis as a client-side feature collection. */
returnFeatureCollection?: boolean;
/** When true, the choose extent checkbox will be shown. */
showChooseExtent?: boolean;
/** When true, the show credit option is visible. */
showCredits?: boolean;
/** When true, the help links will be shown. */
showHelp?: boolean;
/** When true, the select folder dropdown will be shown. */
showSelectFolder?: boolean;
/** An array of field names and statistical summary types that you wish to calculate from the polygons that are dissolved together. */
summaryFields?: string[];
}
export interface DotDensityRendererOptions {
/** The color to be used for the background of the symbol. */
backgroundColor?: Color;
/** The shape to be used for the dot. */
dotShape?: string;
/** The size of the dot in pixels. */
dotSize?: number;
/** The value that a dot represents. */
dotValue: number;
/** An array of objects, where each object defines a field to be mapped and its color. */
fields: any[];
/** The line symbol to use on the outline of the feature. */
outline?: LineSymbol;
}
export interface DrawOptions {
/** Determines how much time to wait before adding a new point when using a freehand tool. */
drawTime?: number;
/** If true, tooltips are displayed when creating new graphics with the draw toolbar. */
showTooltips?: boolean;
/** Determines how far the mouse moves before adding a new point when using one of the freehand tools. */
tolerance?: number;
/** Determines how far to offset the tool tip from the mouse pointer. */
tooltipOffset?: number;
}
export interface DriveBufferOptions {
/** The radii to use to create ring buffers */
radius: number[];
/** The units of the radii. */
units: string;
}
export interface EditOptions {
/** Specifies whether users can add new vertices. */
allowAddVertices?: boolean;
/** Specifies whether users can delete vertices. */
allowDeleteVertices?: boolean;
/** Line symbol used to draw the guild lines, displayed when moving vertices. */
ghostLineSymbol?: LineSymbol;
/** Marker symbol used to display the insertable vertices. */
ghostVertexSymbol?: MarkerSymbol;
/** If users want to place the text symbol editor to a user defined HTML element. */
textSymbolEditorHolder?: Node | string;
/** When true, if the geometry is re-sized the aspect ration will be preserved. */
uniformScaling?: boolean;
/** Marker symbol used to draw the vertices. */
vertexSymbol?: MarkerSymbol;
}
export interface EditorOptions {
/** Create a new settings object that defines the capabilities of the widget. */
settings?: any;
}
export interface ElevationProfileOptions {
/** This object contains properties used to render the chart. */
chartOptions?: any;
/** Reference to the map. */
map: Map;
/** The URL to the elevation profile service. */
profileTaskUrl: string;
/** The measurement unit of the scalebar units. */
scalebarUnits?: string;
}
export interface EnrichLayerOptions {
/** The URL to the GPServer used to execute an analysis job. */
analysisGpServer?: string;
/** An buffer distance or driving time value to buffer the input feature layer. */
distance?: number;
/** When true, Travel Modes (Driving Time) is enabled for inputLayer with point geometries (esriGeometryPoint). */
enableTravelModes?: boolean;
/** The input feature layer to enrich with new data. */
inputLayer: FeatureLayer;
/** Reference to the map object. */
map?: Map;
/** The name of the output layer to be shown in the Result layer name inputbox. */
outputLayerName?: string;
/** The url to the ArcGIS.com site or in-house portal where the GP server is hosted. */
portalUrl?: string;
/** When true, returns the result of analysis as a client-side feature collection. */
returnFeatureCollection?: boolean;
/** When true, the choose extent checkbox will be shown. */
showChooseExtent?: boolean;
/** When true, the show credit option is visible. */
showCredits?: boolean;
/** When true, the help links will be shown. */
showHelp?: boolean;
/** When true, the select folder dropdown will be shown. */
showSelectFolder?: boolean;
/** When true, you can specify a time for traffic condition under Define areas to enrich - Driving Time. */
showTrafficWidget?: boolean;
}
export interface ExtractDataOptions {
/** The URL to the GPServer used to execute an analysis job. */
analysisGpServer?: string;
/** If true, the Clip features option in Study area will be ckecked. */
clip?: boolean;
/** The format of output data shown as the default selection in the Output data format menu. */
dataFormat?: string;
/** An array for feature layers to be extracted. */
featureLayers: FeatureLayer[];
/** An array for feature layers to be extracted. */
inputLayers?: FeatureLayer[];
/** Reference to the map object. */
map?: Map;
/** The name of the output layer to be shown in the Result layer name inputbox. */
outputLayerName?: string;
/** The url to the ArcGIS.com site or in-house portal where the GP server is hosted. */
portalUrl?: string;
/** When true, returns the result of analysis as a client-side feature collection. */
returnFeatureCollection?: boolean;
/** When true, the choose extent checkbox will be shown. */
showChooseExtent?: boolean;
/** When true, the show credit option is visible. */
showCredits?: boolean;
/** When true, the help links will be shown. */
showHelp?: boolean;
/** When true, the select folder dropdown will be shown. */
showSelectFolder?: boolean;
}
export interface FeatureLayerOptions {
/** Enable or disable the auto generalization of features from a non-editable layer in on-demand mode. */
autoGeneralize?: boolean;
/** Class attribute to set for the layer's node. */
className?: string;
/** Where clause to use as definition expression for layer. */
definitionExpression?: string;
/** When true, graphics are displayed during panning. */
displayOnPan?: boolean;
/** Set a callback function that will be invoked by FeatureLayer.getEditSummary. */
editSummaryCallback?: Function;
/** Specify the geodatabase version to display. */
gdbVersion?: string;
/** Unique ID to assign to the layer. */
id?: string;
/** The template that defines the content to display in the map info window when the user clicks on a feature. */
infoTemplate?: InfoTemplate;
/** The maximum allowable offset, only applicable for layers that are not editable. */
maxAllowableOffset?: number;
/** The query mode for the feature layer. */
mode?: number;
/** Initial opacity or transparency of layer. */
opacity?: number;
/** One or more fields used to order features by - for queries as well as for rendering. */
orderByFields?: string[];
/** An array of strings which correspond to fields to include in the FeatureLayer. */
outFields?: string[];
/** Refresh interval of the layer in minutes. */
refreshInterval?: number;
/** Specify the metadata of the layer. */
resourceInfo?: any;
/** When true, the layer's attribution is displayed on the map. */
showAttribution?: boolean;
/** Indicates whether to show labels on the layer. */
showLabels?: boolean;
/** The dynamic layer or table source. */
source?: LayerSource;
/** Specify the size of the virtual tiles, used in on-demand mode. */
tileHeight?: number;
/** Specify the size of the virtual tiles, used in on-demand mode. */
tileWidth?: number;
/** The name of the trackIdField. */
trackIdField?: string;
/** When true, the layer will update its content based on the map's time extent. */
useMapTime?: boolean;
/** Initial visibility of the layer. */
visible?: boolean;
}
export interface FeatureLayerStatisticsOptions {
/** The feature layer that will be the source for calculating statistics. */
layer: FeatureLayer;
}
export interface FeatureTableOptions {
/** The number of features a service will try to fetch. */
batchCount?: number;
/** Object defining the date options specifically for formatting date and time editors. */
dateOptions?: any;
/** Sets the editing state for the FeatureTable. */
editable?: boolean;
/** The featureLayer that the table is associated with. */
featureLayer: FeatureLayer;
/** An array of objects representing field information. */
fieldInfos?: any[];
/** Reference to the 'Options' drop-down menu. */
gridMenu?: any;
/** Object that can be used to set properties used by the underlying dgrid. */
gridOptions?: any;
/** Columns to hide by default using the dGrid ColumnHider extension. */
hiddenFields?: string[];
/** A reference to the Map. */
map?: Map;
/** Adds additional functional menu items for the 'Options' drop-down menu. */
menuFunctions?: any[];
/** Attribute fields to include in the FeatureTable. */
outFields?: string[];
/** Displays or hides the attachment column. */
showAttachments?: boolean;
/** Displays the data type of the field right under the field label. */
showDataTypes?: boolean;
/** Displays or hides total number of features and selected number of features in the grid header. */
showFeatureCount?: boolean;
/** Displays or hides the FeatureTable header. */
showGridHeader?: boolean;
/** Displays or hides 'Options' drop-down menu of the FeatureTable. */
showGridMenu?: boolean;
/** Displays or hides the 'Statistics' option in column menus for numeric fields. */
showStatistics?: boolean;
/** Enables an interaction between the map and the feature table. */
syncSelection?: boolean;
/** Enables pan/zoom to selected features on the map when the table in 'sync selection' mode. */
zoomToSelection?: boolean;
}
export interface FindHotSpotsOptions {
/** An array of feature layer candidates to be selected as the aggregation polygon layer. */
aggregationPolygonLayers: FeatureLayer[];
/** The numeric field in the AnalysisLayer that will be analyzed. */
analysisField?: string;
/** The URL to the GPServer used to execute an analysis job. */
analysisGpServer?: string;
/** The feature layer for which hot spots will be calculated. */
analysisLayer: FeatureLayer;
/** An array of feature layer candidates to be selected as the bounding polygon layer. */
boundingPolygonLayers: FeatureLayer[];
/** When true, make process info to get analysis report. */
isProcessInfo?: boolean;
/** Reference to the map object. */
map?: Map;
/** The name of the output layer to be shown in the Result layer name inputbox. */
outputLayerName?: string;
/** The url to the ArcGIS.com site or in-house portal where the GP server is hosted. */
portalUrl?: string;
/** When true, returns the result of analysis as a client-side feature collection. */
returnFeatureCollection?: boolean;
/** When true, the choose extent checkbox will be shown. */
showChooseExtent?: boolean;
/** When true, the show credit option is visible. */
showCredits?: boolean;
/** When true, the help links will be shown. */
showHelp?: boolean;
/** When true, the select folder dropdown will be shown. */
showSelectFolder?: boolean;
}
export interface FindNearestOptions {
/** The URL to the GPServer used to execute an analysis job. */
analysisGpServer?: string;
/** The feature layer from which the nearest features are found. */
analysisLayer: FeatureLayer;
/** When true, Travel Modes ( Driving Distance, Driving Time) are enabled for analysisLayer with point geometries (esriGeometryPoint). */
enableTravelModes?: boolean;
/** Reference to the map object. */
map?: Map;
/** The maximum number of nearest locations to find for each feature in analysisLayer. */
maxCount?: number;
/** The feature layer to be shown selected in the "1. */
nearLayer: FeatureLayer;
/** An array of near layer candidates. */
nearLayers: FeatureLayer[];
/** The name of the output layer to be shown in the Result layer name inputbox. */
outputLayerName?: string;
/** The url to the ArcGIS.com site or in-house portal where the GP server is hosted. */
portalUrl?: string;
/** When true, returns the result of analysis as a client-side feature collection. */
returnFeatureCollection?: boolean;
/** The maximum range to search for nearest locations from each feature in the analysisLayer. */
searchCutoff?: number;
/** The units of the searchCutoff parameter. */
searchCutoffUnits?: string;
/** When true, the choose extent checkbox will be shown. */
showChooseExtent?: boolean;
/** When true, the show credit option is visible. */
showCredits?: boolean;
/** When true, the help links will be shown. */
showHelp?: boolean;
/** When true, the select folder dropdown will be shown. */
showSelectFolder?: boolean;
}
export interface FindTaskOptions {
/** Specify the geodatabase version to display. */
gdbVersion?: string;
}
export interface GalleryOptions {
/** An array of items, see example below. */
items: any[];
/** Display the title for each item in the gallery. */
showTitle?: boolean;
/** Specify the size of the gallery's thumbnail image. */
thumbnailStyle?: string;
}
export interface GaugeOptions {
/** Text to display at the bottom of the gauge. */
caption?: string;
/** Color used for the arc indicator on the gauge. */
color?: string;
/** Name of the attribute field used to drive the gauge. */
dataField?: string;
/** Either "value" or "percentage". */
dataFormat?: string;
/** Name of the attribute field used to display a feature name on the gauge. */
dataLabelField?: string;
/** When true, the gauge is created with JSON from an ArcGIS Online webmap. */
fromWebmap?: boolean;
/** A esri.layers.GraphicsLayer or esri.layers.FeatureLayer used to drive the gauge. */
layer?: GraphicsLayer;
/** Maximum value that will be displayed on the gauge. */
maxDataValue?: number;
/** The text to display when a feature does not not a value for the dataLabelField. */
noDataLabel?: string;
/** Ob