IndoorWaypoint class abstract

Represents an indoor waypoint, used as input for indoor route calculation.

IndoorWaypoint can be used to specify the origin, destination, and via waypoints in a route request. Each waypoint type has different constraints on the supported properties:

Origin Waypoint:

  • Does NOT support stop_duration
  • Does NOT support pass_through
  • Use the basic constructor make(coordinates, venue_id, level_id)

Destination Waypoint:

  • Supports stop_duration (e.g., for specifying arrival/waiting time)
  • Does NOT support pass_through
  • Use make(coordinates, venue_id, level_id) or make(coordinates, venue_id, level_id, stop_duration) constructors

Via Waypoint:

  • Supports both stop_duration and pass_through
  • Use make(coordinates, venue_id, level_id), make(coordinates, venue_id, level_id, stop_duration), or make(coordinates, venue_id, level_id, pass_through) constructors
  • When pass_through is true, the route continues without stopping
  • When pass_through is false or null, the route stops at the waypoint
  • When stop_duration is specified, the route stops for the given duration

Validation: When a route request is made, the waypoints are validated according to the rules above. If validation fails (e.g., origin has stop_duration or pass_through, or destination has pass_through), the route request returns an error with IndoorRoutingError.badRequest.

Constructors

IndoorWaypoint(GeoCoordinates coordinates, String venueId, String levelId)
Creates an indoor waypoint.
factory
IndoorWaypoint.withOutdoorCoordinates(GeoCoordinates coordinates)
Creates an outdoor waypoint.
factory
IndoorWaypoint.withPassThrough(GeoCoordinates coordinates, String venueId, String levelId, bool passThrough)
Creates a passthrough indoor waypoint (for via waypoints).
factory
IndoorWaypoint.withStopDuration(GeoCoordinates coordinates, String venueId, String levelId, int stopDuration)
Creates an indoor waypoint with stop duration.
factory

Properties

coordinates GeoCoordinates
The waypoint's geographic coordinates.
no setter
hashCode → int
The hash code for this object.
no setterinherited
isPassThrough → bool?
If true, the route passes through this waypoint without stopping (for via waypoints). If false or null, the route stops at this waypoint. Returns null if not explicitly set (equivalent to false).
no setter
levelId → String?
The ID of the level where the waypoint is located, if applicable.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
stopDuration → int?
The duration in seconds to stop at this waypoint (0-49999 seconds). This is typically used for destination waypoints or via waypoints to specify a waiting time. Returns null if no stop duration is specified.
no setter
venueId → String?
The ID of the venue where the waypoint is located, if applicable.
no setter

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited