require(["esri/rest/support/DirectionsFeatureSet"], (DirectionsFeatureSet) => { /* code goes here */ });
import DirectionsFeatureSet from "@arcgis/core/rest/support/DirectionsFeatureSet.js";
esri/rest/support/DirectionsFeatureSet
DirectionsFeatureSet is a subclass of FeatureSet that contains street directions for a solved route.
DirectionsFeatureSet is only returned when a route is solved with an
directions output type of
"complete"
, "complete-no-events"
, "instructions-only"
, "standard"
, or "summary-only"
. The "featuresets" output type
returns two regular FeatureSet, one for events, and the other for the path in-between events.
- See also
// Get the drive time between Esri and the Redlands Bowl
const apiKey = "<ENTER YOUR API KEY HERE>";
const url = "https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World";
const spatialReference = SpatialReference.WebMercator;
const stops = new Collection([
new Stop({
name: "Esri",
geometry: new Point({ x: -13046165, y: 4036335, spatialReference })
}),
new Stop({
name: "Redland Bowl",
geometry: new Point({ x: -13045111, y: 4036114, spatialReference })
})
]);
const routeParameters = new RouteParameters({
apiKey,
stops,
outSpatialReference: spatialReference,
returnDirections: true,
directionsOutputType: "standard" // default value
});
const { routeResults } = await route.solve(url, routeParameters);
const { directions } = routeResults[0];
console.log(`The total drive time is: ${directions.totalTime}`);
Property Overview
Name | Type | Summary | Class |
---|---|---|---|
The name of the class. | Accessor | ||
The name of the layer's primary display field. | FeatureSet | ||
Typically, a layer has a limit on the number of features (i.e., records) returned by the query operation. | FeatureSet | ||
The extent of the route. | DirectionsFeatureSet | ||
An array of direction features. | DirectionsFeatureSet | ||
Information about each field. | FeatureSet | ||
The geometry type of the Directions FeatureSet. | DirectionsFeatureSet | ||
A single polyline representing the route. | DirectionsFeatureSet | ||
The geometry used to query the features. | FeatureSet | ||
The ID of the route. | DirectionsFeatureSet | ||
The name of the route. | DirectionsFeatureSet | ||
When a FeatureSet is used as input to Geoprocessor, the spatial reference is set to the map's spatial reference by default. | FeatureSet | ||
A flattened array of all direction strings. | DirectionsFeatureSet | ||
The total drive time for the route. | DirectionsFeatureSet | ||
The total length of the route. | DirectionsFeatureSet | ||
The total time for the route including wait and service time. | DirectionsFeatureSet |
Property Details
-
displayFieldName
InheritedPropertydisplayFieldName String
Inherited from FeatureSet -
The name of the layer's primary display field. The value of this property matches the name of one of the fields of the feature. This is only applicable when the FeatureSet is returned from a task. It is ignored when the FeatureSet is used as input to a geoprocessing task.
-
exceededTransferLimit
InheritedPropertyexceededTransferLimit Boolean
Inherited from FeatureSet -
Typically, a layer has a limit on the number of features (i.e., records) returned by the query operation. If
maxRecordCount
is configured for a layer,exceededTransferLimit
will betrue
if a query matches more than themaxRecordCount
features. It will befalse
otherwise. Supported by ArcGIS Server version 10.1 and later.
-
extent
extent Extent
-
The extent of the route.
-
An array of direction features. The features are of type DirectionsFeature.
-
Inherited from FeatureSet
-
Information about each field.
-
geometryType
geometryType String
-
The geometry type of the Directions FeatureSet.
For DirectionsFeatureSet the geometryType is always "polyline".
-
mergedGeometry
mergedGeometry Polyline
-
A single polyline representing the route.
-
queryGeometry
InheritedPropertyqueryGeometry Geometry
Inherited from FeatureSet -
The geometry used to query the features. It is useful for getting the buffer geometry generated when querying features by distance or getting the query geometry projected in the outSpatialReference of the query. The query geometry is returned only for client-side queries and hosted feature services. The query's returnQueryGeometry must be set to
true
and the layer's capabilities.query.supportsQueryGeometry has to betrue
for the query to return query geometry.- See also
-
routeId
routeId Number
-
The ID of the route.
-
routeName
routeName String
-
The name of the route.
-
spatialReference
InheritedPropertyspatialReference SpatialReference
Inherited from FeatureSet -
When a FeatureSet is used as input to Geoprocessor, the spatial reference is set to the map's spatial reference by default. This value can be changed. When a FeatureSet is returned from a task, the value is the result as returned from the server.
-
strings
strings DirectionsString[]
-
A flattened array of all direction strings.
-
totalDriveTime
totalDriveTime Number
-
The total drive time for the route. Temporal units are defined by RouteParameters.directionsTimeAttribute in a route solve request.
-
totalLength
totalLength Number
-
The total length of the route. Length units are defined by RouteParameters.directionsLengthUnits in a route solve request.
-
totalTime
totalTime Number
-
The total time for the route including wait and service time. Temporal units are defined by RouteParameters.directionsTimeAttribute in a route solve request.
Method Overview
Name | Return Type | Summary | Class |
---|---|---|---|
Adds one or more handles which are to be tied to the lifecycle of the object. | Accessor | ||
* | Creates a new instance of this class and initializes it with values from a JSON object generated from an ArcGIS product. | FeatureSet | |
Returns true if a named group of handles exist. | Accessor | ||
Removes a group of handles owned by the object. | Accessor | ||
Converts an instance of this class to its ArcGIS portal JSON representation. | FeatureSet |
Method Details
-
Inherited from Accessor
Since: ArcGIS Maps SDK for JavaScript 4.25Accessor since 4.0, addHandles added at 4.25. -
Adds one or more handles which are to be tied to the lifecycle of the object. The handles will be removed when the object is destroyed.
// Manually manage handles const handle = reactiveUtils.when( () => !view.updating, () => { wkidSelect.disabled = false; }, { once: true } ); this.addHandles(handle); // Destroy the object this.destroy();
ParametershandleOrHandles WatchHandle|WatchHandle[]Handles marked for removal once the object is destroyed.
groupKey *optionalKey identifying the group to which the handles should be added. All the handles in the group can later be removed with Accessor.removeHandles(). If no key is provided the handles are added to a default group.
-
Creates a new instance of this class and initializes it with values from a JSON object generated from an ArcGIS product. The object passed into the input
json
parameter often comes from a response to a query operation in the REST API or a toJSON() method from another ArcGIS product. See the Using fromJSON() topic in the Guide for details and examples of when and how to use this function.Parameterjson ObjectA JSON representation of the instance in the ArcGIS format. See the ArcGIS REST API documentation for examples of the structure of various input JSON objects.
ReturnsType Description * Returns a new instance of this class.
-
hasHandles
InheritedMethodhasHandles(groupKey){Boolean}
Inherited from AccessorSince: ArcGIS Maps SDK for JavaScript 4.25Accessor since 4.0, hasHandles added at 4.25. -
Returns true if a named group of handles exist.
ParametergroupKey *optionalA group key.
ReturnsType Description Boolean Returns true
if a named group of handles exist.Example// Remove a named group of handles if they exist. if (obj.hasHandles("watch-view-updates")) { obj.removeHandles("watch-view-updates"); }
-
Inherited from Accessor
Since: ArcGIS Maps SDK for JavaScript 4.25Accessor since 4.0, removeHandles added at 4.25. -
Removes a group of handles owned by the object.
ParametergroupKey *optionalA group key or an array or collection of group keys to remove.
Exampleobj.removeHandles(); // removes handles from default group obj.removeHandles("handle-group"); obj.removeHandles("other-handle-group");
-
toJSON
InheritedMethodtoJSON(){Object}
Inherited from FeatureSet -
Converts an instance of this class to its ArcGIS portal JSON representation. See the Using fromJSON() guide topic for more information.
ReturnsType Description Object The ArcGIS portal JSON representation of an instance of this class.
Type Definitions
-
An event string object with name and type.
- Properties
-
text String
The direction text.
type StringThe type of event.
Possible Values:"alt-name"|"arrive"|"branch"|"cross-street"|"cumulative-length"|"depart"|"estimated-arrival-time"|"exit"|"general"|"length"|"service-time"|"street-name"|"summary"|"time"|"time-window"|"toward"|"violation-time"|"wait-time"