Package es.situm.sdk.model.directions
Class Route
java.lang.Object
es.situm.sdk.model.directions.Route
- All Implemented Interfaces:
android.os.Parcelable,es.situm.sdk.model.directions.graph.Graph<Point,,RouteStep> MapperInterface
public class Route
extends Object
implements es.situm.sdk.model.directions.graph.Graph<Point,RouteStep>, android.os.Parcelable, MapperInterface
Route between two points.
Instances are immutable.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classHelper class to create well formed instances of @{link es.situm. -
Field Summary
FieldsFields inherited from interface es.situm.sdk.model.MapperInterface
ACCESSIBILITY_MODE, ACCURACY, ADDRESS, ALTITUDE, ASSET_TRACKING_OPTIONS_BEACON_FILTERS, ASSET_TRACKING_OPTIONS_ENABLED, ASSET_TRACKING_OPTIONS_ITERATIONS_TO_UPLOAD, ASSET_TRACKING_OPTIONS_SCANNING_INTERVAL, BEACON_FILTER_UUID, BEARING, BEARING_FROM, BEARING_QUALITY, BOUNDS, BOUNDS_ROTATED, BUILDING, BUILDING_IDENTIFIER, BUILDING_NAME, CARTESIAN_BEARING, CARTESIAN_COORDINATE, CENTER, CLOSEST_LOCATION_IN_ROUTE, CODE, CONVERSION, COORDINATE, CREATED_AT, CURRENT_INDICATION, CURRENT_STEP_INDEX, CUSTOM_FIELDS, dateFormat, DEGREES, DEGREES_CLOCKWISE, DEVICE_ID, DIAGNOSTICS_OPTIONS_UPLOAD_DIAGNOSTICS_DATA, DIMENSIONS, DISTANCE, DISTANCE_TO_CHANGE_FLOOR_THRESHOLD, DISTANCE_TO_CHANGE_INDICATION_THRESHOLD, DISTANCE_TO_CLOSEST_POINT_IN_ROUTE, DISTANCE_TO_END_STEP, DISTANCE_TO_GOAL, DISTANCE_TO_GOAL_THRESHOLD, DISTANCE_TO_IGNORE_FIRST_INDICATION, DISTANCE_TO_NEXT_LEVEL, DURATION_MINUTES, EDGES, EVENTS, EXCLUDED_TAGS, EXTERNAL_NAVIGATION_PAYLOAD, EXTERNAL_NAVIGATION_TYPE, FIRST_STEP, FLOOR, FLOOR_IDENTIFIER, FLOORS, FOREGROUND_SERVICE_NOTIFICATION_MESSAGE, FOREGROUND_SERVICE_NOTIFICATION_SHOW_STOP_ACTION, FOREGROUND_SERVICE_NOTIFICATION_STOP_ACTION_TEXT, FOREGROUND_SERVICE_NOTIFICATION_TAP_ACTION, FOREGROUND_SERVICE_NOTIFICATION_TITLE, FROM, GEOFENCES, HAS_BEARING, HAS_CARTESIAN_BEARING, HEIGHT, HUMAN_READABLE_MESSAGE, ID, IDENTIFIER, IGNORE_LOW_QUALITY_LOCATIONS, INCLUDED_TAGS, INDICATION_TYPE, INDICATIONS, INDICATIONS_INTERVAL, INDOOR_POIS, INFO_HTML, IS_FIRST, IS_INDOOR, IS_LAST, IS_OUTDOOR, IS_PUBLIC, LAST_STEP, LATITUDE, LONGITUDE, MAP_URL, MINIMIZE_FLOOR_CHANGES, NAME, NEEDED_LEVEL_CHANGE, NEXT_INDICATION, NEXT_LEVEL, NODES, NORTH_EAST, NORTH_WEST, ORIENTATION, ORIENTATION_TYPE, OUTDOOR_BUILDING_DETECTOR_BLE, OUTDOOR_POIS, OUTSIDE_ROUTE_THRESHOLD, PICTURE_THUMB_URL, PICTURE_URL, POI_CATEGORIES, POI_CATEGORY, POI_CATEGORY_CODE, POI_CATEGORY_ICON_SELECTED, POI_CATEGORY_ICON_UNSELECTED, POI_CATEGORY_IDENTIFIER, POI_CATEGORY_IDENTIFIERS, POI_CATEGORY_iNAME, POI_CATEGORY_NAME, POI_NAME, POI_TO, POI_TO_IDENTIFIER, POINTS, POLYGON_POINTS, POSITION, PROVIDER, QUALITY, RADIANS, RADIANS_MINUS_PI_PI, RADIUS, REALTIME_UPDATE_INTERVAL, ROTATION, ROUND_INDICATIONS_STEP, ROUTE, ROUTE_STEP, SCALE, SEGMENTS, SOUTH_EAST, SOUTH_WEST, STATUS_NAME, STATUS_ORDINAL, STEP_IDX_DESTINATION, STEP_IDX_ORIGIN, STEPS, TIME_TO_END_STEP, TIME_TO_FIRST_INDICATION, TIME_TO_GOAL, TIME_TO_IGNORE_UNEXPECTED_FLOOR_CHANGES, TIMESTAMP, TO, TO_LEGACY, TRIGGER, UPDATED_AT, USER_IDENTIFIER, WIDTH, X, YFields inherited from interface android.os.Parcelable
CONTENTS_FILE_DESCRIPTOR, PARCELABLE_WRITE_RETURN_VALUE -
Constructor Summary
ConstructorsConstructorDescriptionRoute(DirectionsRequest request, List<RouteStep> steps, List<Indication> indications, Building building, Collection<Floor> buildingFloors) Just for internal SDK use -
Method Summary
Modifier and TypeMethodDescriptionintbooleanstatic RouteReturns the current route accessibility mode.doubleReturns the route distance (in meters)getEdges()Equal togetSteps().Returns first stepgetFrom()Point where the route starts.Return ordered list of instructions to go to the destinationReturns last stepgetNodes()Returns a collection of points of the route (not ordered)Returns list of ordered points of the route.getPoiTo()The POI you created the route to.Returns the search criteria, provided toDirectionsManager, whose result is the currentRoute.Returns a list ofRestrictioninstances in case the route does not conform with one or manyDirectionsModifierindicated on Directions APIDirectionsManager.requestDirections(DirectionsRequest, Handler).es.situm.sdk.model.directions.internal.route.InternalRouteInfoJust for internal SDK use.Return list of ordered points split by floor, each list contains points from one floor, but can have multiple lists of the same floor.getStep(int stepId) Returns a route step by itsRouteStep.getId()getSteps()Returns ordered list of steps to go to the goal pointlonggetTo()Last point and goal of the route.inthashCode()indicationForNextStep(int routeStepIndex) Returns the next indication to a given step.booleanDeprecated.points()Returns the list of points of the complete route for all the steps from beginning to finishvoidsetTimestamp(long timestamp) toMap()Method to transform object into Map<String, Object>toString()voidwriteToParcel(android.os.Parcel dest, int flags)
-
Field Details
-
CREATOR
-
-
Constructor Details
-
Route
public Route(@NonNull DirectionsRequest request, @NonNull @Size(min=1L) List<RouteStep> steps, List<Indication> indications, @NonNull Building building, @NonNull @Size(min=1L) Collection<Floor> buildingFloors) Just for internal SDK use- Throws:
IllegalArgumentException- if null value is provided to NonNull parameter, or empty list is provided to size(min = 1) parameter
-
-
Method Details
-
getEdges
Equal togetSteps(). -
getNodes
Returns a collection of points of the route (not ordered) -
getPoints
Returns list of ordered points of the route. If you want the points to display them in a map usegetSegments()- Returns:
- non-empty group of points
-
getSegments
Return list of ordered points split by floor, each list contains points from one floor, but can have multiple lists of the same floor. Use this method to display segments in a map, each list should be a polyline.For example, if there is no path to go to the other side of the same floor and you need to go up one floor and then go down again to the original floor, this method will return one segment on the current floor, one segment on the upper floor and one more segment in the current floor.
Drawing example: if you want to draw all the points of a floor, you should draw a polyline for each list that contains the floor you want to show.
-
getSteps
Returns ordered list of steps to go to the goal point- Returns:
- non-empty list of
RouteStep
-
getFirstStep
Returns first step- Returns:
- step whose
RouteStep.getFrom()is the request parameterDirectionsRequest.getFrom()
-
getLastStep
Returns last step- Returns:
- step whose
RouteStep.getTo()is the request parameterDirectionsRequest.getTo()
-
getStep
Returns a route step by itsRouteStep.getId()- Parameters:
stepId- id of step (RouteStep.getId())- Returns:
- step with provided id, or null if there is no match.
-
getRouteInfo
@NonNull public es.situm.sdk.model.directions.internal.route.InternalRouteInfo getRouteInfo()Just for internal SDK use. This method can be changed at any version without previous deprecation warn. -
getIndications
Return ordered list of instructions to go to the destination -
getRequest
Returns the search criteria, provided toDirectionsManager, whose result is the currentRoute.- Returns:
- original
DirectionsRequest
-
isAccessible
Deprecated.Returns whether the current route is suitable to wheel chairs (true) or not (false). WrapsDirectionsRequest.isAccessible()fromgetRequest().- Returns:
- true if the route is suitable to wheel chairs
-
getAccessibilityMode
Returns the current route accessibility mode. WrapsDirectionsRequest.getAccessibilityMode()()} fromgetRequest().- Returns:
DirectionsRequest.AccessibilityMode
-
getFrom
Point where the route starts. The same asDirectionsRequest.getFrom()fromgetRequest().- Returns:
Point
-
getTo
Last point and goal of the route. The same asDirectionsRequest.getTo()fromgetTo().- Returns:
Point
-
getPoiTo
The POI you created the route to. The same asDirectionsRequest.getPoiToIdentifier()fromgetPoiTo().- Returns:
Pointor null if you didn't set a POI as the destination
-
indicationForNextStep
Returns the next indication to a given step. The indication can be associated to more than one steps.- Parameters:
routeStepIndex- the index of a route step inside a route- Returns:
Indicationobject or empty if the routeStepIndex is not valid
-
points
Returns the list of points of the complete route for all the steps from beginning to finish- Returns:
- List of points
Pointobject or empty list
-
getTimestamp
public long getTimestamp() -
setTimestamp
public void setTimestamp(long timestamp) -
getDistance
public double getDistance()Returns the route distance (in meters) -
equals
-
hashCode
public int hashCode() -
toString
-
describeContents
public int describeContents()- Specified by:
describeContentsin interfaceandroid.os.Parcelable
-
writeToParcel
public void writeToParcel(android.os.Parcel dest, int flags) - Specified by:
writeToParcelin interfaceandroid.os.Parcelable
-
getRestrictions
Returns a list ofRestrictioninstances in case the route does not conform with one or manyDirectionsModifierindicated on Directions APIDirectionsManager.requestDirections(DirectionsRequest, Handler). Every restriction indicates which @{link DirectionModifier} could not be fulfilled. This way a developer act accordingly (for example, notifying the user, computing a different route, ...). NOTE: For now this function will always be empty, as it is not implemented. This behaviour will change in future versions.- Returns:
- list of
Restrictioninstances.
-
toMap
Description copied from interface:MapperInterfaceMethod to transform object into Map<String, Object>- Specified by:
toMapin interfaceMapperInterface- Returns:
- Map<String, Object> with the information of the object mapped
-
fromMap
- Throws:
IllegalArgumentException
-