new alk.source.MultiRoute(opt_options)
This constructor creates a Source object that accesses the ALK Routing engine and the capability to handle multiple routes.
If the 'hubRouting' option is 'true', then the first stop is considered the 'hub' and the last stop is represented as a numbered circle in the ordered chain of stops.
A Stop is represented as a generic ol.Feature with a ol.geom.Point geometry.
The route between Stops is represented by a @{link ol.Feature} with a ol.geom.LineString or
ol.geom.MultiLineString geometry. All features that belong to a particular route get
tagged with the 'routeId' attribute. All stops are tagged with the 'stop' attribute, which contains
the original coordinates given to the alk.source.MultiRoute#addRoute function. All stops
are also tagged with a "stopIndex" attribute indicating the ordinal index in the given stop list, i.e.
start stop is '0'. Stops are also tagged with a 'stopType' attribute, designating alk.val.StopType.Origin
for the first (start) stop, alk.val.StopType.Destination for the last stop, and
//TODO: what are the other stops designated as?
If the 'hubRouting' option is true, all features, including lines are tagged with the 'hubRouting' attribute,
and the last stop does not carry the 'Destination' type.
| Option | Type | Description |
|---|---|---|
routeServiceOptions |
alkx.RouteServiceOptions | undefined |
This option contains the options that are given to the underlying
|
Fires:
-
change:addRoute - This event is fired when a route is added.
-
change:removeRoute - This event is fired when a route is removed.
-
change:route - This event is fired when after the request to the
alk.service.RouteServiceis processed. -
change:route - This event is fired when the route is changed.
-
change:updating - This event is fired when the request is being made and when it returns.
Extends
Methods
-
addRoute(opt_options, success, failure)
-
Name Type Description optionsObject successfunction failurefunction -
cloneRouteServiceOptions(options){alkx.RouteServiceOptions} inherited
-
This method processes clones the RouteServiceOptions including a deep copy of the 'stops' and 'stopTypes' properties.
Option Type Description apiKeystring This option contains the ALK ApiKey that gives you permission to extract data from ALK Servers.
datasetalk.val.Dataset | number | string The option contains the Dataset parameter for the Service. This option specifies an area dataset that may be pertinent to the request.
hostURLstring This option contains the the host and port URL for the particular service. This option is not set by the user, but is automatically generated from the particular service being used.
pathstring This option is the path part of the URL for the particular service. This option is not set by the user, but is automatically generated from the particular service being used.
regionalk.val.Region | number | string This option tells the service in which region the retrieved data is to pertain. Some ALK Services switch underlying services due to this option. For instance, traffic data for North America and Europe may come from different underlying services.
srsalk.val.SRS | number | string This option tells the service the particular projection that is used any GIS data given to the service.
stopsArray.<Array.<number>> This option contains the stops that the route is to travel along. It is supplied in Spherical Mercator unless, specified by the 'srs' option. It contains an ordered array of coordinates from origin to destination.
stopTypesArray.<alk.val.StopType> | Object.<number, alk.val.StopType> This option contains an ordered array or indexed object map of the types of each stop given in the 'stops' option.
vehicleTypealk.val.VehicleType | number | string This option tells the service the type of vehicle that is requesting the route.
routeTypealk.val.RouteType | number | string This option tells the service the type of the route requested. It can be
alk.val.RouteType.Practicaloralk.val.RouteType.Shortest.highwayOnlyboolean | number | string This option tells the service to generate a route that will travel mostly along highways.
avoidFavorsboolean | number | string This option tells the service whether or not to use avoids and favors while routing.
overrideClassArray.<(alk.val.OverrideClass|number)> | string This option tells the service the classes of vehicle travel. Such as
alk.val.OverrideClass.NationalNetworkoralk.val.OverrideClass.FiftyThreeFoot.distanceUnitsalk.val.DistanceUnits | number | string This option tells the service that any distance measurements will be delivered in these units, such as
alk.val.DistanceUnits.Kilometersoralk.val.DistanceUnits.Miles.avoidTollsboolean | number | string This option tells the service to avoid toll roads and bridges while creating the route.
openBordersboolean | number | string This option tells the service if the borders are open for travel.
overrideRestrictboolean | number | string This option tells the service whether to override truck restrictions.
hazMatalk.val.HazMat | number | string This option tells the service the hazardous material type.
routeOptalk.val.RouteOptimization | string | undefined This option tells the service the level of route optimization to use.
hubRoutingboolean | number | string This option tells the service if 'hub routing' is in effect. This means that the starting stop is the hub. The last stop is in effect, not a destination, but a turn around point.
vehicleDimensionUnitsalk.val.VehicleDimensionUnits | number | string This option tells the service in what units, metric or otherwise, the vehicle measurements are presented. Can be either
alk.val.VehicleDimensionUnits.English- 12'6", 12.0 (feet)
alk.val.VehicleDimensionUnits.Metric- 4.114 (meters)
vehicleHeightnumber | string This option contains the height measurement of the vehicle.
vehicleLengthnumber | string This option contains the length measurement of the vehicle.
vehicleWidthnumber | string This option contains the width measurement of the vehicle.
vehicleWeightnumber | string This option contains the weight measurement of the vehicle.
axlesnumber | string This option contains the number of axles on the vehicle.
truckConfigalk.val.TruckConfig | number | string This option specifies the particular vehicle configuration, such as
alk.val.TruckConfig.FullSizeVan, etc.lcvboolean | number | string This option tells whether the truck is a multi-trailer or longer combination vehicle.
estimatedTimeOptsstring This option contains the parameter for the estimated time optimizations. This option only affects routing when roads have time based restrictions. Format is described by this BNF notation:
- fmt ::= DA ('|' Time)?
- Time :: = DayTime | SpecificDateTime
- DA ::= 'Depart' | 'Arrive'
- DayOfWeek ::= 'Monday' | 'Tuesday' | ... | 'Sunday';
- DayTime ::= DayOfWeek '|' TimeOfDay ('|' TimeZone)?
- SpecificDateTime ::= YYYY-MM-DDTHH:MM:SS ('|' TimeZone)?
Examples are: -- Arrive|Monday|18:53|Local -- Depart|2016-04-23T09:43:20|Local -- Arrive (meaning system time)
stopsAsViaPointsboolean | number | string This option tells the service that all stops in between the origin and the destination are to be treated as not a stop, but a via point.
reduceResponsePointsboolean | number | string This option tells the service whether to reduce the number of response points.
elevationLimitnumber | string This option tells the service the distance above sea level to keep the route. Its value is interpreted according to the 'distanceUnits' option.
afSetIdsArray.<(string|number)> | string This option lists the avoid/favor sets to the route.
ferryDiscourageboolean | number | string This option tells the service to avoid ferries when creating the route.
hosEnabledboolean | number | string This option enables insertion of Hours Of Service Stops.
hosRuleTypealk.val.HosRuleType | number | string This option indicates the hours of service rule to use. Valid values are
alk.val.HosRuleType.USFed607Horalk.val.HosRuleType.USFed708Hfor US Federal Long Haul rules.hosRemDriveTimeUntilBreaknumber | string This option indicates the available driving hours at the origin before the driver needs to take a rest break.
hosRemDriveTimenumber | string This option indicates the available driving hours at the origin until the end of the workday.
hosRemOnDutyTimenumber | string This option indicates the available 'On-Duty' hours at the origin until the end of the work day.
hosRemCycleDutyTimenumber | string This option indicates the available 'Cycle Time Duty' hours available at the origin until a cycle reset.
sideOfStreetAdherencenumber | string This option indicates the strictness in avoiding the opposite side of the street at the destination. TODO: What is the number range? 0-1?
governorSpeedLimitnumber | string This option tells the service the maximum average road speed to use in route calculations that overrides all other road speeds when the are above this value. Default is disabled and valid values are between 1 and 100mph. TODO: Is this always in MPH when distanceUnits is Kilometers?
tollDiscourageboolean | number | string This option tells the service to avoid tolls. Use 'avoidTolls'.
classOverridesArray.<(alk.val.OverrideClass|number)> | string This option tells the service the travel class overrides. Use 'classOverrides'.
routingTypealk.val.RouteType | number | string This option tells the route type. See
alkx.RouteServiceOptions#routeType.hazMatTypealk.val.HazMat | number | string This option tells the service the HazMat conditions in effect. Use 'hazMat'.
trkUnitsalk.val.VehicleDimensionUnits | number | string This option contains the measurement units for the vehicle. Use 'vehicleDimensionUnits'.
trkHeightnumber | string This option contains the height of the vehicle. Use 'vehicleHeight'.
trkLengthnumber | string This option contains the length of the vehicle. Use 'vehicleLength'.
trkWidthnumber | string This option contains the width of the vehicle. Use 'vehicleWidth'.
trkWeightnumber | string This option contains the weight of the vehicle. Use 'vehicleHeight'.
trkAxlesnumber | string This option contains the number of axles on the vehicle. Use 'axles'.
trkLCVboolean | number | string This option indicates whether the vehicle is a multi-trailer or longer combination. Use 'lcv'.
routeOptimizationalk.val.RouteOptimization | number | string This option tells the service what level of route optimization to perform. Use 'routeOpt'.
Returns:
The cloned object.
-
getLineFeatures(routeId){Array.<ol.Feature>|undefined}
-
Name Type Description routeIdstring -
getRouteFeatures(routeId){Array.<ol.Feature>|undefined}
-
Name Type Description routeIdstring -
getRouteIds(){Array.<string>}
-
This function returns all the routeIds that were given to
alk.source.MultiRoute#addRoute. -
getRouteService(){alk.service.RouteService} inherited
-
-
getRouteServiceOptions(routeId){alkx.RouteServiceOptions|undefined}
-
Name Type Description routeIdstring -
getRouteServiceResponse(routeId){alkx.RouteServiceResponse|undefined}
-
This function returns the response structure that includes the request options and the GeoJSON response from the ALK Route Service.
Name Type Description routeIdstring -
removeRoute(routeId)
-
Name Type Description routeIdstring -
setRouteService(service) inherited
-
Name Type Description servicealk.service.RouteService