# Beeview Map SDK API Reference

> Generated from package entry `dist/mapxus-visual.module.d.ts`. Describes the public API for indoor street-view maps (spatial browsing and navigation).
>
> Companion: [Types guide](types.md) for configuration interfaces and type aliases.
>
> Generated at: 2026-05-26T10:12:43.400Z

## Table of contents
- [Support](#support)
- [Edge](#edge)
- [Render](#render)
- [Viewer & Navigation](#viewer-navigation)
- [Graph & Routing](#graph-routing)
- [Markers](#markers)
- [Tags](#tags)
- [Popup](#popup)
- [Geometry](#geometry)
- [Core Types & Configuration](#core-types-configuration)

## Support

Capability checks and environment detection for WebGL / 2D fallback indoor street-view rendering.

### `isFallbackSupported`
**Kind:** function
**Description:** The fallback functionality does not include WebGL

Function signature: `isFallbackSupported()`

Parameters:
None.

Return type: boolean (JSDoc: {boolean})

Throws / errors:
None documented.

Example (from JSDoc):
```ts
`var fallbackSupported = Beeview.isFallbackSupported();`
```

### `isSupported`
**Kind:** function
**Description:** The full functionality includes WebGL rendering.

Function signature: `isSupported()`

Parameters:
None.

Return type: boolean (JSDoc: {boolean})

Throws / errors:
None documented.

Example (from JSDoc):
```ts
`var supported = Beeview.isSupported();`
```

## Edge

Edge directions and spatial/sequence relationships in the node graph for navigation steps and bearing.

### `EdgeDirection`
**Kind:** enum
**Description:** Directions for edges in node graph describing

Enum: `EdgeDirection`

Enum members:
- `Next` = 0
- `Prev` = 1
- `StepLeft` = 2
- `StepRight` = 3
- `StepForward` = 4
- `StepBackward` = 5
- `TurnLeft` = 6
- `TurnRight` = 7
- `TurnU` = 8
- `Pano` = 9
- `Similar` = 10

Return type: `EdgeDirection`

Throws / errors:
None documented.

```ts
const value = EdgeDirection.Next;
```

## Render

Render modes and visualization strategy for presenting indoor street-view imagery.

### `RenderMode`
**Kind:** enum
**Description:** Modes for specifying how rendering is done

Enum: `RenderMode`

Enum members:
- `Letterbox` = 0
- `Fill` = 1

Return type: `RenderMode`

Throws / errors:
None documented.

```ts
const value = RenderMode.Letterbox;
```

## Viewer & Navigation

Viewpoint, camera projection, and navigation core for spatial browsing and path guidance.

### `Alignment`
**Kind:** enum
**Description:** Enumeration for alignments

Enum: `Alignment`

Enum members:
- `Bottom` = 0
- `BottomLeft` = 1
- `BottomRight` = 2
- `Center` = 3
- `Left` = 4
- `Right` = 5
- `Top` = 6
- `TopLeft` = 7
- `TopRight` = 8

Return type: `Alignment`

Throws / errors:
None documented.

```ts
const value = Alignment.Bottom;
```

### `IUnprojection`
**Kind:** interface
**Description:** none.

Interface: `IUnprojection`

Fields:
- `basicPoint`: number[] (required)
- `latLon`: [ILatLon](types.md#ilatlon) (required)
- `pixelPoint`: number[] (required)

Return type: `IUnprojection`

Throws / errors:
None documented.

```ts
const obj: IUnprojection = {} as any;
```

### `IViewerMouseEvent`
**Kind:** interface
**Description:** @interface IViewerMouseEvent

Interface that represents a mouse event occuring in the viewer target element.

Interface: `IViewerMouseEvent`

Fields:
- `basicPoint`: number[] (required)
- `latLon`: [ILatLon](types.md#ilatlon) (required)
- `pixelPoint`: number[] (required)
- `originalEvent`: MouseEvent (required)
- `target`: Viewer (required)
- `type`: string (required)

Return type: `IViewerMouseEvent`

Throws / errors:
None documented.

```ts
const obj: IViewerMouseEvent = {} as any;
```

### `IViewerOptions`
**Kind:** interface
**Description:** Interface for the options that can be provided to the viewer.

Interface: `IViewerOptions`

Fields:
- `bundleId`: string (optional)
- `packageName`: string (optional)
- `sha1`: string (optional)
- `container`: string (required)
- `imageId`: string (optional)
- `baseImageSize`: [ImageSize](types.md#imagesize) (optional)
- `basePanoramaSize`: [ImageSize](types.md#imagesize) (optional)
- `component`: [IComponentOptions](types.md#icomponentoptions) (optional)
- `maxImageSize`: [ImageSize](types.md#imagesize) (optional)
- `renderMode`: [RenderMode](types.md#rendermode) (optional)
- `sprite`: string (optional)

Return type: `IViewerOptions`

Throws / errors:
None documented.

```ts
const obj: IViewerOptions = {} as any;
```

### `ImageSize`
**Kind:** enum
**Description:** Image sizes in pixels for the long side of the image.

Enum: `ImageSize`

Enum members:
- `Size320` = 320
- `Size640` = 640
- `Size1024` = 1024
- `Size2048` = 2048

Return type: `ImageSize`

Throws / errors:
None documented.

```ts
const value = ImageSize.Size320;
```

### `PointOfView`
**Kind:** interface
**Description:** @interface PointOfView

Interface that represents the point of view of the viewer.

Interface: `PointOfView`

Fields:
- `bearing`: number (required)
- `tilt`: number (required)

Return type: `PointOfView`

Throws / errors:
None documented.

```ts
const obj: PointOfView = {} as any;
```

### `Viewer`
**Kind:** class

**Description:** The Viewer object represents the navigable photo viewer. Create a Viewer by specifying a container, client ID, photo key and other options. The viewer exposes methods and events for programmatic interaction.
**Constructor:** `constructor(options: IViewerOptions)`

Constructor parameters:
- `options`: [IViewerOptions](types.md#ivieweroptions) (required)

Constructor return: `void`

Constructor throws / errors:
None documented.

Example (from JSDoc):
```ts
var viewer = new MapxusVisual.Viewer({
     appId: <user appId>,
     secret: <user secret>,
     container: <element-id>,
     imageId: <image-id>,
     component: {
         cover: false,
     }
});
```

#### Static members

##### `fov`

Signature: `static fov: string`

Type: string



##### `position`

Signature: `static position: string`

Type: string



##### `pov`

Signature: `static pov: string`

Type: string



##### `bearingchanged`

Signature: `static bearingchanged: string`

Type: string



##### `panwithoutinertiachanged`

Signature: `static panwithoutinertiachanged: string`

Type: string



##### `panchanged`

Signature: `static panchanged: string`

Type: string



##### `contextmenu`

Signature: `static contextmenu: string`

Type: string



##### `dblclick`

Signature: `static dblclick: string`

Type: string



##### `loadingchanged`

Signature: `static loadingchanged: string`

Type: string



##### `mousedown`

Signature: `static mousedown: string`

Type: string



##### `mousemove`

Signature: `static mousemove: string`

Type: string



##### `mouseout`

Signature: `static mouseout: string`

Type: string



##### `mouseover`

Signature: `static mouseover: string`

Type: string



##### `mouseup`

Signature: `static mouseup: string`

Type: string



##### `moveend`

Signature: `static moveend: string`

Type: string



##### `movestart`

Signature: `static movestart: string`

Type: string



##### `navigablechanged`

Signature: `static navigablechanged: string`

Type: string



##### `nodechanged`

Signature: `static nodechanged: string`

Type: string



##### `sequenceedgeschanged`

Signature: `static sequenceedgeschanged: string`

Type: string



##### `spatialedgeschanged`

Signature: `static spatialedgeschanged: string`

Type: string



#### Instance methods and accessors

##### `destroy`

**Description:** Release WebGL, DOM, Rx subscriptions, and input listeners created by this viewer. Idempotent: repeated calls are no-ops. After destruction, do not call other viewer APIs; behavior is undefined.

Signature: `destroy(options?: {
        clearSharedHttpSession?: boolean;
    }): void`

Parameters:
- `options`: {
 clearSharedHttpSession?: boolean;
 } (optional) — `clearSharedHttpSession`: When true, also calls {@link Context.clear} to destroy the shared auth HTTP session. Default false; only enable in single-viewer pages, never when multiple viewers or other SDKs may still use the same session.

Returns: void

Throws / errors:
None documented.



##### `setPathPreloadOptions`

**Description:** Configure path preloading (max prefetch count and GraphQL distance window).

Signature: `setPathPreloadOptions(options: {
        count?: number;
        distance?: number;
    }): void`

Parameters:
- `options`: {
 count?: number;
 distance?: number;
 } (required) — `count`: Upper bound on prefetched nodes (GraphQL from/to span length). Minimum 1.; `distance`: Search radius in meters (GraphQL `distance` argument). Must be positive; when omitted, the default is 50 meters.

Returns: void

Throws / errors:
None documented.



##### `isNavigable`

**Description:** The navigable state indicates if the viewer supports

Signature: `get isNavigable(): boolean`

Returns: boolean (JSDoc: {boolean} Boolean indicating whether the viewer is navigable.)

Throws / errors:
None documented.



##### `renderComplete`

**Description:** Preset already complete, in callback TODO

Signature: `renderComplete(callback: Function): void`

Parameters:
- `callback`: Function (required)

Returns: void

Throws / errors:
None documented.



##### `searchImageByBuildingId`

**Description:** Search the images of building by id API request function

Signature: `searchImageByBuildingId(id: string, snapshotTag?: string): Promise<IQueryBuilding>`

Parameters:
- `id`: string (required)
- `snapshotTag`: string (optional)

Returns: Promise<[IQueryBuilding](types.md#iquerybuilding)>

Throws / errors:
None documented.



##### `searchSnapshotTagsByBuildingId`

**Description:** Search the snapshotTags by building id API request function

Signature: `searchSnapshotTagsByBuildingId(buildingId: string): Promise<IKey[]>`

Parameters:
- `buildingId`: string (required)

Returns: Promise<[IKey](types.md#ikey)[]>

Throws / errors:
None documented.



##### `searchImageByFloorId`

**Description:** Search the images of floor by id API request function

Signature: `searchImageByFloorId(id: string, snapshotTag?: string): Promise<IQueryFloor>`

Parameters:
- `id`: string (required)
- `snapshotTag`: string (optional)

Returns: Promise<[IQueryFloor](types.md#iqueryfloor)>

Throws / errors:
None documented.



##### `searchSnapshotTagsByFloorId`

**Description:** Search the snapshotTags by floor id API request function

Signature: `searchSnapshotTagsByFloorId(floorId: string): Promise<IKey[]>`

Parameters:
- `floorId`: string (required)

Returns: Promise<[IKey](types.md#ikey)[]>

Throws / errors:
None documented.



##### `activateComponent`

**Description:** Activate a component.

Signature: `activateComponent(name: string): void`

Parameters:
- `name`: string (required) — Name of the component which will become active.

Returns: void

Throws / errors:
None documented.

Example (from JSDoc):
```ts
viewer.activateComponent("marker");
```

##### `activateCover`

**Description:** Activate the cover (deactivates all other components).

Signature: `activateCover(): void`

Returns: void

Throws / errors:
None documented.



##### `deactivateComponent`

**Description:** Deactivate a component.

Signature: `deactivateComponent(name: string): void`

Parameters:
- `name`: string (required) — Name of component which become inactive.

Returns: void

Throws / errors:
None documented.

Example (from JSDoc):
```ts
viewer.deactivateComponent("mouse");
```

##### `deactivateCover`

**Description:** Deactivate the cover (activates all components marked as active).

Signature: `deactivateCover(): void`

Returns: void

Throws / errors:
None documented.



##### `getFieldOfView`

**Description:** The vertical field of view rendered on the viewer canvas

Signature: `getFieldOfView(): Promise<number>`

Returns: Promise<number> (JSDoc: {Promise<number>} Promise to the current field of view)

Throws / errors:
None documented.

Example (from JSDoc):
```ts
viewer.getFieldOfView().then(fov => { console.log(fov); });
```

##### `getImage`

**Description:** Get the viewer's current image.

Signature: `getImage(): Promise<Node>`

Returns: Promise<[Node](types.md#node)> (JSDoc: {Promise<Image>} Promise to the current image.)

Throws / errors:
None documented.

Example (from JSDoc):
```ts
viewer.getImage().then(image => { console.log(image.id); });
```

##### `getPointOfView`

**Description:** Get the viewer's current point of view.

Signature: `getPointOfView(): Promise<PointOfView>`

Returns: Promise<[PointOfView](types.md#pointofview)> (JSDoc: {Promise<PointOfView>} Promise to the current point of view)

Throws / errors:
None documented.

Example (from JSDoc):
```ts
viewer.getPointOfView().then(pov => { console.log(pov); });
```

##### `getPosition`

**Description:** Get the viewer's current position

Signature: `getPosition(): Promise<ILatLon>`

Returns: Promise<[ILatLon](types.md#ilatlon)> (JSDoc: {Promise<LngLat>} Promise to the viewers's current)

Throws / errors:
None documented.

Example (from JSDoc):
```ts
viewer.getPosition().then(pos => { console.log(pos); });
```

##### `getBearing`

**Description:** The bearing depends on how the camera

Signature: `getBearing(): Promise<number>`

Returns: Promise<number> (JSDoc: {Promise<number>} Promise to the bearing)

Throws / errors:
None documented.

Example (from JSDoc):
```ts
viewer.getBearing().then((b) => { console.log(b); });
```

##### `getCenter`

**Description:** Basic coordinates are 2D coordinates on the [0, 1] interval

Signature: `getCenter(): Promise<number[]>`

Returns: Promise<number[]> (JSDoc: {Promise<number[]>} Promise to the basic coordinates)

Throws / errors:
None documented.

Example (from JSDoc):
```ts
viewer.getCenter().then((c) => { console.log(c); });
```

##### `getComponent`

**Description:** Get a component.

Signature: `getComponent<TComponent extends Component<IComponentConfiguration>>(name: string): TComponent`

Parameters:
- `name`: string (required) — Name of component.

Returns: TComponent (JSDoc: {Component} The requested component.)

Throws / errors:
None documented.

Example (from JSDoc):
```ts
var mouseComponent = viewer.getComponent("mouse");
```

##### `getContainer`

**Description:** Returns the viewer's containing HTML element.

Signature: `getContainer(): HTMLElement`

Returns: HTMLElement (JSDoc: {HTMLElement} The viewer's container.)

Throws / errors:
None documented.



##### `getZoom`

**Description:** Get the photo's current zoom level.

Signature: `getZoom(): Promise<number>`

Returns: Promise<number> (JSDoc: {Promise<number>} Promise to the viewers's current)

Throws / errors:
None documented.

Example (from JSDoc):
```ts
viewer.getZoom().then((z) => { console.log(z); });
```

##### `moveCloseTo`

**Description:** Because the method propagates IO errors, these potential errors

Signature: `moveCloseTo(lat: number, lon: number, floorId: string, distance?: number, snapshotTag?: string): Promise<Node>`

Parameters:
- `lat`: number (required) — Latitude, in degrees.
- `lon`: number (required) — Longitude, in degrees.
- `floorId`: string (required) — Image belong floor id.
- `distance`: number (optional)
- `snapshotTag`: string (optional)

Returns: Promise<[Node](types.md#node)> (JSDoc: {Promise<Node>} Promise to the node that was navigated to.)

Throws / errors:
- Error - If no nodes exist close to provided latitude
- Error - Propagates any IO errors to the caller.
- Error - When viewer is not navigable.

Example (from JSDoc):
```ts
viewer.moveCloseTo(0, 0, "1", "k11_hk_59f074").then(
    (n) => { console.log(n); },
    (e) => { console.error(e); });
```

##### `moveDir`

**Description:** This method has to be called through EdgeDirection enumeration as in the example.

Signature: `moveDir(dir: EdgeDirection): Promise<Node>`

Parameters:
- `dir`: [EdgeDirection](types.md#edgedirection) (required) — Direction in which which to move.

Returns: Promise<[Node](types.md#node)> (JSDoc: {Promise<Node>} Promise to the node that was navigated to.)

Throws / errors:
- Error - If the current node does not have the edge direction
- Error - Propagates any IO errors to the caller.
- Error - When viewer is not navigable.

Example (from JSDoc):
```ts
viewer.moveDir(Beeview.EdgeDirection.Next).then(
    (n) => { console.log(n); },
    (e) => { console.error(e); });
```

##### `moveToKey`

**Description:** Navigate to a given photo key.

Signature: `moveToKey(key: string, snapshotTag?: string): Promise<Node>`

Parameters:
- `key`: string (required) — A valid Beeview photo key.
- `snapshotTag`: string (optional) — Data belong snapshotTag optional.

Returns: Promise<[Node](types.md#node)> (JSDoc: {Promise<Node>} Promise to the node that was navigated to.)

Throws / errors:
- Error - Propagates any IO errors to the caller.
- Error - When viewer is not navigable.

Example (from JSDoc):
```ts
viewer.moveToKey("<my key>").then(
    (n) => { console.log(n); },
    (e) => { console.error(e); });
```

##### `getThumbnails`

**Description:** Retrieve a thumbnail image for a given photo key.

Signature: `getThumbnails(key: string, size: string): Promise<Response>`

Parameters:
- `key`: string (required) — A valid Beeview photo key.
- `size`: string (required) — Requested thumbnail size (number or numeric string).

Returns: Promise<Response> (JSDoc: {Promise<Response>} Promise resolving to the loaded image response.)

Throws / errors:
- Error - Propagates any IO errors to the caller.

Example (from JSDoc):
```ts
viewer.getThumbnails("my-key", "640").then(
    (img) => { console.log(img); },
    (err) => { console.error(err); }
);
```

##### `projectFromBasic`

**Description:** The basic image coordinates may not always correspond to a

Signature: `projectFromBasic(basicPoint: number[]): Promise<number[]>`

Parameters:
- `basicPoint`: number[] (required) — Basic images coordinates to project.

Returns: Promise<number[]> (JSDoc: {Promise<ILatLon>} Promise to the pixel coordinates corresponding)

Throws / errors:
None documented.

Example (from JSDoc):
```ts
viewer.projectFromBasic([0.3, 0.7])
    .then((pixelPoint) => { console.log(pixelPoint); });
```

##### `resize`

**Description:** The components will also detect the viewer's

Signature: `resize(): void`

Returns: void

Throws / errors:
None documented.

Example (from JSDoc):
```ts
viewer.resize();
```

##### `setCenter`

**Description:** Basic coordinates are 2D coordinates on the [0, 1] interval

Signature: `setCenter(center: number[]): void`

Parameters:
- `center`: number[] (required)

Returns: void

Throws / errors:
None documented.

Example (from JSDoc):
```ts
viewer.setCenter([0.5, 0.5]);
```

##### `setFilter`

**Description:** The following filter types are supported:

Signature: `setFilter(filter: FilterExpression): Promise<void>`

Parameters:
- `filter`: FilterExpression (required) — The filter expression.

Returns: Promise<void> (JSDoc: {Promise<void>} Promise that resolves after filter is applied.)

Throws / errors:
None documented.

Example (from JSDoc):
```ts
viewer.setFilter(["==", "sequenceKey", "<my sequence key>"]);
```

##### `setRenderMode`

**Description:** Set the viewer's render mode.

Signature: `setRenderMode(renderMode: RenderMode): void`

Parameters:
- `renderMode`: [RenderMode](types.md#rendermode) (required) — Render mode.

Returns: void

Throws / errors:
None documented.

Example (from JSDoc):
```ts
viewer.setRenderMode(Beeview.RenderMode.Letterbox);
```

##### `setZoom`

**Description:** Possible zoom level values are on the [0, 3] interval.

Signature: `setZoom(zoom: number): void`

Parameters:
- `zoom`: number (required)

Returns: void

Throws / errors:
None documented.

Example (from JSDoc):
```ts
viewer.setZoom(2);
```

##### `setBearing`

**Description:** Provide the angle (0 - 1), from 0-360 degree

Signature: `setBearing(bearing: number): void`

Parameters:
- `bearing`: number (required)

Returns: void

Throws / errors:
None documented.

Example (from JSDoc):
```ts
viewer.setBearing(90);
```

##### `panToWithoutInertia`

**Description:** basicRotate source is panchanged event callback param

Signature: `panToWithoutInertia(basicRotate: number[]): void`

Parameters:
- `basicRotate`: number[] (required)

Returns: void

Throws / errors:
None documented.

Example (from JSDoc):
```ts
viewer.panToWithoutInertia([0.00001, 0.00005]);
```

##### `panTo`

**Description:** basicRotate source is panchanged event callback param

Signature: `panTo(basicRotate: number[]): void`

Parameters:
- `basicRotate`: number[] (required)

Returns: void

Throws / errors:
None documented.

Example (from JSDoc):
```ts
viewer.panToWithoutInertia([0.00001, 0.00005]);
```

##### `unproject`

**Description:** The pixel point may not always correspond to geographical

Signature: `unproject(pixelPoint: number[]): Promise<ILatLon>`

Parameters:
- `pixelPoint`: number[] (required) — Pixel coordinates to unproject.

Returns: Promise<[ILatLon](types.md#ilatlon)> (JSDoc: {Promise<ILatLon>} Promise to the latLon corresponding to the pixel point.)

Throws / errors:
None documented.

Example (from JSDoc):
```ts
viewer.unproject([100, 100])
    .then((latLon) => { console.log(latLon); });
```

##### `unprojectToBasic`

**Description:** The pixel point may not always correspond to basic image

Signature: `unprojectToBasic(pixelPoint: number[]): Promise<number[]>`

Parameters:
- `pixelPoint`: number[] (required) — Pixel coordinates to unproject.

Returns: Promise<number[]> (JSDoc: {Promise<ILatLon>} Promise to the basic coordinates corresponding)

Throws / errors:
None documented.

Example (from JSDoc):
```ts
viewer.unprojectToBasic([100, 100])
    .then((basicPoint) => { console.log(basicPoint); });
```

#### Lifecycle

Call `viewer.destroy()` when the viewer leaves the page (route change, modal close, component unmount). That releases WebGL, DOM, subscriptions, and input listeners. After `destroy()`, do not call other methods on the same instance.

```ts
viewer.destroy();

// Optional: clear the shared auth HTTP session. Use only on single-viewer pages.
// viewer.destroy({ clearSharedHttpSession: true });
```

Return type: `Viewer` (class instance)

Throws / errors:
None documented.

## Graph & Routing

Graph structure and routing data mapping spatial relationships to navigable sequences.

### `IBuildingBase`
**Kind:** interface
**Description:** none.

Interface: `IBuildingBase`

Fields:
- `id`: string (required)
- `name`: object (optional)

Return type: `IBuildingBase`

Throws / errors:
None documented.

```ts
const obj: IBuildingBase = {} as any;
```

### `IBuildingInfo`
**Kind:** interface
**Description:** none.

Interface: `IBuildingInfo`

Fields:
- `country`: string (optional)
- `city`: string (optional)
- `building`: [IBuildingBase](types.md#ibuildingbase) (optional)
- `floor`: [IFloorInfo](types.md#ifloorinfo) (optional)
- `loop_line`: number (optional)
- `tags`: [IImageTagInfo](types.md#iimagetaginfo)[] (optional)

Return type: `IBuildingInfo`

Throws / errors:
None documented.

```ts
const obj: IBuildingInfo = {} as any;
```

### `IFloorInfo`
**Kind:** interface
**Description:** none.

Interface: `IFloorInfo`

Fields:
- `id`: string (required)
- `code`: string (required)
- `sequence`: number (required)

Return type: `IFloorInfo`

Throws / errors:
None documented.

```ts
const obj: IFloorInfo = {} as any;
```

### `IGPano`
**Kind:** interface
**Description:** Interface that describes panorama metadata.

Interface: `IGPano`

Fields:
- `CroppedAreaLeftPixels`: number (required)
- `CroppedAreaTopPixels`: number (required)
- `CroppedAreaImageHeightPixels`: number (required)
- `CroppedAreaImageWidthPixels`: number (required)
- `FullPanoHeightPixels`: number (required)
- `FullPanoWidthPixels`: number (required)

Return type: `IGPano`

Throws / errors:
None documented.

```ts
const obj: IGPano = {} as any;
```

### `IQueryBuilding`
**Kind:** interface
**Description:** Interface that describes the graphql query building.

Interface: `IQueryBuilding`

Fields:
- `key`: string (required)
- `floor`: [IFloorInfo](types.md#ifloorinfo) (optional)
- `building`: [IBuildingBase](types.md#ibuildingbase) (optional)
- `date`: number (optional)
- `images`: [IPathNode](types.md#ipathnode)[] (required)

Return type: `IQueryBuilding`

Throws / errors:
None documented.

```ts
const obj: IQueryBuilding = {} as any;
```

### `IQueryFloor`
**Kind:** interface
**Description:** Interface that describes the graphql query floor.

Interface: `IQueryFloor`

Fields:
- `key`: string (required)
- `images`: [IPathNode](types.md#ipathnode)[] (required)

Return type: `IQueryFloor`

Throws / errors:
None documented.

```ts
const obj: IQueryFloor = {} as any;
```

### `IRouteInfoKey`
**Kind:** interface
**Description:** none.

Interface: `IRouteInfoKey`

Fields:
- `key`: string (required)
- `description`: string (required)

Return type: `IRouteInfoKey`

Throws / errors:
None documented.

```ts
const obj: IRouteInfoKey = {} as any;
```

### `IRoutePath`
**Kind:** interface
**Description:** none.

Interface: `IRoutePath`

Fields:
- `sequenceKey`: string (required)
- `startKey`: string (required)
- `stopKey`: string (required)
- `infoKeys`: [IRouteInfoKey](types.md#irouteinfokey)[] (required)

Return type: `IRoutePath`

Throws / errors:
None documented.

```ts
const obj: IRoutePath = {} as any;
```

### `Node`
**Kind:** class

**Description:** Represents a node in the navigation graph.
**Constructor:** `constructor(core: ICoreNode)`

Constructor parameters:
- `core`: [ICoreNode](types.md#icorenode) (required)

Constructor return: `void`

Constructor throws / errors:
None documented.

Example (auto-generated; replace placeholders):
```ts
const instance = new Node(/* args */ {} as any);
```

#### Instance methods and accessors

##### `assetsCached`

**Description:** The assets that need to be cached for this property

Signature: `get assetsCached(): boolean`

Returns: boolean (JSDoc: {boolean} Value indicating whether all assets have been)

Throws / errors:
None documented.



##### `cache`

Signature: `get cache(): NodeCache`

Returns: NodeCache

Throws / errors:
None documented.



##### `alt`

**Description:** If SfM has not been run the computed altitude is

Signature: `get alt(): number`

Returns: number (JSDoc: {number} Altitude, in meters.)

Throws / errors:
None documented.



##### `ca`

**Description:** If the SfM computed compass angle exists it will

Signature: `get ca(): number`

Returns: number (JSDoc: {number} Compass angle, measured in degrees.)

Throws / errors:
None documented.



##### `capturedAt`

**Description:** Get capturedAt.

Signature: `get capturedAt(): number`

Returns: number (JSDoc: {number} Timestamp when the image was captured.)

Throws / errors:
None documented.



##### `computedCA`

**Description:** Will not be set if SfM has not been run.

Signature: `get computedCA(): number`

Returns: number (JSDoc: {number} SfM computed compass angle, measured in degrees.)

Throws / errors:
None documented.



##### `computedLatLon`

**Description:** Will not be set if SfM has not been run.

Signature: `get computedLatLon(): ILatLon`

Returns: [ILatLon](types.md#ilatlon) (JSDoc: {ILatLon} SfM computed latitude longitude in WGS84 datum,)

Throws / errors:
None documented.



##### `focal`

**Description:** Will not be set if SfM has not been run.

Signature: `get focal(): number`

Returns: number (JSDoc: {number} SfM computed focal length.)

Throws / errors:
None documented.



##### `full`

**Description:** The library ensures that the current node will

Signature: `get full(): boolean`

Returns: boolean (JSDoc: {boolean} Value indicating whether the node has all)

Throws / errors:
None documented.



##### `fullPano`

**Description:** Get fullPano.

Signature: `get fullPano(): boolean`

Returns: boolean (JSDoc: {boolean} Value indicating whether the node is a complete)

Throws / errors:
None documented.



##### `gpano`

**Description:** Will not be set for non panoramic images.

Signature: `get gpano(): IGPano`

Returns: [IGPano](types.md#igpano) (JSDoc: {IGPano} Panorama information for panorama images.)

Throws / errors:
None documented.



##### `height`

**Description:** Get height.

Signature: `get height(): number`

Returns: number (JSDoc: {number} Height of original image, not adjusted)

Throws / errors:
None documented.



##### `image`

**Description:** The image will always be set on the current node.

Signature: `get image(): HTMLImageElement`

Returns: HTMLImageElement (JSDoc: {HTMLImageElement} Cached image element of the node.)

Throws / errors:
None documented.



##### `key`

**Description:** Get key.

Signature: `get key(): string`

Returns: string (JSDoc: {string} Unique key of the node.)

Throws / errors:
None documented.



##### `latLon`

**Description:** If the SfM computed latitude longitude exist

Signature: `get latLon(): ILatLon`

Returns: [ILatLon](types.md#ilatlon) (JSDoc: {ILatLon} Latitude longitude in WGS84 datum,)

Throws / errors:
None documented.



##### `loadStatus`

**Description:** Get loadStatus.

Signature: `get loadStatus(): ILoadStatus`

Returns: [ILoadStatus](types.md#iloadstatus) (JSDoc: {ILoadStatus} Value indicating the load status)

Throws / errors:
None documented.



##### `merged`

**Description:** Get merged.

Signature: `get merged(): boolean`

Returns: boolean (JSDoc: {boolean} Value indicating whether SfM has been)

Throws / errors:
None documented.



##### `mergeCC`

**Description:** Will not be set if SfM has not yet been run on

Signature: `get mergeCC(): number`

Returns: number (JSDoc: {number} SfM connected component key to which)

Throws / errors:
None documented.



##### `mergeVersion`

**Description:** Get mergeVersion.

Signature: `get mergeVersion(): number`

Returns: number (JSDoc: {number} Version for which SfM was run and image was merged.)

Throws / errors:
None documented.



##### `mesh`

**Description:** The mesh will always be set on the current node.

Signature: `get mesh(): IMesh`

Returns: [IMesh](types.md#imesh) (JSDoc: {IMesh} SfM triangulated mesh of reconstructed)

Throws / errors:
None documented.



##### `orientation`

**Description:** Get orientation.

Signature: `get orientation(): number`

Returns: number (JSDoc: {number} EXIF orientation of original image.)

Throws / errors:
None documented.



##### `originalCA`

**Description:** Get originalCA.

Signature: `get originalCA(): number`

Returns: number (JSDoc: {number} Original EXIF compass angle, measured in)

Throws / errors:
None documented.



##### `originalLatLon`

**Description:** Get originalLatLon.

Signature: `get originalLatLon(): ILatLon`

Returns: [ILatLon](types.md#ilatlon) (JSDoc: {ILatLon} Original EXIF latitude longitude in)

Throws / errors:
None documented.



##### `pano`

**Description:** Get pano.

Signature: `get pano(): boolean`

Returns: boolean (JSDoc: {boolean} Value indicating whether the node is a panorama.)

Throws / errors:
None documented.



##### `projectKey`

**Description:** Get projectKey.

Signature: `get projectKey(): string`

Returns: string (JSDoc: {string} Unique key of the project to which)

Throws / errors:
None documented.



##### `rotation`

**Description:** Will not be set if SfM has not been run.

Signature: `get rotation(): number[]`

Returns: number[] (JSDoc: {number[]} Rotation vector in angle axis representation.)

Throws / errors:
None documented.



##### `translation`

Signature: `get translation(): number[]`

Returns: number[]

Throws / errors:
None documented.



##### `scale`

**Description:** Will not be set if SfM has not been run.

Signature: `get scale(): number`

Returns: number (JSDoc: {number} Scale of atomic reconstruction.)

Throws / errors:
None documented.



##### `sequenceKey`

**Description:** Get sequenceKey.

Signature: `get sequenceKey(): string`

Returns: string (JSDoc: {string} Unique key of the sequence to which)

Throws / errors:
None documented.



##### `sequenceEdges`

**Description:** Get sequenceEdges.

Signature: `get sequenceEdges(): IEdgeStatus`

Returns: [IEdgeStatus](types.md#iedgestatus) (JSDoc: {IEdgeStatus} Value describing the status of the)

Throws / errors:
None documented.



##### `get sequenceEdges$(): Observable<IEdgeStatus>;`

**Description:** Get sequenceEdges$.

Signature: `get sequenceEdges$(): Observable<IEdgeStatus>`

Throws / errors:
None documented.



##### `spatialEdges`

**Description:** Get spatialEdges.

Signature: `get spatialEdges(): IEdgeStatus`

Returns: [IEdgeStatus](types.md#iedgestatus) (JSDoc: {IEdgeStatus} Value describing the status of the)

Throws / errors:
None documented.



##### `get spatialEdges$(): Observable<IEdgeStatus>;`

**Description:** Get spatialEdges$.

Signature: `get spatialEdges$(): Observable<IEdgeStatus>`

Throws / errors:
None documented.



##### `userKey`

**Description:** Get userKey.

Signature: `get userKey(): string`

Returns: string (JSDoc: {string} Unique key of the user who uploaded)

Throws / errors:
None documented.



##### `username`

**Description:** Get username.

Signature: `get username(): string`

Returns: string (JSDoc: {string} Username of the user who uploaded)

Throws / errors:
None documented.



##### `tags`

Signature: `get tags(): IImageTagInfo[]`

Returns: [IImageTagInfo](types.md#iimagetaginfo)[]

Throws / errors:
None documented.



##### `width`

**Description:** Get width.

Signature: `get width(): number`

Returns: number (JSDoc: {number} Width of original image, not)

Throws / errors:
None documented.



##### `date`

**Description:** Get date.

Signature: `get date(): number`

Returns: number (JSDoc: {number} Date of date generation)

Throws / errors:
None documented.



##### `floor`

**Description:** Get floor.

Signature: `get floor(): IFloorInfo`

Returns: [IFloorInfo](types.md#ifloorinfo) (JSDoc: {IFloorInfo} object of floor)

Throws / errors:
None documented.



##### `floorId`

**Description:** Get floor id.

Signature: `get floorId(): string`

Returns: string (JSDoc: {IFloorInfo} object of floor id)

Throws / errors:
None documented.



##### `building`

**Description:** Get building.

Signature: `get building(): IBuildingBase`

Returns: [IBuildingBase](types.md#ibuildingbase) (JSDoc: {IBuildingBase} object of building)

Throws / errors:
None documented.



##### `cacheAssets$`

**Description:** The assets are always cached internally by the

Signature: `cacheAssets$(): Observable<Node>`

Returns: Observable<[Node](types.md#node)> (JSDoc: {Observable<Node>} Observable emitting this node whenever the)

Throws / errors:
None documented.



##### `cacheImage$`

Signature: `cacheImage$(imageSize: ImageSize): Observable<Node>`

Parameters:
- `imageSize`: [ImageSize](types.md#imagesize) (required)

Returns: Observable<[Node](types.md#node)>

Throws / errors:
None documented.



##### `cacheSequenceEdges`

**Description:** The sequence edges are cached asynchronously

Signature: `cacheSequenceEdges(edges: IEdge[]): void`

Parameters:
- `edges`: [IEdge](types.md#iedge)[] (required) — Sequence edges to cache.

Returns: void

Throws / errors:
None documented.



##### `cacheSpatialEdges`

**Description:** The spatial edges are cached asynchronously

Signature: `cacheSpatialEdges(edges: IEdge[]): void`

Parameters:
- `edges`: [IEdge](types.md#iedge)[] (required) — Spatial edges to cache.

Returns: void

Throws / errors:
None documented.



##### `dispose`

**Description:** Disposes all cached assets.

Signature: `dispose(): void`

Returns: void

Throws / errors:
None documented.



##### `initializeCache`

**Description:** The node cache is initialized internally by

Signature: `initializeCache(cache: NodeCache): void`

Parameters:
- `cache`: NodeCache (required) — The node cache to set as cache.

Returns: void

Throws / errors:
None documented.



##### `makeFull`

**Description:** The node is filled internally by

Signature: `makeFull(fill: IFillNode): void`

Parameters:
- `fill`: [IFillNode](types.md#ifillnode) (required) — The fill node struct.

Returns: void

Throws / errors:
None documented.



##### `resetSequenceEdges`

**Description:** Reset the sequence edges.

Signature: `resetSequenceEdges(): void`

Returns: void

Throws / errors:
None documented.



##### `resetSpatialEdges`

**Description:** Reset the spatial edges.

Signature: `resetSpatialEdges(): void`

Returns: void

Throws / errors:
None documented.



##### `uncache`

**Description:** Clears the image and mesh assets, aborts any outstanding requests and resets edges.

Signature: `uncache(): void`

Returns: void

Throws / errors:
None documented.



Return type: `Node` (class instance)

Throws / errors:
None documented.

### `Sequence`
**Kind:** class

**Description:** Represents a sequence of ordered nodes.
**Constructor:** `constructor(sequence: ISequence)`

Constructor parameters:
- `sequence`: [ISequence](types.md#isequence) (required) — Raw sequence data.

Constructor return: `void`

Constructor throws / errors:
None documented.

Example (auto-generated; replace placeholders):
```ts
const instance = new Sequence(/* args */ {} as any);
```

#### Instance methods and accessors

##### `key`

**Description:** Get key.

Signature: `get key(): string`

Returns: string (JSDoc: {string} Unique sequence key.)

Throws / errors:
None documented.



##### `keys`

**Description:** Get keys.

Signature: `get keys(): string[]`

Returns: string[] (JSDoc: {Array<string>} Array of ordered node keys in the sequence.)

Throws / errors:
None documented.



##### `country`

Signature: `get country(): string`

Returns: string

Throws / errors:
None documented.



##### `city`

Signature: `get city(): string`

Returns: string

Throws / errors:
None documented.



##### `building`

Signature: `get building(): object`

Returns: object

Throws / errors:
None documented.



##### `floor`

Signature: `get floor(): object`

Returns: object

Throws / errors:
None documented.



##### `floorVersion`

Signature: `get floorVersion(): number`

Returns: number

Throws / errors:
None documented.



##### `dispose`

**Description:** Disposes all cached assets.

Signature: `dispose(): void`

Returns: void

Throws / errors:
None documented.



##### `findNextKey`

**Description:** Find the next node key in the sequence with respect to the provided node key.

Signature: `findNextKey(key: string): string`

Parameters:
- `key`: string (required) — Reference node key.

Returns: string (JSDoc: {string} Next key in sequence if it exists, null otherwise.)

Throws / errors:
None documented.



##### `findPrevKey`

**Description:** Find the previous node key in the sequence with respect to the provided node key.

Signature: `findPrevKey(key: string): string`

Parameters:
- `key`: string (required) — Reference node key.

Returns: string (JSDoc: {string} Previous key in sequence if it exists, null otherwise.)

Throws / errors:
None documented.



Return type: `Sequence` (class instance)

Throws / errors:
None documented.

## Markers

Markers and annotations overlaid in indoor street-view space for key locations.

### `ArrowMarker`
**Kind:** class

**Description:** Non-interactive marker with a flat circle shape. The circle marker can not be configured to be interactive.
**Constructor:** `constructor(id: string, latLon: ILatLon, options?: IArrowMarkerOptions)`

Constructor parameters:
- `id`: string (required)
- `latLon`: [ILatLon](types.md#ilatlon) (required)
- `options`: [IArrowMarkerOptions](types.md#iarrowmarkeroptions) (optional)

Constructor return: `void`

Constructor throws / errors:
None documented.

Example (auto-generated; replace placeholders):
```ts
const instance = new ArrowMarker(/* args */ {} as any);
```

Return type: `ArrowMarker` (class instance)

Throws / errors:
None documented.

### `CircleMarker`
**Kind:** class

**Description:** Non-interactive marker with a flat circle shape. The circle marker can not be configured to be interactive.
**Constructor:** `constructor(id: string, latLon: ILatLon, options?: ICircleMarkerOptions)`

Constructor parameters:
- `id`: string (required)
- `latLon`: [ILatLon](types.md#ilatlon) (required)
- `options`: [ICircleMarkerOptions](types.md#icirclemarkeroptions) (optional)

Constructor return: `void`

Constructor throws / errors:
None documented.

Example (auto-generated; replace placeholders):
```ts
const instance = new CircleMarker(/* args */ {} as any);
```

Return type: `CircleMarker` (class instance)

Throws / errors:
None documented.

### `DotMarker`
**Kind:** class

**Description:** none.
**Constructor:** `constructor(id: string, latLon: ILatLon, options?: IDotMarkerOptions)`

Constructor parameters:
- `id`: string (required)
- `latLon`: [ILatLon](types.md#ilatlon) (required)
- `options`: [IDotMarkerOptions](types.md#idotmarkeroptions) (optional)

Constructor return: `void`

Constructor throws / errors:
None documented.

Example (auto-generated; replace placeholders):
```ts
const instance = new DotMarker(/* args */ {} as any);
```

Return type: `DotMarker` (class instance)

Throws / errors:
None documented.

### `IArrowMarkerOptions`
**Kind:** interface
**Description:** @interface IArrowMarkerOptions

Interface that represents the options for configuring a `ArrowMarker`.

Interface: `IArrowMarkerOptions`

Fields:
- `interactive`: boolean (optional)
- `color`: number | string (optional)
- `opacity`: number (optional)
- `radius`: number (optional)

Return type: `IArrowMarkerOptions`

Throws / errors:
None documented.

```ts
const obj: IArrowMarkerOptions = {} as any;
```

### `ICircleMarkerOptions`
**Kind:** interface
**Description:** @interface ICircleMarkerOptions

Interface that represents the options for configuring a `CircleMarker`.

Interface: `ICircleMarkerOptions`

Fields:
- `color`: number | string (optional)
- `opacity`: number (optional)
- `radius`: number (optional)

Return type: `ICircleMarkerOptions`

Throws / errors:
None documented.

```ts
const obj: ICircleMarkerOptions = {} as any;
```

### `IDotMarkerOptions`
**Kind:** interface
**Description:** @interface IDotMarkerOptions

Interface that represents the options for configuring a `DotMarker`.

Interface: `IDotMarkerOptions`

Fields:
- `offsetFactor`: number (optional)
- `outerColor`: number | string (optional)

Return type: `IDotMarkerOptions`

Throws / errors:
None documented.

```ts
const obj: IDotMarkerOptions = {} as any;
```

### `IMarkerEvent`
**Kind:** interface
**Description:** @interface IMarkerEvent

Interface that represents a marker event occuring in the viewer target element.

Interface: `IMarkerEvent`

Fields:
- `marker`: Marker (required)
- `target`: MarkerComponent (required)
- `type`: string (required)

Return type: `IMarkerEvent`

Throws / errors:
None documented.

```ts
const obj: IMarkerEvent = {} as any;
```

### `IRibbonMarkerOptions`
**Kind:** interface
**Description:** @interface IRibbonMarkerOptions

Interface that represents the options for configuring a `RibbonMarker`.

Interface: `IRibbonMarkerOptions`

Fields:
- `color`: number | string (optional)
- `chevronColor`: number | string (optional)
- `opacity`: number (optional)
- `width`: number (optional)
- `maxLength`: number (optional)
- `animated`: boolean (optional)
- `animationSpeed`: number (optional)

Return type: `IRibbonMarkerOptions`

Throws / errors:
None documented.

```ts
const obj: IRibbonMarkerOptions = {} as any;
```

### `ISimpleMarkerOptions`
**Kind:** interface
**Description:** @interface ISimpleMarkerOptions

Interface that represents the options for configuring a `SimpleMarker`.

Interface: `ISimpleMarkerOptions`

Fields:
- `ballColor`: number | string (optional)
- `ballOpacity`: number (optional)
- `color`: number | string (optional)
- `interactive`: boolean (optional)
- `opacity`: number (optional)
- `radius`: number (optional)

Return type: `ISimpleMarkerOptions`

Throws / errors:
None documented.

```ts
const obj: ISimpleMarkerOptions = {} as any;
```

### `MarkerComponent`
**Kind:** class

**Description:** Component for showing and editing 3D marker objects.
**Constructor:** `constructor(name: string, container: Container, navigator: Navigator)`

Constructor parameters:
- `name`: string (required)
- `container`: Container (required)
- `navigator`: Navigator (required)

Constructor return: `void`

Constructor throws / errors:
None documented.

Example (auto-generated; replace placeholders):
```ts
const instance = new MarkerComponent(/* args */ {} as any);
```

#### Static members

##### `componentName`

Signature: `static componentName: string`

Type: string



##### `changed`

**Description:** Fired when the position of a marker is changed.

Signature: `static changed: string`

Type: string

Example (from JSDoc):
```ts
markerComponent.on("changed", function(e) {
    console.log(e.marker.id, e.marker.latLon);
});
```

##### `dragstart`

**Description:** Fired when a marker drag interaction starts.

Signature: `static dragstart: string`

Type: string

Example (from JSDoc):
```ts
markerComponent.on("dragstart", function(e) {
    console.log(e.marker.id, e.marker.latLon);
});
```

##### `dragend`

**Description:** Fired when a marker drag interaction ends.

Signature: `static dragend: string`

Type: string

Example (from JSDoc):
```ts
markerComponent.on("dragend", function(e) {
    console.log(e.marker.id, e.marker.latLon);
});
```

#### Instance methods and accessors

##### `get mouseMove$(): Observable<[MouseEvent, string]>;`

**Description:** Marker hover event, mouse hover on the marker, return that id

Signature: `get mouseMove$(): Observable<[MouseEvent, string]>`

Throws / errors:
None documented.



##### `add`

**Description:** If a marker already in the set has the same

Signature: `add(markers: Marker[]): void`

Parameters:
- `markers`: Marker[] (required) — Markers to add.

Returns: void

Throws / errors:
None documented.

Example (from JSDoc):
```ts
.add([marker1, marker2]);
```

##### `get`

**Description:** Returns the marker in the marker set with the specified id, or undefined if the id matches no marker.

Signature: `get(markerId: string): Marker`

Parameters:
- `markerId`: string (required) — Id of the marker.

Returns: Marker

Throws / errors:
None documented.

Example (from JSDoc):
```ts
marker = markerComponent.get("markerId");
```

##### `getAll`

**Description:** Returns an array of all markers.

Signature: `getAll(): Marker[]`

Returns: Marker[]

Throws / errors:
None documented.

Example (from JSDoc):
```ts
markers = markerComponent.getAll();
```

##### `getMarkerIdAt`

**Description:** Notice that the pixelPoint argument requires x, y

Signature: `getMarkerIdAt(pixelPoint: number[]): Promise<string>`

Parameters:
- `pixelPoint`: number[] (required) — Pixel coordinates on the viewer element.

Returns: Promise<string> (JSDoc: {string} Id of the interactive marker closest to the camera. If no)

Throws / errors:
None documented.

Example (from JSDoc):
```ts
markerComponent.getMarkerIdAt([100, 100])
    .then((markerId) => { console.log(markerId); });
```

##### `has`

**Description:** Check if a marker exist in the marker set.

Signature: `has(markerId: string): boolean`

Parameters:
- `markerId`: string (required) — Id of the marker.

Returns: boolean

Throws / errors:
None documented.

Example (from JSDoc):
```ts
markerExists = markerComponent.has("markerId");
```

##### `remove`

**Description:** Remove markers with the specified ids from the marker set.

Signature: `remove(markerIds: string[]): void`

Parameters:
- `markerIds`: string[] (required) — Ids for markers to remove.

Returns: void

Throws / errors:
None documented.

Example (from JSDoc):
```ts
.remove(["id-1", "id-2"]);
```

##### `removeAll`

**Description:** Remove all markers from the marker set.

Signature: `removeAll(): void`

Returns: void

Throws / errors:
None documented.

Example (from JSDoc):
```ts
.removeAll();
```

Return type: `MarkerComponent` (class instance)

Throws / errors:
None documented.

### `RibbonMarker`
**Kind:** class

**Description:** Non-interactive marker that renders a flat ribbon on the ground plane, following a polyline path from a start position through one or more waypoints. The ribbon displays animated chevron arrows scrolling in the direction of travel, with a transparency gradient toward the far end.
**Constructor:** `constructor(id: string, latLon: ILatLon, waypointsOrTarget: ILatLon | ILatLon[], options?: IRibbonMarkerOptions)`

Constructor parameters:
- `id`: string (required)
- `latLon`: [ILatLon](types.md#ilatlon) (required)
- `waypointsOrTarget`: [ILatLon](types.md#ilatlon) | [ILatLon](types.md#ilatlon)[] (required)
- `options`: [IRibbonMarkerOptions](types.md#iribbonmarkeroptions) (optional)

Constructor return: `void`

Constructor throws / errors:
None documented.

Example (auto-generated; replace placeholders):
```ts
const instance = new RibbonMarker(/* args */ {} as any);
```

#### Instance methods and accessors

##### `targetLatLon`

Signature: `get targetLatLon(): ILatLon`

Returns: [ILatLon](types.md#ilatlon)

Throws / errors:
None documented.



##### `needsAnimationRender`

Signature: `get needsAnimationRender(): boolean`

Returns: boolean

Throws / errors:
None documented.



Return type: `RibbonMarker` (class instance)

Throws / errors:
None documented.

### `SimpleMarker`
**Kind:** class

**Description:** Interactive marker with ice cream shape. The sphere inside the ice cream can be configured to be interactive.
**Constructor:** `constructor(id: string, latLon: ILatLon, options?: ISimpleMarkerOptions)`

Constructor parameters:
- `id`: string (required)
- `latLon`: [ILatLon](types.md#ilatlon) (required)
- `options`: [ISimpleMarkerOptions](types.md#isimplemarkeroptions) (optional)

Constructor return: `void`

Constructor throws / errors:
None documented.

Example (auto-generated; replace placeholders):
```ts
const instance = new SimpleMarker(/* args */ {} as any);
```

Return type: `SimpleMarker` (class instance)

Throws / errors:
None documented.

## Tags

Tag model, rendering, and interaction for POIs, route points, and indoor information.

### `GeometryTagError`
**Kind:** class

**Description:** none.
**Constructor:** `constructor(message?: string)`

Constructor parameters:
- `message`: string (optional)

Constructor return: `void`

Constructor throws / errors:
None documented.

Example (auto-generated; replace placeholders):
```ts
const instance = new GeometryTagError(/* args */ {} as any);
```

Return type: `GeometryTagError` (class instance)

Throws / errors:
None documented.

### `IImageTagInfo`
**Kind:** interface
**Description:** none.

Interface: `IImageTagInfo`

Fields:
- `name`: string (optional)
- `xmax`: number (optional)
- `xmin`: number (optional)
- `ymax`: number (optional)
- `ymin`: number (optional)

Return type: `IImageTagInfo`

Throws / errors:
None documented.

```ts
const obj: IImageTagInfo = {} as any;
```

### `IOutlineCreateTagOptions`
**Kind:** interface
**Description:** Interface for the options that define the behavior and appearance of the outline create tag.

Interface: `IOutlineCreateTagOptions`

Fields:
- `color`: number (optional)

Return type: `IOutlineCreateTagOptions`

Throws / errors:
None documented.

```ts
const obj: IOutlineCreateTagOptions = {} as any;
```

### `IOutlineTagOptions`
**Kind:** interface
**Description:** Interface for the options that define the behavior and appearance of the outline tag.

Interface: `IOutlineTagOptions`

Fields:
- `editable`: boolean (optional)
- `fillColor`: number (optional)
- `fillOpacity`: number (optional)
- `icon`: string (optional)
- `iconFloat`: [Alignment](types.md#alignment) (optional)
- `iconIndex`: number (optional)
- `indicateVertices`: boolean (optional)
- `lineColor`: number (optional)
- `lineOpacity`: number (optional)
- `lineWidth`: number (optional)
- `text`: string (optional)
- `textColor`: number (optional)

Return type: `IOutlineTagOptions`

Throws / errors:
None documented.

```ts
const obj: IOutlineTagOptions = {} as any;
```

### `ISpotTagOptions`
**Kind:** interface
**Description:** Interface for the options that define the behavior and appearance of the spot tag.

Interface: `ISpotTagOptions`

Fields:
- `color`: number (optional)
- `editable`: boolean (optional)
- `icon`: string (optional)
- `text`: string (optional)
- `textColor`: number (optional)

Return type: `ISpotTagOptions`

Throws / errors:
None documented.

```ts
const obj: ISpotTagOptions = {} as any;
```

### `OutlineTag`
**Kind:** class

**Description:** Tag holding properties for visualizing a geometry outline.
**Constructor:** `constructor(id: string, geometry: VertexGeometry, options?: IOutlineTagOptions)`

Constructor parameters:
- `id`: string (required) — Unique identifier of the tag.
- `geometry`: VertexGeometry (required) — Geometry defining vertices of tag.
- `options`: [IOutlineTagOptions](types.md#ioutlinetagoptions) (optional) — Options defining the visual appearance and behavior of the outline tag.

Constructor return: `void`

Constructor throws / errors:
None documented.

Example (auto-generated; replace placeholders):
```ts
const instance = new OutlineTag(/* args */ {} as any);
```

#### Static members

##### `click`

**Description:** Event fired when the icon of the outline tag is clicked.

Signature: `static click: string`

Type: string



#### Instance methods and accessors

##### `get click$(): Subject<OutlineTag>;`

**Description:** An observable emitting the tag when the icon of the

Signature: `get click$(): Subject<OutlineTag>`

Throws / errors:
None documented.



##### `editable`

**Description:** Get editable property.

Signature: `get editable(): boolean`

Returns: boolean (JSDoc: {boolean} Value indicating if tag is editable.)

Throws / errors:
None documented.



##### `editable`

**Description:** Set editable property.

Signature: `set editable(value: boolean)`

Throws / errors:
None documented.



##### `fillColor`

**Description:** Get fill color property.

Signature: `get fillColor(): number`

Returns: number (JSDoc: {number})

Throws / errors:
None documented.



##### `fillColor`

**Description:** Set fill color property.

Signature: `set fillColor(value: number)`

Throws / errors:
None documented.



##### `fillOpacity`

**Description:** Get fill opacity property.

Signature: `get fillOpacity(): number`

Returns: number (JSDoc: {number})

Throws / errors:
None documented.



##### `fillOpacity`

**Description:** Set fill opacity property.

Signature: `set fillOpacity(value: number)`

Throws / errors:
None documented.



##### `geometry`

Signature: `get geometry(): VertexGeometry`

Returns: VertexGeometry

Throws / errors:
None documented.



##### `icon`

**Description:** Get icon property.

Signature: `get icon(): string`

Returns: string (JSDoc: {string})

Throws / errors:
None documented.



##### `icon`

**Description:** Set icon property.

Signature: `set icon(value: string)`

Throws / errors:
None documented.



##### `iconFloat`

**Description:** Get icon float property.

Signature: `get iconFloat(): Alignment`

Returns: [Alignment](types.md#alignment) (JSDoc: {Alignment})

Throws / errors:
None documented.



##### `iconFloat`

**Description:** Set icon float property.

Signature: `set iconFloat(value: Alignment)`

Throws / errors:
None documented.



##### `iconIndex`

**Description:** Get icon index property.

Signature: `get iconIndex(): number`

Returns: number (JSDoc: {number})

Throws / errors:
None documented.



##### `iconIndex`

**Description:** Set icon index property.

Signature: `set iconIndex(value: number)`

Throws / errors:
None documented.



##### `indicateVertices`

**Description:** Get indicate vertices property.

Signature: `get indicateVertices(): boolean`

Returns: boolean (JSDoc: {boolean} Value indicating if vertices should be indicated)

Throws / errors:
None documented.



##### `indicateVertices`

**Description:** Set indicate vertices property.

Signature: `set indicateVertices(value: boolean)`

Throws / errors:
None documented.



##### `lineColor`

**Description:** Get line color property.

Signature: `get lineColor(): number`

Returns: number (JSDoc: {number})

Throws / errors:
None documented.



##### `lineColor`

**Description:** Set line color property.

Signature: `set lineColor(value: number)`

Throws / errors:
None documented.



##### `lineOpacity`

**Description:** Get line opacity property.

Signature: `get lineOpacity(): number`

Returns: number (JSDoc: {number})

Throws / errors:
None documented.



##### `lineOpacity`

**Description:** Set line opacity property.

Signature: `set lineOpacity(value: number)`

Throws / errors:
None documented.



##### `lineWidth`

**Description:** Get line width property.

Signature: `get lineWidth(): number`

Returns: number (JSDoc: {number})

Throws / errors:
None documented.



##### `lineWidth`

**Description:** Set line width property.

Signature: `set lineWidth(value: number)`

Throws / errors:
None documented.



##### `text`

**Description:** Get text property.

Signature: `get text(): string`

Returns: string (JSDoc: {string})

Throws / errors:
None documented.



##### `text`

**Description:** Set text property.

Signature: `set text(value: string)`

Throws / errors:
None documented.



##### `textColor`

**Description:** Get text color property.

Signature: `get textColor(): number`

Returns: number (JSDoc: {number})

Throws / errors:
None documented.



##### `textColor`

**Description:** Set text color property.

Signature: `set textColor(value: number)`

Throws / errors:
None documented.



##### `setOptions`

**Description:** Sets all the option properties provided and keeps

Signature: `setOptions(options: IOutlineTagOptions): void`

Parameters:
- `options`: [IOutlineTagOptions](types.md#ioutlinetagoptions) (required) — Outline tag options

Returns: void

Throws / errors:
None documented.



Return type: `OutlineTag` (class instance)

Throws / errors:
None documented.

### `SpotTag`
**Kind:** class

**Description:** Tag holding properties for visualizing the centroid of a geometry.
**Constructor:** `constructor(id: string, geometry: Geometry, options?: ISpotTagOptions)`

Constructor parameters:
- `id`: string (required)
- `geometry`: Geometry (required)
- `options`: [ISpotTagOptions](types.md#ispottagoptions) (optional) — Options defining the visual appearance and behavior of the spot tag.

Constructor return: `void`

Constructor throws / errors:
None documented.

Example (auto-generated; replace placeholders):
```ts
const instance = new SpotTag(/* args */ {} as any);
```

#### Instance methods and accessors

##### `color`

**Description:** Get color property.

Signature: `get color(): number`

Returns: number (JSDoc: {number} The color of the spot as a hexagonal number;)

Throws / errors:
None documented.



##### `color`

**Description:** Set color property.

Signature: `set color(value: number)`

Throws / errors:
None documented.



##### `editable`

**Description:** Get editable property.

Signature: `get editable(): boolean`

Returns: boolean (JSDoc: {boolean} Value indicating if tag is editable.)

Throws / errors:
None documented.



##### `editable`

**Description:** Set editable property.

Signature: `set editable(value: boolean)`

Throws / errors:
None documented.



##### `icon`

**Description:** Get icon property.

Signature: `get icon(): string`

Returns: string (JSDoc: {string})

Throws / errors:
None documented.



##### `icon`

**Description:** Set icon property.

Signature: `set icon(value: string)`

Throws / errors:
None documented.



##### `text`

**Description:** Get text property.

Signature: `get text(): string`

Returns: string (JSDoc: {string})

Throws / errors:
None documented.



##### `text`

**Description:** Set text property.

Signature: `set text(value: string)`

Throws / errors:
None documented.



##### `textColor`

**Description:** Get text color property.

Signature: `get textColor(): number`

Returns: number (JSDoc: {number})

Throws / errors:
None documented.



##### `textColor`

**Description:** Set text color property.

Signature: `set textColor(value: number)`

Throws / errors:
None documented.



##### `setOptions`

**Description:** Sets all the option properties provided and keps

Signature: `setOptions(options: ISpotTagOptions): void`

Parameters:
- `options`: [ISpotTagOptions](types.md#ispottagoptions) (required) — Spot tag options

Returns: void

Throws / errors:
None documented.



Return type: `SpotTag` (class instance)

Throws / errors:
None documented.

### `TagComponent`
**Kind:** class

**Description:** Component for showing and editing tags with different geometries composed from 2D basic image coordinates (see the {@link Viewer} class documentation for more information about coordinate systems).
**Constructor:** `constructor(name: string, container: Container, navigator: Navigator)`

Constructor parameters:
- `name`: string (required)
- `container`: Container (required)
- `navigator`: Navigator (required)

Constructor return: `void`

Constructor throws / errors:
None documented.

Example (auto-generated; replace placeholders):
```ts
const instance = new TagComponent(/* args */ {} as any);
```

#### Static members

##### `componentName`

Signature: `static componentName: string`

Type: string



##### `creategeometryend`

**Description:** A create interaction can by a geometry being created

Signature: `static creategeometryend: string`

Type: string

Example (from JSDoc):
```ts
tagComponent.on("creategeometryend", function(component) {
    console.log(component);
});
```

##### `creategeometrystart`

**Description:** A create interaction starts when the first vertex

Signature: `static creategeometrystart: string`

Type: string

Example (from JSDoc):
```ts
tagComponent.on("creategeometrystart", function(component) {
    console.log(component);
});
```

##### `modechanged`

**Description:** Event fired when the create mode is changed.

Signature: `static modechanged: string`

Type: string

Example (from JSDoc):
```ts
tagComponent.on("modechanged", function(mode) {
    console.log(mode);
});
```

##### `geometrycreated`

**Description:** Event fired when a geometry has been created.

Signature: `static geometrycreated: string`

Type: string

Example (from JSDoc):
```ts
tagComponent.on("geometrycreated", function(geometry) {
    console.log(geometry);
});
```

##### `tagschanged`

**Description:** Event fired when the tags collection has changed.

Signature: `static tagschanged: string`

Type: string

Example (from JSDoc):
```ts
tagComponent.on("tagschanged", function(component) {
    console.log(component.getAll());
});
```

#### Instance methods and accessors

##### `add`

**Description:** If a tag already in the set has the same

Signature: `add(tags: Tag[]): void`

Parameters:
- `tags`: Tag[] (required) — Tags to add.

Returns: void

Throws / errors:
None documented.

Example (from JSDoc):
```ts
.add([tag1, tag2]);
```

##### `changeMode`

**Description:** Change the tag mode to one of the create modes for creating new geometries.

Signature: `changeMode(mode: TagMode): void`

Parameters:
- `mode`: [TagMode](types.md#tagmode) (required) — New tag mode.

Returns: void

Throws / errors:
None documented.

Example (from JSDoc):
```ts
.changeMode(Beeview.TagComponent.TagMode.CreateRect);
```

##### `get`

**Description:** Returns the tag in the tag set with the specified id, or undefined if the id matches no tag.

Signature: `get(tagId: string): Tag`

Parameters:
- `tagId`: string (required) — Id of the tag.

Returns: Tag

Throws / errors:
None documented.

Example (from JSDoc):
```ts
tag = tagComponent.get("tagId");
```

##### `getAll`

**Description:** Returns an array of all tags.

Signature: `getAll(): Tag[]`

Returns: Tag[]

Throws / errors:
None documented.

Example (from JSDoc):
```ts
tags = tagComponent.getAll();
```

##### `getTagIdsAt`

**Description:** The pixel point must lie inside the polygon or rectangle

Signature: `getTagIdsAt(pixelPoint: number[]): Promise<string[]>`

Parameters:
- `pixelPoint`: number[] (required) — Pixel coordinates on the viewer element.

Returns: Promise<string[]> (JSDoc: {Array<string>} Ids of the tags that contain the specified pixel point.)

Throws / errors:
None documented.

Example (from JSDoc):
```ts
tagComponent.getTagIdsAt([100, 100])
    .then((tagIds) => { console.log(tagIds); });
```

##### `has`

**Description:** Check if a tag exist in the tag set.

Signature: `has(tagId: string): boolean`

Parameters:
- `tagId`: string (required) — Id of the tag.

Returns: boolean

Throws / errors:
None documented.

Example (from JSDoc):
```ts
tagExists = tagComponent.has("tagId");
```

##### `remove`

**Description:** Remove tags with the specified ids from the tag set.

Signature: `remove(tagIds: string[]): void`

Parameters:
- `tagIds`: string[] (required) — Ids for tags to remove.

Returns: void

Throws / errors:
None documented.

Example (from JSDoc):
```ts
.remove(["id-1", "id-2"]);
```

##### `removeAll`

**Description:** Remove all tags from the tag set.

Signature: `removeAll(): void`

Returns: void

Throws / errors:
None documented.

Example (from JSDoc):
```ts
.removeAll();
```

Return type: `TagComponent` (class instance)

Throws / errors:
None documented.

### `TagMode`
**Kind:** enum
**Description:** Modes for the interaction in the tag component.

Enum: `TagMode`

Enum members:
- `Default` = 0
- `CreatePoint` = 1
- `CreatePolygon` = 2
- `CreateRect` = 3
- `CreateRectDrag` = 4

Return type: `TagMode`

Throws / errors:
None documented.

```ts
const value = TagMode.Default;
```

## Popup

Popup UI for place information and navigation-related interaction.

### `IPopupOffset`
**Kind:** interface
**Description:** An object of number arrays specifing an offset for

Interface: `IPopupOffset`

Fields:
- `bottom`: number[] (required)
- `bottomLeft`: number[] (required)
- `bottomRight`: number[] (required)
- `center`: number[] (required)
- `left`: number[] (required)
- `right`: number[] (required)
- `top`: number[] (required)
- `topLeft`: number[] (required)
- `topRight`: number[] (required)

Return type: `IPopupOffset`

Throws / errors:
None documented.

Example (from JSDoc):
```ts
var offset = = {
    bottom: [0, 10],
    bottomLeft: [-10, 10],
    bottomRight: [10, 10],
    center: [0, 0],
    left: [-10, 0],
    right: [10, 0],
    top: [0, -10],
    topLeft: [-10, -10],
    topRight: [10, -10],
}

var popup = new Beeview.PopupComponent.Popup({ offset: offset });
```

### `IPopupOptions`
**Kind:** interface
**Description:** Interface for the options that define behavior and appearance of a popup.

Interface: `IPopupOptions`

Fields:
- `capturePointer`: boolean (optional)
- `clean`: boolean (optional)
- `float`: [Alignment](types.md#alignment) (optional)
- `offset`: number | [IPopupOffset](types.md#ipopupoffset) (optional)
- `opacity`: number (optional)
- `position`: [Alignment](types.md#alignment) (optional)

Return type: `IPopupOptions`

Throws / errors:
None documented.

```ts
const obj: IPopupOptions = {} as any;
```

### `Popup`
**Kind:** class

**Description:** Implementation of API methods and API documentation inspired
**Constructor:** `constructor(options?: IPopupOptions, viewportCoords?: ViewportCoords, dom?: DOM)`

Constructor parameters:
- `options`: [IPopupOptions](types.md#ipopupoptions) (optional)
- `viewportCoords`: ViewportCoords (optional)
- `dom`: DOM (optional)

Constructor return: `void`

Constructor throws / errors:
None documented.

Example (auto-generated; replace placeholders):
```ts
const instance = new Popup(/* args */ {} as any);
```

#### Instance methods and accessors

##### `get changed$(): Observable<Popup>;`

**Description:** Internal observable used by the component to

Signature: `get changed$(): Observable<Popup>`

Throws / errors:
None documented.



##### `remove`

**Description:** Internal method used by the component to

Signature: `remove(): void`

Returns: void

Throws / errors:
None documented.



##### `setBasicPoint`

**Description:** Overwrites any previously set point or rect.

Signature: `setBasicPoint(basicPoint: number[]): void`

Parameters:
- `basicPoint`: number[] (required) — Point in 2D basic image coordinates.

Returns: void

Throws / errors:
None documented.

Example (from JSDoc):
```ts
var popup = new Beeview.PopupComponent.Popup();
popup.setText('hello image');
popup.setBasicPoint([0.3, 0.3]);

popupComponent.add([popup]);
```

##### `setBasicRect`

**Description:** Overwrites any previously set point or rect.

Signature: `setBasicRect(basicRect: number[]): void`

Parameters:
- `basicRect`: number[] (required) — Rect in 2D basic image coordinates ([topLeftX, topLeftY, bottomRightX, bottomRightY]) .

Returns: void

Throws / errors:
None documented.

Example (from JSDoc):
```ts
var popup = new Beeview.PopupComponent.Popup();
popup.setText('hello image');
popup.setBasicRect([0.3, 0.3, 0.5, 0.6]);

popupComponent.add([popup]);
```

##### `setDOMContent`

**Description:** Sets the popup's content to the element provided as a DOM node.

Signature: `setDOMContent(htmlNode: Node): void`

Parameters:
- `htmlNode`: [Node](types.md#node) (required) — A DOM node to be used as content for the popup.

Returns: void

Throws / errors:
None documented.

Example (from JSDoc):
```ts
var div = document.createElement('div');
div.textContent = 'hello image';

var popup = new Beeview.PopupComponent.Popup();
popup.setDOMContent(div);
popup.setBasicPoint([0.3, 0.3]);

popupComponent.add([popup]);
```

##### `setHTML`

**Description:** This method sanitizes the provided HTML and strips unsafe tags,

Signature: `setHTML(html: string): void`

Parameters:
- `html`: string (required) — A string representing HTML content for the popup.

Returns: void

Throws / errors:
None documented.

Example (from JSDoc):
```ts
var popup = new Beeview.PopupComponent.Popup();
popup.setHTML('<div>hello image</div>');
popup.setBasicPoint([0.3, 0.3]);

popupComponent.add([popup]);
```

##### `setText`

**Description:** This function creates a Text node in the DOM, so it cannot insert raw HTML.

Signature: `setText(text: string): void`

Parameters:
- `text`: string (required) — Textual content for the popup.

Returns: void

Throws / errors:
None documented.

Example (from JSDoc):
```ts
var popup = new Beeview.PopupComponent.Popup();
popup.setText('hello image');
popup.setBasicPoint([0.3, 0.3]);

popupComponent.add([popup]);
```

##### `setParentContainer`

**Description:** Internal method for attaching the popup to

Signature: `setParentContainer(parentContainer: HTMLElement): void`

Parameters:
- `parentContainer`: HTMLElement (required)

Returns: void

Throws / errors:
None documented.



##### `update`

**Description:** Internal method for updating the rendered

Signature: `update(renderCamera: RenderCamera, size: ISize, transform: Transform): void`

Parameters:
- `renderCamera`: RenderCamera (required)
- `size`: [ISize](types.md#isize) (required)
- `transform`: Transform (required)

Returns: void

Throws / errors:
None documented.



Return type: `Popup` (class instance)

Throws / errors:
None documented.

### `PopupComponent`
**Kind:** class

**Description:** Component for showing HTML popup objects.
**Constructor:** `constructor(name: string, container: Container, navigator: Navigator, dom?: DOM)`

Constructor parameters:
- `name`: string (required)
- `container`: Container (required)
- `navigator`: Navigator (required)
- `dom`: DOM (optional)

Constructor return: `void`

Constructor throws / errors:
None documented.

Example (auto-generated; replace placeholders):
```ts
const instance = new PopupComponent(/* args */ {} as any);
```

#### Static members

##### `componentName`

Signature: `static componentName: string`

Type: string



#### Instance methods and accessors

##### `add`

**Description:** Adding a new popup never replaces an old one

Signature: `add(popups: Popup[]): void`

Parameters:
- `popups`: Popup[] (required) — Popups to add.

Returns: void

Throws / errors:
None documented.

Example (from JSDoc):
```ts
.add([popup1, popup2]);
```

##### `getAll`

**Description:** Returns an array of all popups.

Signature: `getAll(): Popup[]`

Returns: Popup[]

Throws / errors:
None documented.

Example (from JSDoc):
```ts
popups = popupComponent.getAll();
```

##### `remove`

**Description:** Remove popups based on reference from the popup set.

Signature: `remove(popups: Popup[]): void`

Parameters:
- `popups`: Popup[] (required) — Popups to remove.

Returns: void

Throws / errors:
None documented.

Example (from JSDoc):
```ts
.remove([popup1, popup2]);
```

##### `removeAll`

**Description:** Remove all popups from the popup set.

Signature: `removeAll(): void`

Returns: void

Throws / errors:
None documented.

Example (from JSDoc):
```ts
.removeAll();
```

Return type: `PopupComponent` (class instance)

Throws / errors:
None documented.

## Geometry

Geometry definitions for clickable tag and spatial element regions.

### `PointGeometry`
**Kind:** class

**Description:** Represents a point geometry in the 2D basic image coordinate system.
**Constructor:** `constructor(point: number[])`

Constructor parameters:
- `point`: number[] (required) — An array representing the basic coordinates of the point.

Constructor return: `void`

Constructor throws / errors:
- GeometryTagError - Point coordinates must be valid basic coordinates.

Example (auto-generated; replace placeholders):
```ts
const instance = new PointGeometry(/* args */ {} as any);
```

#### Instance methods and accessors

##### `point`

**Description:** Get point property.

Signature: `get point(): number[]`

Returns: number[] (JSDoc: {Array<number>} Array representing the basic coordinates of the point.)

Throws / errors:
None documented.



##### `getCentroid2d`

**Description:** Get the 2D basic coordinates for the centroid of the point, i.e. the 2D basic coordinates of the point itself.

Signature: `getCentroid2d(): number[]`

Returns: number[] (JSDoc: {Array<number>} 2D basic coordinates representing the centroid.)

Throws / errors:
None documented.



##### `getCentroid3d`

**Description:** Get the 3D world coordinates for the centroid of the point, i.e. the 3D world coordinates of the point itself.

Signature: `getCentroid3d(transform: Transform): number[]`

Parameters:
- `transform`: Transform (required) — The transform of the node related to the point.

Returns: number[] (JSDoc: {Array<number>} 3D world coordinates representing the centroid.)

Throws / errors:
None documented.



##### `setCentroid2d`

**Description:** Set the centroid of the point, i.e. the point coordinates.

Signature: `setCentroid2d(value: number[], transform: Transform): void`

Parameters:
- `value`: number[] (required) — The new value of the centroid.
- `transform`: Transform (required) — The transform of the node related to the point.

Returns: void

Throws / errors:
None documented.



Return type: `PointGeometry` (class instance)

Throws / errors:
None documented.

### `PolygonGeometry`
**Kind:** class

**Description:** Represents a polygon geometry in the 2D basic image coordinate system. All polygons and holes provided to the constructor needs to be closed.
**Constructor:** `constructor(polygon: number[][], holes?: number[][][])`

Constructor parameters:
- `polygon`: number[][] (required) — Array of polygon vertices. Must be closed.
- `holes`: number[][][] (optional)

Constructor return: `void`

Constructor throws / errors:
- GeometryTagError - Polygon coordinates must be valid basic coordinates.

Example (auto-generated; replace placeholders):
```ts
const instance = new PolygonGeometry(/* args */ {} as any);
```

#### Instance methods and accessors

##### `polygon`

**Description:** Get polygon property.

Signature: `get polygon(): number[][]`

Returns: number[][] (JSDoc: {Array<Array<number>>} Closed 2d polygon.)

Throws / errors:
None documented.



##### `holes`

**Description:** Get holes property.

Signature: `get holes(): number[][][]`

Returns: number[][][] (JSDoc: {Array<Array<Array<number>>>} Holes of 2d polygon.)

Throws / errors:
None documented.



##### `addVertex2d`

**Description:** Add a vertex to the polygon by appending it after the last vertex.

Signature: `addVertex2d(vertex: number[]): void`

Parameters:
- `vertex`: number[] (required) — Vertex to add.

Returns: void

Throws / errors:
None documented.



##### `getVertex2d`

**Description:** The first vertex represents the bottom-left corner with the rest of

Signature: `getVertex2d(index: number): number[]`

Parameters:
- `index`: number (required) — Vertex index.

Returns: number[] (JSDoc: {Array<number>} Array representing the 2D basic coordinates of the vertex.)

Throws / errors:
None documented.



##### `removeVertex2d`

**Description:** Remove a vertex from the polygon.

Signature: `removeVertex2d(index: number): void`

Parameters:
- `index`: number (required) — The index of the vertex to remove.

Returns: void

Throws / errors:
None documented.



##### `setVertex2d`

Signature: `setVertex2d(index: number, value: number[], transform: Transform): void`

Parameters:
- `index`: number (required)
- `value`: number[] (required)
- `transform`: Transform (required)

Returns: void

Throws / errors:
None documented.



##### `setCentroid2d`

Signature: `setCentroid2d(value: number[], transform: Transform): void`

Parameters:
- `value`: number[] (required)
- `transform`: Transform (required)

Returns: void

Throws / errors:
None documented.



##### `getPoints3d`

Signature: `getPoints3d(transform: Transform): number[][]`

Parameters:
- `transform`: Transform (required)

Returns: number[][]

Throws / errors:
None documented.



##### `getVertex3d`

Signature: `getVertex3d(index: number, transform: Transform): number[]`

Parameters:
- `index`: number (required)
- `transform`: Transform (required)

Returns: number[]

Throws / errors:
None documented.



##### `getVertices2d`

Signature: `getVertices2d(): number[][]`

Returns: number[][]

Throws / errors:
None documented.



##### `getVertices3d`

Signature: `getVertices3d(transform: Transform): number[][]`

Parameters:
- `transform`: Transform (required)

Returns: number[][]

Throws / errors:
None documented.



##### `getHoleVertices3d`

**Description:** Get a polygon representation of the 3D coordinates for the vertices of each hole of the geometry.

Signature: `getHoleVertices3d(transform: Transform): number[][][]`

Parameters:
- `transform`: Transform (required) — The transform of the node related to the geometry.

Returns: number[][][] (JSDoc: {Array<Array<Array<number>>>} Array of hole polygons in 3D world coordinates)

Throws / errors:
None documented.



##### `getCentroid2d`

Signature: `getCentroid2d(): number[]`

Returns: number[]

Throws / errors:
None documented.



##### `getCentroid3d`

Signature: `getCentroid3d(transform: Transform): number[]`

Parameters:
- `transform`: Transform (required)

Returns: number[]

Throws / errors:
None documented.



##### `getTriangles3d`

Signature: `getTriangles3d(transform: Transform): number[]`

Parameters:
- `transform`: Transform (required)

Returns: number[]

Throws / errors:
None documented.



##### `getPoleOfAccessibility2d`

Signature: `getPoleOfAccessibility2d(): number[]`

Returns: number[]

Throws / errors:
None documented.



##### `getPoleOfAccessibility3d`

Signature: `getPoleOfAccessibility3d(transform: Transform): number[]`

Parameters:
- `transform`: Transform (required)

Returns: number[]

Throws / errors:
None documented.



Return type: `PolygonGeometry` (class instance)

Throws / errors:
None documented.

### `RectGeometry`
**Kind:** class

**Description:** Represents a rectangle geometry in the 2D basic image coordinate system.
**Constructor:** `constructor(rect: number[])`

Constructor parameters:
- `rect`: number[] (required) — An array representing the top-left and bottom-right corners of the rectangle in basic coordinates. Ordered according to [x0, y0, x1, y1].

Constructor return: `void`

Constructor throws / errors:
- GeometryTagError - Rectangle coordinates must be valid basic coordinates.

Example (auto-generated; replace placeholders):
```ts
const instance = new RectGeometry(/* args */ {} as any);
```

#### Instance methods and accessors

##### `anchorIndex`

**Description:** Get anchor index property.

Signature: `get anchorIndex(): number`

Returns: number (JSDoc: {number} Index representing the current anchor property if)

Throws / errors:
None documented.



##### `inverted`

**Description:** Get inverted property.

Signature: `get inverted(): boolean`

Returns: boolean (JSDoc: {boolean} Boolean determining whether the rect geometry is)

Throws / errors:
None documented.



##### `rect`

**Description:** Get rect property.

Signature: `get rect(): number[]`

Returns: number[] (JSDoc: {Array<number>} Array representing the top-left and bottom-right)

Throws / errors:
None documented.



##### `initializeAnchorIndexing`

**Description:** Initialize anchor indexing to enable setting opposite vertex.

Signature: `initializeAnchorIndexing(index?: number): void`

Parameters:
- `index`: number (optional)

Returns: void

Throws / errors:
- Error - If anchor indexing has already been initialized.
- Error - If index is not valid (0 to 3).



##### `terminateAnchorIndexing`

**Description:** Terminate anchor indexing to disable setting pposite vertex.

Signature: `terminateAnchorIndexing(): void`

Returns: void

Throws / errors:
None documented.



##### `setOppositeVertex2d`

**Description:** Setting the opposite vertex may change the anchor index.

Signature: `setOppositeVertex2d(opposite: number[], transform: Transform): void`

Parameters:
- `opposite`: number[] (required) — The new value of the vertex opposite to the anchor.
- `transform`: Transform (required) — The transform of the node related to the rectangle.

Returns: void

Throws / errors:
- Error - When anchor indexing has not been initialized.



##### `setVertex2d`

**Description:** The polygon is defined to have the first vertex at the

Signature: `setVertex2d(index: number, value: number[], transform: Transform): void`

Parameters:
- `index`: number (required) — The index of the vertex to be set.
- `value`: number[] (required) — The new value of the vertex.
- `transform`: Transform (required) — The transform of the node related to the rectangle.

Returns: void

Throws / errors:
None documented.



##### `setCentroid2d`

Signature: `setCentroid2d(value: number[], transform: Transform): void`

Parameters:
- `value`: number[] (required)
- `transform`: Transform (required)

Returns: void

Throws / errors:
None documented.



##### `getPoints3d`

**Description:** Get the 3D coordinates for the vertices of the rectangle with interpolated points along the lines.

Signature: `getPoints3d(transform: Transform): number[][]`

Parameters:
- `transform`: Transform (required) — The transform of the node related to the rectangle.

Returns: number[][] (JSDoc: {Array<Array<number>>} Polygon array of 3D world coordinates)

Throws / errors:
None documented.



##### `getVertex2d`

**Description:** The first vertex represents the bottom-left corner with the rest of

Signature: `getVertex2d(index: number): number[]`

Parameters:
- `index`: number (required) — Vertex index.

Returns: number[] (JSDoc: {Array<number>} Array representing the 2D basic coordinates of the vertex.)

Throws / errors:
None documented.



##### `getNonAdjustedVertex2d`

**Description:** The first vertex represents the bottom-left corner with the rest of

Signature: `getNonAdjustedVertex2d(index: number): number[]`

Parameters:
- `index`: number (required) — Vertex index.

Returns: number[] (JSDoc: {Array<number>} Array representing the 2D basic coordinates of the vertex.)

Throws / errors:
None documented.



##### `getVertex3d`

**Description:** The first vertex represents the bottom-left corner with the rest of

Signature: `getVertex3d(index: number, transform: Transform): number[]`

Parameters:
- `index`: number (required) — Vertex index.
- `transform`: Transform (required) — The transform of the node related to the geometry.

Returns: number[] (JSDoc: {Array<Array<number>>} Polygon array of 3D world coordinates representing)

Throws / errors:
None documented.



##### `getVertices2d`

**Description:** The first vertex represents the bottom-left corner with the rest of

Signature: `getVertices2d(): number[][]`

Returns: number[][] (JSDoc: {Array<Array<number>>} Polygon array of 2D basic coordinates representing)

Throws / errors:
None documented.



##### `getVertices3d`

**Description:** The first vertex represents the bottom-left corner with the rest of

Signature: `getVertices3d(transform: Transform): number[][]`

Parameters:
- `transform`: Transform (required) — The transform of the node related to the rectangle.

Returns: number[][] (JSDoc: {Array<Array<number>>} Polygon array of 3D world coordinates representing)

Throws / errors:
None documented.



##### `getCentroid2d`

Signature: `getCentroid2d(): number[]`

Returns: number[]

Throws / errors:
None documented.



##### `getCentroid3d`

Signature: `getCentroid3d(transform: Transform): number[]`

Parameters:
- `transform`: Transform (required)

Returns: number[]

Throws / errors:
None documented.



##### `getPoleOfAccessibility2d`

Signature: `getPoleOfAccessibility2d(): number[]`

Returns: number[]

Throws / errors:
None documented.



##### `getPoleOfAccessibility3d`

Signature: `getPoleOfAccessibility3d(transform: Transform): number[]`

Parameters:
- `transform`: Transform (required)

Returns: number[]

Throws / errors:
None documented.



##### `getTriangles3d`

Signature: `getTriangles3d(transform: Transform): number[]`

Parameters:
- `transform`: Transform (required)

Returns: number[]

Throws / errors:
None documented.



##### `validate`

**Description:** Check if a particular bottom-right value is valid according to the current rectangle coordinates.

Signature: `validate(bottomRight: number[]): boolean`

Parameters:
- `bottomRight`: number[] (required) — The bottom-right coordinates to validate

Returns: boolean (JSDoc: {boolean} Value indicating whether the provided bottom-right coordinates)

Throws / errors:
None documented.



Return type: `RectGeometry` (class instance)

Throws / errors:
None documented.

## Core Types & Configuration

Shared types and configuration interfaces used across map, space, and navigation flows.

### `CoverState`
**Kind:** enum
**Description:** none.

Enum: `CoverState`

Enum members:
- `Hidden` = 0
- `Loading` = 1
- `Visible` = 2

Return type: `CoverState`

Throws / errors:
None documented.

```ts
const value = CoverState.Hidden;
```

### `IAuth`
**Kind:** interface
**Description:** none.

Interface: `IAuth`

Fields:
- `passVerify`: boolean (required)
- `idToken`: string (required)
- `errorMessage`: string (required)

Return type: `IAuth`

Throws / errors:
None documented.

```ts
const obj: IAuth = {} as any;
```

### `ICacheDepth`
**Kind:** interface
**Description:** Interface for configuration of cache depth.

Interface: `ICacheDepth`

Fields:
- `sequence`: number (required)
- `pano`: number (required)
- `step`: number (required)
- `turn`: number (required)

Return type: `ICacheDepth`

Throws / errors:
None documented.

Example (from JSDoc):
```ts
var viewer = new Beeview.Viewer('<element-id>', '<client-id>', '<photo-key>',
    {
        component: {
            cache: {
                depth: {
                    pano: 2,
                    sequence: 3,
                }
            },
        },
    })
```

### `IComponentConfiguration`
**Kind:** interface
**Description:** none.

Interface: `IComponentConfiguration`

Fields:
None.

Return type: `IComponentConfiguration`

Throws / errors:
None documented.

```ts
const obj: IComponentConfiguration = {} as any;
```

### `IComponentOptions`
**Kind:** interface
**Description:** Interface for the component options that can be provided to the viewer.

Interface: `IComponentOptions`

Fields:
- `background`: boolean (optional)
- `bearing`: boolean (optional)
- `cache`: boolean | [ICacheConfiguration](types.md#icacheconfiguration) (optional)
- `cover`: boolean (optional)
- `debug`: boolean (optional)
- `direction`: boolean | [IDirectionConfiguration](types.md#idirectionconfiguration) (optional)
- `image`: boolean (optional)
- `imagePlane`: boolean (optional)
- `keyboard`: boolean | [IKeyboardConfiguration](types.md#ikeyboardconfiguration) (optional)
- `loading`: boolean (optional)
- `marker`: boolean | [IMarkerConfiguration](types.md#imarkerconfiguration) (optional)
- `mouse`: boolean | [IMouseConfiguration](types.md#imouseconfiguration) (optional)
- `navigation`: boolean | [INavigationConfiguration](types.md#inavigationconfiguration) (optional)
- `popup`: boolean (optional)
- `route`: boolean (optional)
- `sequence`: boolean | [ISequenceConfiguration](types.md#isequenceconfiguration) (optional)
- `slider`: boolean | [ISliderConfiguration](types.md#isliderconfiguration) (optional)
- `tag`: boolean | [ITagConfiguration](types.md#itagconfiguration) (optional)
- `path`: boolean (optional)

Return type: `IComponentOptions`

Throws / errors:
None documented.

```ts
const obj: IComponentOptions = {} as any;
```

### `IEdge`
**Kind:** interface
**Description:** Interface that describes the properties for an edge from a source node to a destination node.

Interface: `IEdge`

Fields:
- `from`: string (required)
- `to`: string (required)
- `data`: IEdgeData (required)

Return type: `IEdge`

Throws / errors:
None documented.

```ts
const obj: IEdge = {} as any;
```

### `IEdgeStatus`
**Kind:** interface
**Description:** Interface that indicates edge status.

Interface: `IEdgeStatus`

Fields:
- `cached`: boolean (required)
- `edges`: [IEdge](types.md#iedge)[] (required)

Return type: `IEdgeStatus`

Throws / errors:
None documented.

```ts
const obj: IEdgeStatus = {} as any;
```

### `IInteraction`
**Kind:** interface
**Description:** none.

Interface: `IInteraction`

Fields:
- `cursor`: [InteractionCursor](types.md#interactioncursor) (optional)
- `offsetX`: number (required)
- `offsetY`: number (required)
- `operation`: TagOperation (required)
- `tag`: Tag (required)
- `vertexIndex`: number (optional)

Return type: `IInteraction`

Throws / errors:
None documented.

```ts
const obj: IInteraction = {} as any;
```

### `IKey`
**Kind:** interface
**Description:** Interface that describes an object with a unique key.

Interface: `IKey`

Fields:
- `key`: string (required)

Return type: `IKey`

Throws / errors:
None documented.

```ts
const obj: IKey = {} as any;
```

### `ILatLon`
**Kind:** interface
**Description:** Interface that represents a latitude and longitude coordinate, measured in degrees. Coordinates are defined in the WGS84 datum.

Interface: `ILatLon`

Fields:
- `lat`: number (required)
- `lon`: number (required)

Return type: `ILatLon`

Throws / errors:
None documented.

```ts
const obj: ILatLon = {} as any;
```

### `ILoadStatus`
**Kind:** interface
**Description:** Interface that indicates load status.

Interface: `ILoadStatus`

Fields:
- `loaded`: number (required)
- `total`: number (required)

Return type: `ILoadStatus`

Throws / errors:
None documented.

```ts
const obj: ILoadStatus = {} as any;
```

### `IMesh`
**Kind:** interface
**Description:** Interface that describes SfM triangulated meshes.

Interface: `IMesh`

Fields:
- `faces`: number[] (required)
- `vertices`: number[] (required)

Return type: `IMesh`

Throws / errors:
None documented.

```ts
const obj: IMesh = {} as any;
```

### `IMouseClaim`
**Kind:** interface
**Description:** none.

Interface: `IMouseClaim`

Fields:
- `name`: string (required)
- `zindex`: number (required)

Return type: `IMouseClaim`

Throws / errors:
None documented.

```ts
const obj: IMouseClaim = {} as any;
```

### `IMouseDeferPixels`
**Kind:** interface
**Description:** none.

Interface: `IMouseDeferPixels`

Fields:
- `name`: string (required)
- `deferPixels`: number (required)

Return type: `IMouseDeferPixels`

Throws / errors:
None documented.

```ts
const obj: IMouseDeferPixels = {} as any;
```

### `IPinch`
**Kind:** interface
**Description:** none.

Interface: `IPinch`

Fields:
- `clientX`: number (required)
- `clientY`: number (required)
- `pageX`: number (required)
- `pageY`: number (required)
- `screenX`: number (required)
- `screenY`: number (required)
- `changeX`: number (required)
- `changeY`: number (required)
- `distance`: number (required)
- `distanceChange`: number (required)
- `distanceX`: number (required)
- `distanceY`: number (required)
- `originalEvent`: TouchEvent (required)
- `touch1`: Touch (required)
- `touch2`: Touch (required)

Return type: `IPinch`

Throws / errors:
None documented.

```ts
const obj: IPinch = {} as any;
```

### `IShader`
**Kind:** interface
**Description:** none.

Interface: `IShader`

Fields:
- `fragment`: string (required)
- `vertex`: string (required)

Return type: `IShader`

Throws / errors:
None documented.

```ts
const obj: IShader = {} as any;
```

### `ISize`
**Kind:** interface
**Description:** none.

Interface: `ISize`

Fields:
- `height`: number (required)
- `width`: number (required)

Return type: `ISize`

Throws / errors:
None documented.

```ts
const obj: ISize = {} as any;
```

### `ISliderKeys`
**Kind:** interface
**Description:** Interface for configuration of slider keys.

Interface: `ISliderKeys`

Fields:
- `background`: string (required)
- `foreground`: string (required)

Return type: `ISliderKeys`

Throws / errors:
None documented.

```ts
const obj: ISliderKeys = {} as any;
```

### `ISpriteAtlas`
**Kind:** interface
**Description:** none.

Interface: `ISpriteAtlas`

Fields:
- `loaded`: boolean (required)

Return type: `ISpriteAtlas`

Throws / errors:
None documented.

```ts
const obj: ISpriteAtlas = {} as any;
```

### `VisualSdkEndpoints`
**Kind:** interface
**Description:** Host and URLs resolved for the current environment (no auth).

Interface: `VisualSdkEndpoints`

Fields:
- `visualTilesHost`: string (required)
- `graphqlUrl`: string (required)

Return type: `VisualSdkEndpoints`

Throws / errors:
None documented.

```ts
const obj: VisualSdkEndpoints = {} as any;
```

### `getEndpointsForEnvironment`
**Kind:** function
**Description:** none.

Function signature: `getEndpointsForEnvironment(env: MapxusVisualEnvironment)`

Parameters:
- `env`: [MapxusVisualEnvironment](types.md#mapxusvisualenvironment) (required)

Return type: [VisualSdkEndpoints](types.md#visualsdkendpoints)

Throws / errors:
None documented.

```ts
const supported = getEndpointsForEnvironment();
```
