You are here: Expanding Knowledge > Application Integrations

Application Integrations

The Integrations dialog is found in the top navigation bar and provides a way to add, remove, and update any external links that you wish to have access to from the SLD or add any embedded integrations to have functionality within the SLD.

Tip: The component name will show an eye icon next to it if it is currently visible and will show an eye with a slash through it if the component is currently hidden.

Usage

Heads Up! Disclaimer: All Google Maps JavaScript API applications are subject to the limitations of Google's Terms of Service. Therefore to use any imbedded Google Map tools within the applications, you will need to adhere to Google's Terms of Service - this typically means you need to purchase an enterprise license. To learn more please visit Google Maps' Get a Key/Authentication page.

Post Objects and Parameters for App Integration

The following is a list of variables that can be injected and replaced in an integration link URL or sent and received from a post message object, when using for embedded integrations.

Key Data Type Description Other Required Fields
measure float/int The current focused measure.  
focusedMeasure float/int The current focused measure.  
fromMeasure float/int The beginning of the route.  
toMeasure float/int The end of the route.  
scale float/int The scale of all of the components in Road Analyzer.  
routeId string The id of the current route. fromMeasure, toMeasure, measure
version string The version of the geodatabase.  
networkId string The id of the network layer.  
profileId string The id of the profile to be used in Road Analyzer.  
direction string The direction of the route.  
latitude float/int The latitude of the current location. longitude
longitude float/int The longitude of the current location. latitude
date string The last edited date.  
x float/int The raw x value of the current location (in the map's projection)  
y float/int The raw y value of the current location (in the map's projection)  
minLatitude float/int The route geometry minimum latitude value. minLongitude
minLongitude float/int The route geometry minimum longitude value. minLatitude
maxLatitude float/int The route geometry maximum latitude value. maxLongitude
maxLongitude float/int The route geometry maximum longitude value. maxLatitude
concurrentRouteIds string A comma separated list of all concurrent route IDs routeId
allNetworkRouteIds string A comma separated list of all route IDs along this route across all networks routeId
LAYER_X_FIELD_X string Dynamic expression to get layer/field values - replace the "X" value (see "Dynamic Data Expression" below for details)  

Dynamic Data Expressions:

Dynamic data expressions allow for passing dynamic data through integration links. The expression is LAYER_X_FIELD_Y, where "X" is the layer ID and "Y" is the field name for the layer that you want to grab data from. For example:

LAYER_3_FIELD_SpeedLimit will grab the first record value of the "SpeedLimit" field for the layer with an ID of 3.

Data Aggregation:

The records can be specified or aggregated by using a subset keyword. The format is: LAYER_X_FIELD_Y:AGGREGATE, where "AGGREGATE" is the aggregation type to apply. For example:

Supported aggregation types include:

  • first- first record
    • example: LAYER_1_FIELD_AADT:first
    • result: 1000
  • last- last record
    • example: LAYER_1_FIELD_AADT:last
    • result: 3000
  • sum- sum of all records
    • example: LAYER_1_FIELD_AADT:sum
    • result: 5000
  • avg- average of all records
    • example: LAYER_1_FIELD_AADT:avg
    • result: 2500
  • min- minimum value
    • example: LAYER_1_FIELD_AADT:min
    • result: 500
  • max- maximum value
    • example: LAYER_1_FIELD_AADT:max
    • result: 6500
  • concat- all record values concatenated together
    • example: LAYER_1_FIELD_AADT:concat
    • result: 500,1000,2500,3000,5000
  • stats- all stats returned as an object
    • example: LAYER_1_FIELD_AADT:stats
    • result: {SUM: 5000, AVG: 2500, MIN: 500, MAX: 6500}

LAYER_3_FIELD_SpeedLimit:max will grab the max speed limit value for all loaded records

LAYER_3_FIELD_SpeedLimit:sum will resolve to the sum of all speed limit values loaded

LAYER_3_FIELD_SpeedLimit:avg will resolve to the average of all speed limit values loaded

 

Sample Link URL:

http://example.com?route={{routeId}}&latitude={{latitude}}&longitude={{longitude}}

http://example.com?route={{routeId}}&latitude={{latitude}}&longitude={{longitude}}&sum={{LAYER_1_AADT:sum}}

 

Sample Post Message Object:

var message = {
	fromMeasure: 7.62,
	toMeasure: 20,
	measure: 8,
	profileId: 'tss',
	networkId: 'layerName'
}