(→Calculate driving distance and store result into rows) |
(→Calculate driving distance and store result into rows) |
||
Line 125: | Line 125: | ||
:<code>@variable/deviceNumber</code> - searchColumnValueId<br> | :<code>@variable/deviceNumber</code> - searchColumnValueId<br> | ||
:<code>device_km</code> - targetColumnName<br> | :<code>device_km</code> - targetColumnName<br> | ||
− | :; ⤷ <code>[gn:act_calculateDrivingDistance]|[@variable/finalDeviceList, | + | :; ⤷ <code>[gn:act_calculateDrivingDistance]|[@variable/finalDeviceList,gps,@+id/deviceGps;device_gps]</code> |
<hr> | <hr> | ||
Revision as of 17:28, 8 August 2019
Contents
gn:act_calculateDrivingDistance
- Description
- Action is used to calculate driving distance between two GPS coordinates and store the result into target
- In order for this action to work, an internet connection must be active because the calculations are done by OSRM server.
- Action returns
- void
Action signatures
Calculate driving distance
[gn:act_calculateDrivingDistance]|[target,source1,source2]
Parameter Description target
target into which calculated driving distance will be stored - Valid targets:
source1
source from where gps coordinate will be used for calculation - Valid sources:
source2
source from where gps coordinate will be used for calculation - Valid sources:
Example
@+id/deviceKm
- target@+id/gpsInput
- source1@+id/deviceGps
- source2
- ⤷
[gn:act_calculateDrivingDistance]|[@+id/deviceKm,@+id/gpsInput,@+id/deviceGps]
- ⤷
Calculate driving distance with callback action
[gn:act_calculateDrivingDistance]|[target,source1,source2;;eventWidgetId,event]
Parameter Description target
target into which calculated driving distance will be stored - Valid targets:
source1
source from where gps coordinate will be used for calculation - Valid sources:
source2
source from where gps coordinate will be used for calculation - Valid sources:
eventWidgetId
target on which defined event
will be executed- Valid sources:
event
event which will be fired after action is executed - Valid sources:
hardcoded
Example
@+id/deviceKm
- target@+id/gpsInput
- source1@+id/deviceGps
- source2@+id/onDistanceReceive
- callback widgetgn:act_set
- callback action
- ⤷
[gn:act_calculateDrivingDistance]|[@+id/deviceKm,@+id/gpsInput,@+id/deviceGps;;@+id/onDistanceReceive,gn:act_set]
- ⤷
Calculate driving distance and store result into rows
[gn:act_calculateDrivingDistance]|[rowsTarget,source1,source2;targetColumnName]
Parameter Description target
target into which calculated driving distance will be stored - Valid targets:
source1
source from where gps coordinate will be used for calculation - Valid sources:
source2
source from where gps coordinate will be used for calculation - Valid sources:
targetColumnName
rows column name where the calculated driving distance will be stored - Valid sources:
hardcoded
Example
@variable/finalDeviceList
- target@+id/gpsInput
- source1@+id/deviceGps
- source2devices_inventoryNumber
- searchColumnName@variable/deviceNumber
- searchColumnValueIddevice_km
- targetColumnName
- ⤷
[gn:act_calculateDrivingDistance]|[@variable/finalDeviceList,gps,@+id/deviceGps;device_gps]
- ⤷
Calculate driving distance and store result into rows with callback action
[gn:act_calculateDrivingDistance]|[rowsTarget,sourceColumnName,source,searchColumnName,searchColumnValueId;numericTargetColumnName,stringTargetColumnName,stringSuffix;eventWidgetId,event]
Parameter Description target
target into which calculated driving distance will be stored - Valid targets:
sourceColumnName
column from where the end gps coordinate will be used for calculation - Valid sources:
source
source from where the start gps coordinate will be used for calculation - Valid sources:
searchColumnName
rows column name which will be searched for specific searchColumnValue - Valid sources:
hardcoded
searchColumnValueId
source from which the value will be used for matching correct row by checking searchColumnName
column- Valid sources:
any source
numericTargetColumnName
rows column name where the calculated driving distance will be stored as number - Valid sources:
hardcoded
stringTargetColumnName
rows column name where the calculated driving distance will be stored as text - Valid sources:
hardcoded
stringSuffix
suffix value displayed in stringTargetColumnName - Valid sources:
eventWidgetId
target on which defined event
will be executed- Valid sources:
event
event which will be fired after action is executed - Valid sources:
hardcoded
Example
@variable/finalDeviceList
- rows with devicesdevices_gps
- column in finalDeviceList variable, with GPS@+id/gpsInput
- widget with GPS positiondevices_km
- target column, which will store result in meters, like 1200devices_kmText
- target column, which will store result in text view, like "1,2 km"@variable/km
- text variable wich contains " km" text@+id/onDistanceArrived
- callback widgetgn:act_set
- callback action
- ⤷
[gn:act_calculateDrivingDistance]|[@variable/finalDeviceList,devices_gps,@+id/gpsInput;devices_km,devices_kmText,@variable/km;@+id/onDistanceArrived,gn:act_set]
- ⤷
Explanation
For each row in @variable/finalDeviceList
- - get the datatype GPS value of the column named
devices_gps
- - asynchronously connect to our osrm server and send startPoint GPS
@+id/gpsInput
and endPoint GPS value of columndevices_gps
and get the distance - - store the distance into same row in column
devices_km
with number DT - - store the distance (with suffix read from
@variable/km
) into same row in columndevices_kmText
with text DT - - execute callback on widget
@+id/onDistanceArrived
for actiongn:act_set