Location

open class Location : Deserializable
extension Location: Navigatable
extension Location: Equatable
extension Location: Hashable

A location is something like a store or washroom on a map.

A location can also belong to zero or more Categories (Store, Jewelery Store, etc), and will be linked to zero or more Nodes and Polygons.

A location’s nodes can be on multiple maps, or in multiple non-adjacent places on the same map. For example, all washrooms at a given venue could belong to one Location, or a department store could live on multiple floors.

  • The name of the location

    Declaration

    Swift

    public let name: String
  • returns an iterator of the polygons in this Location

    Declaration

    Swift

    public var polygons: AnySequence<Polygon> { get }
  • returns an iterator of the Coordinate in this type

    Declaration

    Swift

    public var coordinates: AnySequence<Coordinate> { get }
  • returns an iterator of the Category in this type

    Declaration

    Swift

    public var categories: AnySequence<Category> { get }
  • Venue that this Location belongs to

    Declaration

    Swift

    public weak var venue: Venue? { get set }
  • only call the link function if the venue has changed

    Declaration

    Swift

    public var hashValue: Int { get }
  • Declaration

    Swift

    public required init(from buffer: inout BinaryDecoder) throws
  • After deserialization the structure has to be linked before it is useful

    Declaration

    Swift

    open func link(with venue: Venue)
  • See the Navigatable trait for details

    Declaration

    Swift

    public var navigatableCoordinates: [Coordinate] { get }
  • Declaration

    Swift

    public static func == (lhs: Location, rhs: Location) -> Bool