Class: MultiRoutingLayer

alk.layer.MultiRoutingLayer

An instance of this class is a layer that displays the route from a alk.source.MultiRoute source.

new alk.layer.MultiRoutingLayer(opt_options)

This constructor creates a layer that handles routing of multiple routes.

If no 'source' is provided in the options, then a new alk.source.MultiRoute source is created with a new alk.service.RouteService service created with the provided 'routeServiceOptions' in the options.

All visual representation is handled by the 'style' option. As a default, the alk.style.StopsRouteStyle is used, which draws stops as cardinally numbered circles, save for the first and last stop, which are drawn with non-numbered circles, green and red, respectively. The numbered circles retain the color of the route line.

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.

If there is more than one route, a round robin selection of colors is used for each route, which will be selected by the associated alk.style.StopsRouteStyle. Once a color has been selected for a 'routeId' it persists for the life of the layer. If the route is added again, it will be updated, but retain the same stroke color. If a route is removed by its 'routeId' then the color associated with that routeId will be relinquished.

Should you need specific colors, please see alk.style.RoutingLayerStyle as a base object to implement from, and other classes such as alk.style.LineRouteStyle, etc. The alk.style.StopsRouteStyle has some options governing width of the line. If you need specific styling, look to the '*RouteStyle' objects in alk.style.

All stops are ol.Feature tagged with the 'stop' attribute, which contains the original coordinates given to the alk.layer.RoutingLayer#setRoute function. All stops are 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. 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, unless overridden by the 'stopTypes' option in the call. All stops are tagged with a 'logicalStopIndex' attribute which labels the stop in its ordinal position in the stops list, while ignoring stops with the 'stopType' of alk.val.StopType.ViaPoint.

Option Type Description
source alkx.RouteServiceOptions | undefined

This option contains the alk.source.Route for the layer. alk.service.RouteService to create the route.

routeServiceOptions alkx.RouteServiceOptions | undefined

This option contains the options that are given to the underlying alk.service.RouteService to create the route.

frameRoute boolean | undefined

This option specifies when the to the underlying alk.service.RouteService completes successfully, the map will zoom and center to fit the extent of its features.

renderOrder ol.RenderOrderFunction | null | undefined

This option is an OpenLayer Vector Layer Option.

Render Order. Function to be used when sorting features before rendering. By default features are drawn in the order that they are created. Use null to avoid the sort, but get an undefined draw order. Required.

The default order of creation is, route lines, then stops in order from origin to destination.

minResolution number | undefined

This option is an OpenLayer Vector Layer Option.

The minimum resolution (inclusive) at which this layer will be visible.

maxResolution number | undefined

This option is an OpenLayer Vector Layer Option.

The maximum resolution (exclusive) below which this layer will be visible.

opacity number | undefined

This option is an OpenLayer Vector Layer Option.

Opacity (0, 1). Default is 1.

declutter boolean | undefined

This option is an OpenLayer Vector Layer Option.

Declutter images and text. Decluttering is applied to all image and text styles, and the priority is defined by the z-index of the style. Lower z-index means higher priority. Default is false.

renderBuffer number | undefined

This option is an OpenLayer Vector Layer Option.

The buffer around the viewport extent used by the renderer when getting features from the vector source for the rendering or hit-detection. Recommended value: the size of the largest symbol, line width, or label. Default is 100 pixels.

map ol.PluggableMap | undefined

This option is an OpenLayer Vector Layer Option.

Sets the layer as overlay on a map. The map will not manage this layer in its layers collection, and the layer will be rendered on top. This is useful for temporary layers. The standard way to add a layer to a map and have it managed by the map is to use ol.Map#addLayer.

style alk.style.RoutingLayerStyle | alk.style.StrokeQueue | Array.<ol.style.Stroke> | ol.style.Style | Array.<ol.style.Style> | ol.StyleFunction | undefined

This option specifies the style or style function to be used in drawing the stops and route. The default is to use a alk.style.StopsRouteStyle object that labels stops according to their stop type and draws the route lines in between.

If the style is a alk.style.RoutingLayerStyle it is used directly. All others result in creating a alk.style.StopsRouteStyle with the given style. If the style is a alk.style.StrokeQueue it creates a StopsRouteStyle with this StrokeQueue. This approach allows you to direct which colors are drawn for routes on different routing layers.

If the style is a single stroke, it sets up a StrokeQueue containing that stroke. If it is an array of Strokes, it sets up a StrokeQueue containing those strokes.

If it is anything else, the style is passed to the ol.layer.Vector for default styling.

updateWhileAnimating boolean | undefined

This option is an OpenLayer Vector Layer Option.

When set to true, feature batches will be recreated during animations. This means that no vectors will be shown clipped, but the setting will have a performance impact for large amounts of vector data. When set to false, batches will be recreated when no animation is active. Default is false.

updateWhileInteracting boolean | undefined

This option is an OpenLayer Vector Layer Option.

When set to true, feature batches will be recreated during interactions. See also updateWhileAnimating.

visible boolean | undefined

This option is an OpenLayer Vector Layer Option.

Visibility. Default is true (visible).

zIndex number | undefined

This option is an OpenLayer Vector Layer Option.

The z-index for layer rendering. At rendering time, the layers will be ordered, first by Z-index and then by position. The default Z-index is 0.

Extends

Methods

addRoute(opt_options, success, failure)

This method calls directly to the associated source's alk.source.MultiRoute#addRoute method.

Name Type Description
options Object
success function
failure function

getRoutingLayerStyle(){alk.style.RoutingLayerStyle|undefined} inherited

This function returns the RoutingLayerStyle that was either assigned or created for this RoutingLayer.

removeRoute(routeId)

This method calls directly to the associated source's alk.source.MultiRoute#removeRoute source.

Name Type Description
routeId string

setStyle(optStyle) inherited

This function sets the Style for this layer.

Name Type Description
optStyle alk.style.RoutingLayerStyle | ol.style.Style | Array.<ol.style.Style> | ol.StyleFunction | string | undefined