Class MapView

Generic PubSub class implementing the Publish-Subscribe pattern for event handling.

Hierarchy (view full)

Properties

BlueDot: BlueDot

Controls for BlueDot positioning.

Camera: Camera

Controls for the map's camera.

Images: Images

Controls for the map's markers.

Labels: Labels

Controls for the map's labels.

Markers: Markers

Controls for the map's markers.

Models: Models

Controls for the map's models.

Navigation: Navigation

Controls for the map's navigation.

Outdoor: Outdoor

Controls for the outdoor map.

Paths: Paths

Controls for the map's paths.

Shapes: Shapes

Controls custom GeoJSON geometry on the map

Style: Style

Controls for the indoor map's style.

Accessors

  • get currentFloor(): Floor
  • The current floor (Floor) of the map.

    Returns Floor

Methods

  • Clears all added elements from the map.

    Returns void

  • Creates a Coordinate on the map.

    Parameters

    • latitude: number

      The latitude of the coordinate.

    • longitude: number

      The longitude of the coordinate.

    • Optionalfloor: Floor

      Optional floor information if applicable.

    Returns Coordinate

    The created coordinate object.

    // Create a coordinate at the CN Tower.
    const coord = map.createCoordinate(43.642567, -79.387054);
  • Parameters

    • x: number
    • y: number
    • Optionalfloor: Floor

    Returns undefined | Coordinate

  • Destroys the MapView.

    Returns void

  • Experimental

    Enable debug interface

    Parameters

    • opitons: Partial<InspectorState> = {}

    Returns Promise<void>

  • Experimental

    Parameters

    Returns undefined | Promise<void>

  • Retrieves the dimensions of the map's canvas.

    Returns {
        height: number;
        width: number;
    }

    An object containing the width and height of the canvas.

    • height: number
    • width: number
  • Returns undefined | string

  • Returns {}

    • Determines if a given target is within the viewport.

      This method checks if the specified target, such as a Space, MapObject, Label, Marker, or string identifier, is currently within the visible area of the map viewport. Note that this method returns true even if the target is not visible (e.g., its visibility is set to false).

      Parameters

      • target:
            | string
            | Space
            | MapObject
            | Label
            | Marker

        The target to check for viewport inclusion. This can be a Space, MapObject, Label, Marker, or string identifier.

      Returns boolean

      A boolean indicating whether the target is within the viewport.

    • Unsubscribe a function previously subscribed with on

      Type Parameters

      • EventName extends
            | "floor-change"
            | "floor-change-start"
            | "navigation-connection-click"
            | "navigation-active-path-change"
            | "hover"
            | "click"
            | "camera-change"
            | "outdoor-view-loaded"
            | "outdoor-style-loaded"
            | "user-interaction-start"
            | "user-interaction-end"
            | "stacked-maps-state-change"
            | "blue-dot-position-update"
            | "blue-dot-state-change"
            | "blue-dot-error"
            | "blue-dot-follow-change"

      Parameters

      • eventName: EventName

        An event name to which the provided function was previously subscribed.

      • fn: ((payload: TEventPayload<EventName>) => void)

        A function that was previously passed to on. The function must have the same reference as the function that was subscribed.

      Returns void

      // Unsubscribe from the 'click' event
      const handler = (event) => {
      const { coordinate } = event;
      const { latitude, longitude } = coordinate;
      console.log(`Map was clicked at ${latitude}, ${longitude}`);
      };
      mapView.off('click', handler);
    • Subscribe a function to an event.

      Type Parameters

      • EventName extends
            | "floor-change"
            | "floor-change-start"
            | "navigation-connection-click"
            | "navigation-active-path-change"
            | "hover"
            | "click"
            | "camera-change"
            | "outdoor-view-loaded"
            | "outdoor-style-loaded"
            | "user-interaction-start"
            | "user-interaction-end"
            | "stacked-maps-state-change"
            | "blue-dot-position-update"
            | "blue-dot-state-change"
            | "blue-dot-error"
            | "blue-dot-follow-change"

      Parameters

      • eventName: EventName

        An event name which, when fired, will call the provided function.

      • fn: ((payload: TEventPayload<EventName>) => void)

        A callback that gets called when the corresponding event is fired. The callback will get passed an argument with a type that's one of event payloads.

      Returns void

      // Subscribe to the 'click' event
      const handler = (event) => {
      const { coordinate } = event;
      const { latitude, longitude } = coordinate;
      console.log(`Map was clicked at ${latitude}, ${longitude}`);
      };
      mapView.on('click', handler);
    • Sets the current floor (Floor) of the map.

      Parameters

      • floor: string | Floor

        The floor or floor ID to set.

      Returns void

    • Parameters

      • c: string

      Returns void

    • Returns void