@mappedin/react-sdk 6.0.1-beta.19 → 6.0.1-beta.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/THIRD_PARTY_LICENSES.txt +1 -1
- package/lib/esm/{GLTFExporter-ID2VFRVN.js → GLTFExporter-OP7QNWR4.js} +1 -1
- package/lib/esm/{GLTFLoader-X3ED3JHI.js → GLTFLoader-5UP7LZ6D.js} +1 -1
- package/lib/esm/{browser-JYF5VUBP.js → browser-IFLJFFPT.js} +1 -1
- package/lib/esm/chunk-FS6E57SA.js +1 -0
- package/lib/esm/{chunk-OQLRRFPP.js → chunk-GINMUPKT.js} +1 -1
- package/lib/esm/{chunk-VT2X5G75.js → chunk-I47KQY2H.js} +1 -1
- package/lib/esm/{chunk-Z7MNFX3S.js → chunk-IJRPQY3O.js} +1 -1
- package/lib/esm/{chunk-QQ53JNBN.js → chunk-YMYGJ25S.js} +1 -1
- package/lib/esm/index.d.ts +603 -97
- package/lib/esm/index.js +1 -1
- package/lib/esm/{inspector-KYCO6RVW.js → inspector-B2X7Q3OK.js} +1 -1
- package/lib/esm/{internal-QJ6OBFUT.js → internal-BJIRBWBL.js} +1 -1
- package/lib/esm/{outdoor-context-v4-AVQNHL77.js → outdoor-context-v4-BTXQTDLC.js} +1 -1
- package/package.json +2 -2
- package/lib/esm/chunk-NPRXXUN6.js +0 -1
package/lib/esm/index.d.ts
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
// ../react/@mappedin/mappedin-js
|
|
11
11
|
// ../react/@packages/internal/common
|
|
12
12
|
// ../react/@mappedin/core-sdk
|
|
13
|
+
// ../react/@packages/internal/outdoor-context-v4
|
|
13
14
|
// ../react/@packages/internal/geojson-navigator
|
|
14
15
|
// ../react/@mappedin/mvf/dist/locale
|
|
15
16
|
// ../react/three
|
|
@@ -18,7 +19,6 @@
|
|
|
18
19
|
// ../react/@tweenjs/tween.js
|
|
19
20
|
// ../react/@turf/turf
|
|
20
21
|
// ../react/@packages/internal/quad-tree
|
|
21
|
-
// ../react/@packages/internal/outdoor-context-v4
|
|
22
22
|
// ../react/minisearch
|
|
23
23
|
// ../react/three/addons/loaders/GLTFLoader.js
|
|
24
24
|
// ../react/@mapbox/point-geometry
|
|
@@ -65,6 +65,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src' {
|
|
|
65
65
|
import type { InsetPadding, InsetPaddingOption, Shading, PaintStyle, LineStyle, WatermarkOptions } from '@mappedin/react-sdk/geojson/src';
|
|
66
66
|
import { enableTestMode } from '@mappedin/react-sdk/geojson/src';
|
|
67
67
|
export type { PubSub } from '@packages/internal/common/pubsub';
|
|
68
|
+
import type { TMappedinMapLibreOverlayEvents } from '@mappedin/react-sdk/mappedin-js/src/maplibre-overlay';
|
|
68
69
|
import { MappedinMapLibreOverlay } from '@mappedin/react-sdk/mappedin-js/src/maplibre-overlay';
|
|
69
70
|
import type { LanguagePackHydrationItem } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
70
71
|
import { type Environment } from '@packages/internal/mvf-utils/mvf-utils';
|
|
@@ -376,14 +377,20 @@ declare module '@mappedin/react-sdk/mappedin-js/src' {
|
|
|
376
377
|
*/
|
|
377
378
|
export const getMapDataEnterprise: (userOptions: TGetMapDataOptions) => Promise<MapData>;
|
|
378
379
|
/**
|
|
379
|
-
*
|
|
380
|
+
* Mappedin JS makes use of MapLibre to render the outdoor portion of the map. Mappedin JS exposes this layer through {@link MapView.OutoorMap} and can be used to add additional layers as described in the [Outdoor Map Guide](https://developer.mappedin.com/web-sdk/outdoor-map).
|
|
381
|
+
*
|
|
382
|
+
* It is also possible to utilize the opposite architecture, by adding a MapView to a MapLibre Map.
|
|
383
|
+
* This is accomplished by using {@link MappedinMapLibreOverlay} class. It allows a developer to easily add a Mappedin indoor map to an existing MapLibre based app.
|
|
384
|
+
*
|
|
385
|
+
* Refer to the [Mappedin MapLibre Overlay](https://developer.mappedin.com/web-sdk/mappedin-maplibre-overlay) for more information and interactive examples.
|
|
386
|
+
|
|
380
387
|
* @experimental
|
|
381
388
|
*/
|
|
382
389
|
export const createMapLibreOverlay: (mapData: MapData, showMapOptions?: TShow3DMapOptions) => MappedinMapLibreOverlay;
|
|
383
390
|
export const show3dMapGeojson: (el: HTMLElement, mapData: MapData, options?: TShow3DMapOptions) => Promise<MapView>;
|
|
384
391
|
export const show3dMap: (el: HTMLElement, mapData: MapData, options?: TShow3DMapOptions) => Promise<MapView>;
|
|
385
392
|
export { parseMVF, unzipMVF, enableTestMode };
|
|
386
|
-
export type { MapView, MapData, MappedinMapLibreOverlay, TBlueDotEvents, TBlueDotAction, TBlueDotState, GeolocationPositionExtended, TStackedMapsEvents, TExpandOptions, TStackedMapsState, TFollowMode, TFollowCameraOptions, TEvents, TEventPayload, TFloorChangeReason, TClickPayload, THoverPayload, TShow3DMapOptions, TGetMapDataOptions, TGetMapDataWithAccessTokenOptions, TGetMapDataWithCredentialsOptions, TGetMapDataSharedOptions, TAmbientOcclusionOptions, TAntialiasingOptions, TMVF, PaintStyle, LineStyle, Shading, TMVFStyleCollection, TMVFStyle, TMVFLineStringStyle, TMVFPolygonStyle, TMVFPointStyle, Environment, InsetPadding, InsetPaddingOption, OperationHours, SiblingGroup, LocationState, };
|
|
393
|
+
export type { MapView, MapData, MappedinMapLibreOverlay, TMappedinMapLibreOverlayEvents, TBlueDotEvents, TBlueDotAction, TBlueDotState, GeolocationPositionExtended, TStackedMapsEvents, TExpandOptions, TStackedMapsState, TFollowMode, TFollowCameraOptions, TEvents, TEventPayload, TFloorChangeReason, TClickPayload, THoverPayload, TShow3DMapOptions, TGetMapDataOptions, TGetMapDataWithAccessTokenOptions, TGetMapDataWithCredentialsOptions, TGetMapDataSharedOptions, TAmbientOcclusionOptions, TAntialiasingOptions, TMVF, PaintStyle, LineStyle, Shading, TMVFStyleCollection, TMVFStyle, TMVFLineStringStyle, TMVFPolygonStyle, TMVFPointStyle, Environment, InsetPadding, InsetPaddingOption, OperationHours, SiblingGroup, LocationState, };
|
|
387
394
|
export type * from 'geojson';
|
|
388
395
|
export type { TUpdateState, TUpdateStates, TLabelState, TGeometryState, TModelState, TShapeState, TDoorsState, TImageState, TWallsState, TCameraAnimationOptions, TAnimationOptions, TFocusOnOptions, TEasingFunction, TCameraTarget, TNavigationTarget, TDirectionZone, TCameraFocusOnTarget, TFocusable, TAddMarkerOptions, TAddPathOptions, TLabelAppearance, TAddLabelOptions, TAddModelOptions, TAddModel, TAddImageOptions, TGetDirectionsOptions, TCollisionRankingTier, TMarkerAnchor, TDirectionInstruction, TDirectionInstructionAction, TGetState, TMarkerState, TBlueDotOptions, TBlueDotPositionUpdate, } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
389
396
|
export { WALLS, DOORS } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
@@ -1118,7 +1125,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects' {
|
|
|
1118
1125
|
import Image from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/image';
|
|
1119
1126
|
import FloorStack from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/floor-stack';
|
|
1120
1127
|
import type { MapDataRecords } from '@mappedin/react-sdk/mappedin-js/src/utils/data-creation';
|
|
1121
|
-
import type { AnnotationCollection, ParsedMVF, Connection as MVFConnection, EntranceCollection, NodeCollection, ObstructionCollection, SpaceCollection, FloorProperties as MVFFloor, EnterpriseLocation as MVFEnterpriseLocation, EnterpriseCategory as MVFEnterpriseCategory, Language } from '@mappedin/mvf';
|
|
1128
|
+
import type { AnnotationCollection, ParsedMVF, Connection as MVFConnection, EntranceCollection, NodeCollection, ObstructionCollection, SpaceCollection, FloorProperties as MVFFloor, FloorStack as MVFFloorStack, EnterpriseLocation as MVFEnterpriseLocation, EnterpriseCategory as MVFEnterpriseCategory, Language } from '@mappedin/mvf';
|
|
1122
1129
|
import { AnalyticsInternal } from '@mappedin/react-sdk/mappedin-js/src/analytics';
|
|
1123
1130
|
import EnterpriseLocation from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/location';
|
|
1124
1131
|
import EnterpriseCategory from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/category';
|
|
@@ -1270,6 +1277,8 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects' {
|
|
|
1270
1277
|
get nodes(): Node[];
|
|
1271
1278
|
get locations(): EnterpriseLocation[];
|
|
1272
1279
|
get categories(): EnterpriseCategory[];
|
|
1280
|
+
get mvfFloors(): MVFFloor[];
|
|
1281
|
+
get mvfFloorStacks(): MVFFloorStack[];
|
|
1273
1282
|
/**
|
|
1274
1283
|
* Retrieves an object by its type and ID.
|
|
1275
1284
|
*
|
|
@@ -1299,12 +1308,18 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects' {
|
|
|
1299
1308
|
getMVFFeatureById(type: 'space', id: string): SpaceCollection['features'][number] | undefined;
|
|
1300
1309
|
getMVFFeatureById(type: 'node', id: string): NodeCollection['features'][number] | undefined;
|
|
1301
1310
|
getMVFFeatureById(type: 'obstruction', id: string): ObstructionCollection['features'][number] | undefined;
|
|
1302
|
-
getMVFFeatureById(type: '
|
|
1311
|
+
getMVFFeatureById(type: 'floor', id: string): MVFFloor | undefined;
|
|
1312
|
+
getMVFFeatureById(type: 'floor-stack', id: string): MVFFloorStack | undefined;
|
|
1303
1313
|
getMVFFeatureById(type: 'connection', id: string): MVFConnection | undefined;
|
|
1304
1314
|
getMVFFeatureById(type: 'entrance', id: string): EntranceCollection['features'][number] | undefined;
|
|
1305
1315
|
getMVFFeatureById(type: 'annotation', id: string): AnnotationCollection['features'][number] | undefined;
|
|
1306
1316
|
getMVFFeatureById(type: string, id: string): object | undefined;
|
|
1307
1317
|
getMVFFeatureByNodeId(type: 'connection', id: string): MVFConnection | undefined;
|
|
1318
|
+
/**
|
|
1319
|
+
* Retrieves all MVF features of a given type. Safer than referencing the mvf's deprecated collections directly.
|
|
1320
|
+
*/
|
|
1321
|
+
getMVFFeatureByType(type: 'floor-stack'): MVFFloorStack[];
|
|
1322
|
+
getMVFFeatureByType(type: 'floor'): MVFFloor[];
|
|
1308
1323
|
getPropTranslation(type: 'enterprise-location' | 'enterprise-category', prop: string, id: string, fallback: MVFEnterpriseLocation[keyof MVFEnterpriseLocation] | MVFEnterpriseCategory[keyof MVFEnterpriseCategory]): unknown;
|
|
1309
1324
|
/**
|
|
1310
1325
|
* change the langauge of the data objects in mapdata
|
|
@@ -1341,13 +1356,20 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view' {
|
|
|
1341
1356
|
import type { Camera, Labels, Markers, Models, Paths, Exporter, Directions, Style, Outdoor, Images } from '@mappedin/react-sdk/mappedin-js/src/api-geojson';
|
|
1342
1357
|
import type { BlueDot } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/blue-dot/blue-dot';
|
|
1343
1358
|
import type MapData from '@mappedin/react-sdk/mappedin-js/src/map-data';
|
|
1344
|
-
import type { Annotation, Coordinate, Door, Floor, MapObject, PointOfInterest, Space, Node, EnterpriseLocation } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
1359
|
+
import type { Annotation, Coordinate, Door, Floor, MapObject, PointOfInterest, Space, Node, EnterpriseLocation, FloorStack } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
1345
1360
|
import type { DOORS, WALLS, TGetDirectionsOptions, TGetState, TNavigationTarget, TUpdateState, TUpdateStates } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
1346
1361
|
import type { Label, Marker, Image, Shape } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
|
|
1347
1362
|
import type { TEventPayload } from '@mappedin/react-sdk/mappedin-js/src/events';
|
|
1348
1363
|
import type { Shapes } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/shapes';
|
|
1349
1364
|
import type { StackedMaps, TCollapseOptions, TExpandOptions } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/stacked-maps/stacked-maps';
|
|
1350
1365
|
import type { InspectorOption } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/inspector/inspector';
|
|
1366
|
+
/**
|
|
1367
|
+
* The MapView class is the main class for rendering and interacting with the map.
|
|
1368
|
+
*
|
|
1369
|
+
* It provides a set of controls for manipulating the map's elements and state.
|
|
1370
|
+
*
|
|
1371
|
+
* For help getting started, refer to the [Getting Started Guide](https://developer.mappedin.com/web-sdk/getting-started).
|
|
1372
|
+
*/
|
|
1351
1373
|
export class MapView extends PubSub<TEvents> {
|
|
1352
1374
|
#private;
|
|
1353
1375
|
/**
|
|
@@ -1415,9 +1437,14 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view' {
|
|
|
1415
1437
|
*
|
|
1416
1438
|
* | target | state |
|
|
1417
1439
|
* |-----------|----------------|
|
|
1440
|
+
* | {@link Door} | {@link TDoorsState} |
|
|
1418
1441
|
* | {@link Label} | {@link TLabelState} |
|
|
1419
1442
|
* | {@link MapObject} | {@link TGeometryState} |
|
|
1443
|
+
* | {@link Marker} | {@link TMarkerState} |
|
|
1420
1444
|
* | {@link Space} | {@link TGeometryState} |
|
|
1445
|
+
* | {@link Shape} | {@link TShapeState} |
|
|
1446
|
+
* | {@link DOORS} | {@link TDoorsState} |
|
|
1447
|
+
* | {@link WALLS} | {@link TWallsState} |
|
|
1421
1448
|
*
|
|
1422
1449
|
* @param target The target to update.
|
|
1423
1450
|
* @param state The new state to apply to the target.
|
|
@@ -1428,6 +1455,10 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view' {
|
|
|
1428
1455
|
updateState<T extends Space | MapObject | Label | Marker | Shape | Door | WALLS | DOORS>(target: T, state: TUpdateState<T>): any;
|
|
1429
1456
|
updateState<T extends string & NonNullable<unknown>>(target: T, state: TUpdateStates): any;
|
|
1430
1457
|
update: () => void;
|
|
1458
|
+
/**
|
|
1459
|
+
* Retrieves the map data for the current map.
|
|
1460
|
+
* @returns The {@link MapData} for the current map.
|
|
1461
|
+
*/
|
|
1431
1462
|
getMapData(): {
|
|
1432
1463
|
[x: string]: MapData;
|
|
1433
1464
|
};
|
|
@@ -1443,12 +1474,12 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view' {
|
|
|
1443
1474
|
/**
|
|
1444
1475
|
* @experimental
|
|
1445
1476
|
*/
|
|
1446
|
-
expand(opts?: TExpandOptions): Promise<void
|
|
1477
|
+
expand(opts?: TExpandOptions): Promise<void>;
|
|
1447
1478
|
/**
|
|
1448
1479
|
* @experimental
|
|
1449
1480
|
* @hidden
|
|
1450
1481
|
*/
|
|
1451
|
-
collapse(opts?: TCollapseOptions): Promise<void
|
|
1482
|
+
collapse(opts?: TCollapseOptions): Promise<void>;
|
|
1452
1483
|
/**
|
|
1453
1484
|
* Adds a map to the MapView.
|
|
1454
1485
|
* @param mapData The map data to add.
|
|
@@ -1461,6 +1492,15 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view' {
|
|
|
1461
1492
|
* @param floor The floor or floor ID to set.
|
|
1462
1493
|
*/
|
|
1463
1494
|
setFloor(floor: Floor | string): void;
|
|
1495
|
+
/**
|
|
1496
|
+
* Sets the current floor stack ({@link FloorStack}) of the map. The default floor of the stack will be set as the current floor.
|
|
1497
|
+
* @param floorStack The floor stack or floor stack ID to set.
|
|
1498
|
+
*/
|
|
1499
|
+
setFloorStack(floorStack: FloorStack | string): void;
|
|
1500
|
+
/**
|
|
1501
|
+
* The current floor stack ({@link FloorStack}) of the map.
|
|
1502
|
+
*/
|
|
1503
|
+
get currentFloorStack(): FloorStack;
|
|
1464
1504
|
/**
|
|
1465
1505
|
* The current floor ({@link Floor}) of the map.
|
|
1466
1506
|
*/
|
|
@@ -1588,7 +1628,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view' {
|
|
|
1588
1628
|
destroy(): void;
|
|
1589
1629
|
/**
|
|
1590
1630
|
* @experimental
|
|
1591
|
-
* Enable debug interface
|
|
1631
|
+
* Enable debug interface. Learn more about the debug interface in the [Debug Mode Guide](https://developer.mappedin.com/web-sdk/getting-started#debug-mode).
|
|
1592
1632
|
*/
|
|
1593
1633
|
enableDebug(opitons?: InspectorOption): Promise<void>;
|
|
1594
1634
|
}
|
|
@@ -1635,10 +1675,11 @@ declare module '@mappedin/react-sdk/geojson/src' {
|
|
|
1635
1675
|
declare module '@mappedin/react-sdk/mappedin-js/src/maplibre-overlay' {
|
|
1636
1676
|
import { MapView } from '@mappedin/react-sdk/mappedin-js/src/map-view';
|
|
1637
1677
|
import type MapData from '@mappedin/react-sdk/mappedin-js/src/map-data';
|
|
1638
|
-
import type
|
|
1639
|
-
import { MapLibreOverlay } from '@mappedin/react-sdk/geojson/src/maplibre-overlay';
|
|
1678
|
+
import { type TShow3DMapOptions } from '@mappedin/react-sdk/mappedin-js/src';
|
|
1640
1679
|
import type { Position } from '@mappedin/core-sdk';
|
|
1641
|
-
|
|
1680
|
+
import type { IControl } from '@packages/internal/outdoor-context-v4';
|
|
1681
|
+
import { PubSub } from '@packages/internal/common';
|
|
1682
|
+
export type TMappedinMapLibreOverlayEvents = {
|
|
1642
1683
|
/**
|
|
1643
1684
|
* Event emitted when the MappedinMap is loaded
|
|
1644
1685
|
*/
|
|
@@ -1652,12 +1693,52 @@ declare module '@mappedin/react-sdk/mappedin-js/src/maplibre-overlay' {
|
|
|
1652
1693
|
*/
|
|
1653
1694
|
mapData: MapData;
|
|
1654
1695
|
};
|
|
1655
|
-
}
|
|
1696
|
+
};
|
|
1697
|
+
/**
|
|
1698
|
+
* Mappedin JS makes use of MapLibre to render the outdoor portion of the map. Mappedin JSexposes this layer through {@link MapView.OutoorMap} and can be used to add additional layers as described in the [Outdoor Map Guide](https://developer.mappedin.com/web-sdk/outdoor-map).
|
|
1699
|
+
*
|
|
1700
|
+
* It is also possible to utilize the opposite architecture, by adding a MapView to a MapLibre Map.
|
|
1701
|
+
* This is accomplished by using this MappedinMapLibreOverlay class. It allows a developer to easily add a Mappedin indoor map to an existing MapLibre based app.
|
|
1702
|
+
*
|
|
1703
|
+
* Use {@link createMapLibreOverlay} to instantiate this class.
|
|
1704
|
+
*
|
|
1705
|
+
* Refer to the [Mappedin MapLibre Overlay](https://developer.mappedin.com/web-sdk/mappedin-maplibre-overlay) for more information and interactive examples.
|
|
1706
|
+
*/
|
|
1707
|
+
export class MappedinMapLibreOverlay extends PubSub<TMappedinMapLibreOverlayEvents> implements IControl {
|
|
1656
1708
|
#private;
|
|
1657
1709
|
static instance: MappedinMapLibreOverlay;
|
|
1710
|
+
/** @internal */
|
|
1658
1711
|
constructor(origin: Position | undefined, mapData: MapData, options?: TShow3DMapOptions);
|
|
1712
|
+
/** @internal */
|
|
1659
1713
|
onAdd(map: any): HTMLDivElement;
|
|
1714
|
+
/** @internal */
|
|
1660
1715
|
onRemove(): void;
|
|
1716
|
+
/**
|
|
1717
|
+
* Subscribe to an event.
|
|
1718
|
+
* @example
|
|
1719
|
+
* ```ts
|
|
1720
|
+
* const handler = ({ mapView, mapData }) => {
|
|
1721
|
+
* console.log('MapView loaded');
|
|
1722
|
+
* };
|
|
1723
|
+
* overlay.on('loaded', handler);
|
|
1724
|
+
* ```
|
|
1725
|
+
*/
|
|
1726
|
+
on: <EventName extends keyof TMappedinMapLibreOverlayEvents>(eventName: EventName, fn: (payload: TMappedinMapLibreOverlayEvents[EventName] extends {
|
|
1727
|
+
data: null;
|
|
1728
|
+
} ? TMappedinMapLibreOverlayEvents[EventName]["data"] : TMappedinMapLibreOverlayEvents[EventName]) => void) => void;
|
|
1729
|
+
/**
|
|
1730
|
+
* Unsubscribe from an event.
|
|
1731
|
+
* @example
|
|
1732
|
+
* ```ts
|
|
1733
|
+
* const handler = ({ mapView, mapData }) => {
|
|
1734
|
+
* console.log('MapView loaded');
|
|
1735
|
+
* };
|
|
1736
|
+
* overlay.off('loaded', handler);
|
|
1737
|
+
* ```
|
|
1738
|
+
*/
|
|
1739
|
+
off: <EventName extends keyof TMappedinMapLibreOverlayEvents>(eventName: EventName, fn: (payload: TMappedinMapLibreOverlayEvents[EventName] extends {
|
|
1740
|
+
data: null;
|
|
1741
|
+
} ? TMappedinMapLibreOverlayEvents[EventName]["data"] : TMappedinMapLibreOverlayEvents[EventName]) => void) => void;
|
|
1661
1742
|
}
|
|
1662
1743
|
}
|
|
1663
1744
|
|
|
@@ -1666,7 +1747,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
|
|
|
1666
1747
|
import type { Coordinate, Floor, Door, Space, MapObject, PointOfInterest, Connection, Annotation, EnterpriseLocation, Node } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
1667
1748
|
import type { Label, Marker, Model, Image, Shape } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
|
|
1668
1749
|
import type { Language, ParsedMVFLocalePack } from '@mappedin/mvf';
|
|
1669
|
-
import {
|
|
1750
|
+
import type { InsetPaddingOption, Position } from '@mappedin/core-sdk';
|
|
1670
1751
|
export type DeepRequired<T> = Required<{
|
|
1671
1752
|
[K in keyof T]: T[K] extends Required<T[K]> ? T[K] : DeepRequired<T[K]>;
|
|
1672
1753
|
}>;
|
|
@@ -1808,11 +1889,11 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
|
|
|
1808
1889
|
export type TDoorsState = {
|
|
1809
1890
|
type: 'doors';
|
|
1810
1891
|
/**
|
|
1811
|
-
* Color of the
|
|
1892
|
+
* Color of the doors.
|
|
1812
1893
|
*/
|
|
1813
1894
|
color: string | 'initial';
|
|
1814
1895
|
/**
|
|
1815
|
-
* Color of the top of
|
|
1896
|
+
* Color of the top of doors, if not set, defaults to the color.
|
|
1816
1897
|
*/
|
|
1817
1898
|
topColor?: string | 'initial';
|
|
1818
1899
|
/**
|
|
@@ -1828,7 +1909,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
|
|
|
1828
1909
|
url?: string;
|
|
1829
1910
|
};
|
|
1830
1911
|
/**
|
|
1831
|
-
* Visibility of the
|
|
1912
|
+
* Visibility of the doors.
|
|
1832
1913
|
*/
|
|
1833
1914
|
visible: boolean;
|
|
1834
1915
|
/**
|
|
@@ -1948,7 +2029,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
|
|
|
1948
2029
|
/**
|
|
1949
2030
|
* The type for updating the state of map elements (colors, texts, etc.).
|
|
1950
2031
|
*/
|
|
1951
|
-
export type TUpdateState<T> = T extends WALLS ? Partial<TWallsState> : T extends DOORS ? Partial<TDoorsState> : T extends Marker ? Partial<TMarkerState> : T extends Label ? Partial<TLabelState> : T extends Space | MapObject ? Partial<TGeometryState> : T extends Shape ? Partial<Omit<TShapeState, 'height' | 'type'>> : T extends Door ? Partial<TGeometryState> : T extends string ? Record<string, any> : never;
|
|
2032
|
+
export type TUpdateState<T> = T extends WALLS ? Partial<TWallsState> : T extends DOORS ? Partial<TDoorsState> : T extends Door ? Partial<TDoorsState> : T extends Marker ? Partial<TMarkerState> : T extends Label ? Partial<TLabelState> : T extends Space | MapObject ? Partial<TGeometryState> : T extends Shape ? Partial<Omit<TShapeState, 'height' | 'type'>> : T extends Door ? Partial<TGeometryState> : T extends string ? Record<string, any> : never;
|
|
1952
2033
|
export type TUpdateStates = Partial<Omit<TGeometryState, 'interactive' | 'hoverColor' | 'type'>> | Partial<TMarkerState> | Partial<TLabelState> | Partial<TGeometryState>;
|
|
1953
2034
|
export type TGetState<T> = T extends WALLS ? TWallsState | undefined : T extends DOORS ? TDoorsState | undefined : T extends Marker ? TMarkerState | undefined : T extends Shape ? TShapeState | undefined : T extends Model ? TModelState | undefined : T extends Label ? TLabelState | undefined : T extends Image ? TImageState | undefined : T extends Space | MapObject ? TGeometryState | undefined : T extends string ? TLabelState | TGeometryState | TMarkerState | TModelState | undefined : never;
|
|
1954
2035
|
/**
|
|
@@ -2031,7 +2112,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
|
|
|
2031
2112
|
/**
|
|
2032
2113
|
* A map element that can be focused on by the camera.
|
|
2033
2114
|
*/
|
|
2034
|
-
export type TFocusable = Floor | Space | Coordinate | MapObject | Connection | PointOfInterest | Door | Annotation | Node
|
|
2115
|
+
export type TFocusable = Floor | Space | Coordinate | MapObject | Connection | PointOfInterest | Door | Annotation | Node | EnterpriseLocation
|
|
2035
2116
|
/**
|
|
2036
2117
|
* @experimental
|
|
2037
2118
|
*/
|
|
@@ -2588,10 +2669,10 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
|
|
|
2588
2669
|
*/
|
|
2589
2670
|
timeout?: number;
|
|
2590
2671
|
/**
|
|
2591
|
-
* Whether to watch the
|
|
2672
|
+
* Whether to watch the device's position.
|
|
2592
2673
|
* @default true
|
|
2593
2674
|
*/
|
|
2594
|
-
|
|
2675
|
+
watchDevicePosition?: boolean;
|
|
2595
2676
|
/**
|
|
2596
2677
|
* Whether to log debug messages.
|
|
2597
2678
|
* @default false
|
|
@@ -2691,6 +2772,12 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/blue-dot/blue-do
|
|
|
2691
2772
|
};
|
|
2692
2773
|
/**
|
|
2693
2774
|
* @experimental
|
|
2775
|
+
*
|
|
2776
|
+
* Mappedin JS can use the location provided from an indoor positioning system to display a BlueDot on the map, indicating the user's position.
|
|
2777
|
+
*
|
|
2778
|
+
* This class is accessed using {@link MapView.BlueDot}.
|
|
2779
|
+
*
|
|
2780
|
+
* Further details and interactive examples can be found in the [BlueDot Guide](https://developer.mappedin.com/web-sdk/blue-dot).
|
|
2694
2781
|
*/
|
|
2695
2782
|
export class BlueDot extends PubSub<TBlueDotEvents> {
|
|
2696
2783
|
#private;
|
|
@@ -2751,11 +2838,11 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/blue-dot/blue-do
|
|
|
2751
2838
|
follow: (mode: TFollowMode, cameraOptions?: TFollowCameraOptions) => void;
|
|
2752
2839
|
}
|
|
2753
2840
|
export type TFollowMode =
|
|
2754
|
-
/** Camera
|
|
2841
|
+
/** Camera position follows the Blue Dot's position. */
|
|
2755
2842
|
'position-only'
|
|
2756
|
-
/** Camera follows
|
|
2843
|
+
/** Camera position follows the Blue Dot's position. Camera bearing matches the Blue Dot's heading. */
|
|
2757
2844
|
| 'position-and-heading'
|
|
2758
|
-
/** Camera follows
|
|
2845
|
+
/** Camera position follows the Blue Dot's position. Camera bearing is calculated based on the Navigation path. */
|
|
2759
2846
|
| 'position-and-path-direction'
|
|
2760
2847
|
/** Disables follow mode */
|
|
2761
2848
|
| false;
|
|
@@ -2848,6 +2935,12 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/stacked-maps/sta
|
|
|
2848
2935
|
export type TCollapseOptions = TCameraAnimationOptions;
|
|
2849
2936
|
type CurrentMapGetter = () => GeojsonApiMapObject | undefined;
|
|
2850
2937
|
/**
|
|
2938
|
+
* Stacked Maps enables multi floor visualization. It allows for multiple floors of a building to be shown together as a stack of floors in an accordion style view.
|
|
2939
|
+
*
|
|
2940
|
+
* This class is accessed using {@link MapView.StackedMaps}.
|
|
2941
|
+
*
|
|
2942
|
+
* Refer to the [Stacked Maps Guide](https://developer.mappedin.com/web-sdk/stacked-maps) for more information and interactive examples.
|
|
2943
|
+
*
|
|
2851
2944
|
* @experimental
|
|
2852
2945
|
*/
|
|
2853
2946
|
export class StackedMaps extends PubSub<TStackedMapsEvents> {
|
|
@@ -2886,7 +2979,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/stacked-maps/sta
|
|
|
2886
2979
|
*/
|
|
2887
2980
|
setFloorVisiblityMode(mode: 'all-floors' | 'only-current-floor'): void;
|
|
2888
2981
|
/**
|
|
2889
|
-
* Set whether to listen to camera elevation changes to automatically change the floor.
|
|
2982
|
+
* Set whether to listen to camera elevation changes to automatically change the floor. When enabled, the `mapView.on('floor-change')` event is fired
|
|
2890
2983
|
*/
|
|
2891
2984
|
changeFloorOnElevationChanges(value: boolean): void;
|
|
2892
2985
|
/**
|
|
@@ -3058,6 +3151,17 @@ declare module '@mappedin/react-sdk/mappedin-js/src/navigation' {
|
|
|
3058
3151
|
destinationColor?: string;
|
|
3059
3152
|
};
|
|
3060
3153
|
};
|
|
3154
|
+
/**
|
|
3155
|
+
* When a user needs to get from point A to point B, drawing a path on the map helps them to navigate to their destination. It can help them to visualize the route they'll need to take, like a good treasure map.
|
|
3156
|
+
|
|
3157
|
+
* Navigation is a helper class to display wayfinding easily on the map. Functionality of Navigation could be replicated by drawing the paths using {@link Paths} and adding well designed tooltips at connection points.
|
|
3158
|
+
*
|
|
3159
|
+
* This class is accessed using {@link MapView.Navigation}.
|
|
3160
|
+
*
|
|
3161
|
+
* {@link Navigation.draw} allows for easily drawing multiple components that make up a wayfinding illustration. It shows a human figure to mark the start point, a path with animated directional arrows, pulses in the direction of travel and a pin to mark the destination. Each of these components can be customized to match an app's style.
|
|
3162
|
+
*
|
|
3163
|
+
* Refer to the [Drawing Navigation](https://developer.mappedin.com/web-sdk/wayfinding#drawing-navigation) in the Wayfinding Guide for more information and interactive examples.
|
|
3164
|
+
*/
|
|
3061
3165
|
export class Navigation {
|
|
3062
3166
|
#private;
|
|
3063
3167
|
/**
|
|
@@ -3195,8 +3299,14 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/category' {
|
|
|
3195
3299
|
import type { MapDataInternal, EnterpriseLocation } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
3196
3300
|
import BaseMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object';
|
|
3197
3301
|
/**
|
|
3198
|
-
* An EnterpriseCategory
|
|
3302
|
+
* An EnterpriseCategory groups one or more EnterpriseLocation. These allow similar locations to be sorted in a logical fashion.
|
|
3303
|
+
* For example a mall may group locations into Food Court, Footwear and Women's Fashion. They can be accessed using the {@link MapData.getByType()} method as shown below.
|
|
3304
|
+
*
|
|
3305
|
+
* ```typescript
|
|
3306
|
+
* const categories = mapData.getByType('enterprise-category');
|
|
3307
|
+
* ```
|
|
3199
3308
|
*
|
|
3309
|
+
* Refer to the [EnterpriseCategory Guide](https://developer.mappedin.com/web-sdk/enterprise-data#enterprise-categories) for more information and interactive examples.
|
|
3200
3310
|
*/
|
|
3201
3311
|
class EnterpriseCategory extends BaseMapData implements Omit<MVFEnterpriseCategory, 'children' | 'locations'> {
|
|
3202
3312
|
#private;
|
|
@@ -3208,12 +3318,33 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/category' {
|
|
|
3208
3318
|
* @internal
|
|
3209
3319
|
*/
|
|
3210
3320
|
readonly __type = "enterprise-category";
|
|
3321
|
+
/**
|
|
3322
|
+
* The name of the category.
|
|
3323
|
+
*/
|
|
3211
3324
|
name: string;
|
|
3325
|
+
/**
|
|
3326
|
+
* The color of the category.
|
|
3327
|
+
*/
|
|
3212
3328
|
color?: string | undefined;
|
|
3329
|
+
/**
|
|
3330
|
+
* The external ID of the category.
|
|
3331
|
+
*/
|
|
3213
3332
|
externalId: string;
|
|
3333
|
+
/**
|
|
3334
|
+
* Extra properties of the category.
|
|
3335
|
+
*/
|
|
3214
3336
|
extra?: Record<string, unknown> | undefined;
|
|
3337
|
+
/**
|
|
3338
|
+
* A URL to the icon of the category.
|
|
3339
|
+
*/
|
|
3215
3340
|
icon?: string | undefined;
|
|
3341
|
+
/**
|
|
3342
|
+
* The icon from the default list of icons.
|
|
3343
|
+
*/
|
|
3216
3344
|
iconFromDefaultList?: string | null | undefined;
|
|
3345
|
+
/**
|
|
3346
|
+
* The sort order of the category.
|
|
3347
|
+
*/
|
|
3217
3348
|
sortOrder: number;
|
|
3218
3349
|
/**
|
|
3219
3350
|
* Checks if the provided instance is of type EnterpriseCategory.
|
|
@@ -3228,7 +3359,13 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/category' {
|
|
|
3228
3359
|
constructor(data: MapDataInternal, options: {
|
|
3229
3360
|
mvfData: MVFEnterpriseCategory;
|
|
3230
3361
|
});
|
|
3362
|
+
/**
|
|
3363
|
+
* The child categories of the category.
|
|
3364
|
+
*/
|
|
3231
3365
|
get children(): EnterpriseCategory[];
|
|
3366
|
+
/**
|
|
3367
|
+
* The {@link EnterpriseLocation}s within this category.
|
|
3368
|
+
*/
|
|
3232
3369
|
get locations(): EnterpriseLocation[];
|
|
3233
3370
|
/**
|
|
3234
3371
|
* Serializes the EnterpriseCategory data to JSON.
|
|
@@ -3255,9 +3392,14 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/location' {
|
|
|
3255
3392
|
import BaseMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object';
|
|
3256
3393
|
import type Node from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/node';
|
|
3257
3394
|
/**
|
|
3258
|
-
*
|
|
3395
|
+
* An EnterpriseLocation contains metadata about a location, such as its name, description, logo, phone number, social medial links, hours of operation and more.
|
|
3396
|
+
* They can be accessed using the {@link MapData.getByType()} method as shown below.
|
|
3259
3397
|
*
|
|
3260
|
-
*
|
|
3398
|
+
* ```typescript
|
|
3399
|
+
* const allLocations = mapData.getByType('enterprise-location');
|
|
3400
|
+
* ```
|
|
3401
|
+
*
|
|
3402
|
+
* Refer to the [EnterpriseLocation Guide](https://developer.mappedin.com/web-sdk/enterprise-data#enterprise-locations) for more information and interactive examples.
|
|
3261
3403
|
*/
|
|
3262
3404
|
class EnterpriseLocation extends BaseMapData implements Omit<MVFEnterpriseLocation, 'polygons' | 'nodes' | 'links'> {
|
|
3263
3405
|
#private;
|
|
@@ -3269,36 +3411,139 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/location' {
|
|
|
3269
3411
|
* @internal
|
|
3270
3412
|
*/
|
|
3271
3413
|
readonly __type = "enterprise-location";
|
|
3414
|
+
/**
|
|
3415
|
+
* The description of the location.
|
|
3416
|
+
*/
|
|
3272
3417
|
description?: string | undefined;
|
|
3418
|
+
/**
|
|
3419
|
+
* The name of the location.
|
|
3420
|
+
*/
|
|
3273
3421
|
name: string;
|
|
3422
|
+
/**
|
|
3423
|
+
* The amenity of the location.
|
|
3424
|
+
*/
|
|
3274
3425
|
amenity?: string | undefined;
|
|
3426
|
+
/**
|
|
3427
|
+
* The external ID of the location.
|
|
3428
|
+
*/
|
|
3275
3429
|
externalId: string;
|
|
3430
|
+
/**
|
|
3431
|
+
* Extra properties of the location.
|
|
3432
|
+
*/
|
|
3276
3433
|
extra?: Record<string, unknown> | undefined;
|
|
3434
|
+
/**
|
|
3435
|
+
* The gallery of the location.
|
|
3436
|
+
*/
|
|
3277
3437
|
gallery?: {
|
|
3278
3438
|
caption?: string | null;
|
|
3279
3439
|
image: string;
|
|
3280
3440
|
embeddedUrl?: string | null;
|
|
3281
3441
|
}[] | undefined;
|
|
3442
|
+
/**
|
|
3443
|
+
* Specific instances of this location with different properties.
|
|
3444
|
+
* Typically, there will be at least one node or polygon defined,
|
|
3445
|
+
* plus one or more other properties that are different from the parent.
|
|
3446
|
+
* The remaining properties will be the same as the parent.
|
|
3447
|
+
|
|
3448
|
+
* For example, suppose there is a location like this:
|
|
3449
|
+
*
|
|
3450
|
+
* ```json
|
|
3451
|
+
* {
|
|
3452
|
+
* "id": "location-id-1",
|
|
3453
|
+
* "name": "Location 1",
|
|
3454
|
+
* "nodes": ["node-1", "node-2"],
|
|
3455
|
+
* "polygons": ["polygon-1", "polygon-2"],
|
|
3456
|
+
* "externalId": "externalId-1",
|
|
3457
|
+
* "description": "Description 1",
|
|
3458
|
+
* }
|
|
3459
|
+
* ```
|
|
3460
|
+
*
|
|
3461
|
+
* (Note that for clarity, we have put strings in for nodes and polygons, but in practice they would be objects.)
|
|
3462
|
+
*
|
|
3463
|
+
* Then suppose it had an `instances` array that contained an object that looked like this:
|
|
3464
|
+
*
|
|
3465
|
+
* ```json
|
|
3466
|
+
* {
|
|
3467
|
+
* "id": "instance-id-1",
|
|
3468
|
+
* "name": "Location 1 - A",
|
|
3469
|
+
* "nodes": ["node-1"],
|
|
3470
|
+
* "polygons": ["polygon-1"],
|
|
3471
|
+
* "externalId": "externalId-1-A",
|
|
3472
|
+
* "description": "Description 1",
|
|
3473
|
+
* }
|
|
3474
|
+
* ```
|
|
3475
|
+
* This says "Location 1" is the parent location, and "Location 1 - A" is an instance of it. The instance has a different name, and a different external ID, and it only applies to node `node-1` and polygon `polygon-1`.
|
|
3476
|
+
* The ID will always be different, but other properties (like the description) are the same as the parent.
|
|
3477
|
+
*
|
|
3478
|
+
* Example use cases:
|
|
3479
|
+
* - A Mall may have a location with two nodes and one polygon. It may then have an instance with one of the nodes, and operating hours
|
|
3480
|
+
* that are different from the parent. This indicates that this instance is an entrance for the location that is accessible at different times, perhaps for an interior mall entrance, when the main location (and other, exterior entrance) is open later than the rest of the mall.
|
|
3481
|
+
* - An aiport may have a location with several polygons and nodes, and an instance for each node (and corrisponding polygon, if any) with a different siblingGroup. The location in the sibling group may be the airport terminal, or airside vs landside.
|
|
3482
|
+
* This would allow an application to show the location once in a search result, but offer UX to select the instance that is in the right terminal.
|
|
3483
|
+
*
|
|
3484
|
+
* Note: Instances are actual EnterpriseLocations. This means they have all the properties of a normal EnterpriseLocation, including an `instances` property, that will always be undefined. They also do NOT have a parent proprty, or any other explicit reference to the parent location. These instances are
|
|
3485
|
+
* only referenced from their parent location, and will not show up in other places in the map data. However, they should otherwise behave like normal EnterpriseLocations, being targetable for things like navigation and focus.
|
|
3486
|
+
*/
|
|
3487
|
+
instances?: EnterpriseLocation[] | undefined;
|
|
3488
|
+
/**
|
|
3489
|
+
* A URL to the logo of the location.
|
|
3490
|
+
*/
|
|
3282
3491
|
logo?: string | undefined;
|
|
3492
|
+
/**
|
|
3493
|
+
* The operation hours of the location.
|
|
3494
|
+
*/
|
|
3283
3495
|
operationHours?: OperationHours[] | undefined;
|
|
3496
|
+
/**
|
|
3497
|
+
* The phone number of the location.
|
|
3498
|
+
*/
|
|
3284
3499
|
phone?: {
|
|
3285
3500
|
number: string;
|
|
3286
3501
|
extension?: string;
|
|
3287
3502
|
} | undefined;
|
|
3503
|
+
/**
|
|
3504
|
+
* A URL to the picture of the location.
|
|
3505
|
+
*/
|
|
3288
3506
|
picture?: string | undefined;
|
|
3507
|
+
/**
|
|
3508
|
+
* The short name of the location.
|
|
3509
|
+
*/
|
|
3289
3510
|
shortName?: string | undefined;
|
|
3511
|
+
/**
|
|
3512
|
+
* Whether to show the floating label when an image is present.
|
|
3513
|
+
*/
|
|
3290
3514
|
showFloatingLabelWhenImagePresent?: boolean | undefined;
|
|
3515
|
+
/**
|
|
3516
|
+
* Whether to show the logo.
|
|
3517
|
+
*/
|
|
3291
3518
|
showLogo?: boolean | undefined;
|
|
3519
|
+
/**
|
|
3520
|
+
* The sibling groups of the location.
|
|
3521
|
+
*/
|
|
3292
3522
|
siblingGroups?: SiblingGroup[] | undefined;
|
|
3523
|
+
/**
|
|
3524
|
+
* The social media links of the location.
|
|
3525
|
+
*/
|
|
3293
3526
|
social?: {
|
|
3294
3527
|
facebook?: string;
|
|
3295
3528
|
instagram?: string;
|
|
3296
3529
|
twitter?: string;
|
|
3297
3530
|
website?: string;
|
|
3298
3531
|
} | undefined;
|
|
3532
|
+
/**
|
|
3533
|
+
* The sort order of the location.
|
|
3534
|
+
*/
|
|
3299
3535
|
sortOrder: number;
|
|
3536
|
+
/**
|
|
3537
|
+
* The {@link LocationState}s of the location.
|
|
3538
|
+
*/
|
|
3300
3539
|
states?: LocationState[] | undefined;
|
|
3540
|
+
/**
|
|
3541
|
+
* The tags of the location.
|
|
3542
|
+
*/
|
|
3301
3543
|
tags?: string[] | undefined;
|
|
3544
|
+
/**
|
|
3545
|
+
* The type of the location.
|
|
3546
|
+
*/
|
|
3302
3547
|
type: string;
|
|
3303
3548
|
/**
|
|
3304
3549
|
* Checks if the provided instance is of type EnterpriseLocation.
|
|
@@ -3313,6 +3558,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/location' {
|
|
|
3313
3558
|
constructor(data: MapDataInternal, options: {
|
|
3314
3559
|
mvfData: MVFEnterpriseLocation;
|
|
3315
3560
|
categoryIds: string[];
|
|
3561
|
+
locationInstances?: EnterpriseLocation[];
|
|
3316
3562
|
});
|
|
3317
3563
|
get categories(): EnterpriseCategory[];
|
|
3318
3564
|
get coordinates(): Coordinate[];
|
|
@@ -3342,7 +3588,14 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/venue' {
|
|
|
3342
3588
|
import type { Hyperlink, MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
3343
3589
|
import BaseMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object';
|
|
3344
3590
|
/**
|
|
3345
|
-
*
|
|
3591
|
+
* The EnterpriseVenue class holds metadata bout the map, which includes the map name, supported languages, default language, top locations and more.
|
|
3592
|
+
* It can be accessed using the {@link MapData.getByType()} method as shown below.
|
|
3593
|
+
*
|
|
3594
|
+
* ```typescript
|
|
3595
|
+
* const venue = mapData.getByType('venue');
|
|
3596
|
+
* ```
|
|
3597
|
+
*
|
|
3598
|
+
* Refer to the [EnterpriseVenue Guide](https://developer.mappedin.com/web-sdk/enterprise-data#enterprise-venue) for more information.
|
|
3346
3599
|
*/
|
|
3347
3600
|
class EnterpriseVenue extends BaseMapData implements MVFEnterpriseVenue {
|
|
3348
3601
|
#private;
|
|
@@ -3354,18 +3607,57 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/venue' {
|
|
|
3354
3607
|
* @internal
|
|
3355
3608
|
*/
|
|
3356
3609
|
readonly __type = "enterprise-venue";
|
|
3610
|
+
/**
|
|
3611
|
+
* The country code of the venue.
|
|
3612
|
+
*/
|
|
3357
3613
|
countrycode?: string | undefined;
|
|
3614
|
+
/**
|
|
3615
|
+
* The external ID of the venue.
|
|
3616
|
+
*/
|
|
3358
3617
|
externalId: string;
|
|
3618
|
+
/**
|
|
3619
|
+
* The default language of the venue.
|
|
3620
|
+
*/
|
|
3359
3621
|
defaultLanguage: Language;
|
|
3622
|
+
/**
|
|
3623
|
+
* The default map of the venue.
|
|
3624
|
+
*/
|
|
3360
3625
|
defaultMap?: string | undefined;
|
|
3626
|
+
/**
|
|
3627
|
+
* Extra properties of the venue.
|
|
3628
|
+
*/
|
|
3361
3629
|
extra?: Record<string, unknown> | undefined;
|
|
3630
|
+
/**
|
|
3631
|
+
* A URL to the icon of the venue.
|
|
3632
|
+
*/
|
|
3362
3633
|
icon?: string | undefined;
|
|
3634
|
+
/**
|
|
3635
|
+
* The languages supported by the venue.
|
|
3636
|
+
*/
|
|
3363
3637
|
languages: Language[];
|
|
3638
|
+
/**
|
|
3639
|
+
* The links of the venue.
|
|
3640
|
+
*/
|
|
3364
3641
|
links: Hyperlink[];
|
|
3642
|
+
/**
|
|
3643
|
+
* A URL to the logo of the venue.
|
|
3644
|
+
*/
|
|
3365
3645
|
logo?: string | undefined;
|
|
3646
|
+
/**
|
|
3647
|
+
* A URL to a web page with [Mappedin Web](https://developer.mappedin.com/docs/enterprise-apps/mappedin-web-v2) for this venue.
|
|
3648
|
+
*/
|
|
3366
3649
|
mappedinWebUrl?: string | undefined;
|
|
3650
|
+
/**
|
|
3651
|
+
* The slug of the venue.
|
|
3652
|
+
*/
|
|
3367
3653
|
slug: string;
|
|
3654
|
+
/**
|
|
3655
|
+
* The top locations of the venue.
|
|
3656
|
+
*/
|
|
3368
3657
|
topLocations?: string[] | undefined;
|
|
3658
|
+
/**
|
|
3659
|
+
* The timezone ID of the venue.
|
|
3660
|
+
*/
|
|
3369
3661
|
tzid?: string | undefined;
|
|
3370
3662
|
/**
|
|
3371
3663
|
* Checks if the provided instance is of type EnterpriseVenue.
|
|
@@ -3617,7 +3909,30 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/door' {
|
|
|
3617
3909
|
/**
|
|
3618
3910
|
* A class representing door data within the map.
|
|
3619
3911
|
*
|
|
3620
|
-
*
|
|
3912
|
+
* Doors are hidden by default. Doors can be made visible by setting their `visible` property to `true`.
|
|
3913
|
+
*
|
|
3914
|
+
* ```typescript
|
|
3915
|
+
* //Make interior doors visible and brown.
|
|
3916
|
+
* mapView.updateState(DOORS.Interior, {
|
|
3917
|
+
* visible: true,
|
|
3918
|
+
* color: '#5C4033',
|
|
3919
|
+
* opacity: 0.6,
|
|
3920
|
+
* });
|
|
3921
|
+
|
|
3922
|
+
* //Make exterior doors visible and black.
|
|
3923
|
+
* mapView.updateState(DOORS.Exterior, {
|
|
3924
|
+
* visible: true,
|
|
3925
|
+
* color: 'black',
|
|
3926
|
+
* opacity: 0.6,
|
|
3927
|
+
* });
|
|
3928
|
+
* ```
|
|
3929
|
+
* Doors can also be made visible on an individual basis by passing in a {@link Door} object to {@link MapView.updateState}.
|
|
3930
|
+
*
|
|
3931
|
+
* Refer to the [Door Guide](https://developer.mappedin.com/web-sdk/spaces#doors) for more information and interactive examples.
|
|
3932
|
+
*
|
|
3933
|
+
* Door appearance can be customized by changing the color or adding a texture to the top or sides of a door.
|
|
3934
|
+
* Refer to the [Textures & Colors Guide](https://developer.mappedin.com/web-sdk/images-textures#textures--colors) for more information and interactive examples.
|
|
3935
|
+
*
|
|
3621
3936
|
*/
|
|
3622
3937
|
class Door extends BaseMapData {
|
|
3623
3938
|
#private;
|
|
@@ -3655,7 +3970,17 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/door' {
|
|
|
3655
3970
|
* @returns {string} The external ID of the door.
|
|
3656
3971
|
*/
|
|
3657
3972
|
get externalId(): string;
|
|
3973
|
+
/**
|
|
3974
|
+
* Gets the description of the door.
|
|
3975
|
+
*
|
|
3976
|
+
* @returns {string} The description of the door.
|
|
3977
|
+
*/
|
|
3658
3978
|
get description(): string;
|
|
3979
|
+
/**
|
|
3980
|
+
* Gets the images of the door.
|
|
3981
|
+
*
|
|
3982
|
+
* @returns {Image[]} The images of the door.
|
|
3983
|
+
*/
|
|
3659
3984
|
get images(): Image[];
|
|
3660
3985
|
/**
|
|
3661
3986
|
* Gets the {@link Floor} object associated with the door.
|
|
@@ -3718,9 +4043,10 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/space' {
|
|
|
3718
4043
|
*/
|
|
3719
4044
|
export type TSpaceType = 'room' | 'hallway' | 'exterior' | 'void' | 'connection.stairs' | 'connection.elevator' | 'poi';
|
|
3720
4045
|
/**
|
|
3721
|
-
* A
|
|
4046
|
+
* A Space represents an area enclosed by walls, such as a hall or room. Spaces can be Interactive and have Labels and Markers added to them.
|
|
4047
|
+
* Spaces can also be customized with a color, texture and hover color.
|
|
3722
4048
|
*
|
|
3723
|
-
*
|
|
4049
|
+
* Refer to the [Spaces Guide](https://developer.mappedin.com/web-sdk/spaces) for more information and interactive examples.
|
|
3724
4050
|
*/
|
|
3725
4051
|
class Space extends BaseMapData {
|
|
3726
4052
|
#private;
|
|
@@ -3991,6 +4317,11 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/connection'
|
|
|
3991
4317
|
get name(): string;
|
|
3992
4318
|
get description(): string;
|
|
3993
4319
|
get images(): Image[];
|
|
4320
|
+
/**
|
|
4321
|
+
* Whether the connection is accessible. For example elevators are accessible while stairs are not.
|
|
4322
|
+
*
|
|
4323
|
+
* @returns {boolean} Whether the connection is accessible.
|
|
4324
|
+
*/
|
|
3994
4325
|
get accessible(): boolean;
|
|
3995
4326
|
/**
|
|
3996
4327
|
* Gets the external ID of the connection.
|
|
@@ -4057,7 +4388,10 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/object' {
|
|
|
4057
4388
|
/**
|
|
4058
4389
|
* A class representing generic map object data within the map.
|
|
4059
4390
|
*
|
|
4060
|
-
* It could represent various objects on the map, such as desks,
|
|
4391
|
+
* It could represent various objects on the map, such as desks, chairs, etc.
|
|
4392
|
+
*
|
|
4393
|
+
* MapObject appearance can be customized by changing the color or adding a texture to its top or sides.
|
|
4394
|
+
* Refer to the [Textures & Colors Guide](https://developer.mappedin.com/web-sdk/images-textures#textures--colors) for more information and interactive examples.
|
|
4061
4395
|
*/
|
|
4062
4396
|
export class MapObject extends BaseMapData {
|
|
4063
4397
|
#private;
|
|
@@ -4326,6 +4660,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/annotation'
|
|
|
4326
4660
|
*
|
|
4327
4661
|
* Annotations are used to mark specific points or areas on the map with additional information.
|
|
4328
4662
|
* It includes some details on a map that may be relevant to safety or accessibility (e.g. Fire Extinguishers).
|
|
4663
|
+
* Refer to the [Annotation Guide](https://developer.mappedin.com/web-sdk/annotations) for more information.
|
|
4329
4664
|
*/
|
|
4330
4665
|
class Annotation extends BaseMapData {
|
|
4331
4666
|
#private;
|
|
@@ -4732,6 +5067,13 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/shapes' {
|
|
|
4732
5067
|
import type { FeatureCollection, LineString, MultiPolygon, Polygon } from 'geojson';
|
|
4733
5068
|
import type { LineStyle, PaintStyle } from '@mappedin/core-sdk';
|
|
4734
5069
|
import type { Floor } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
5070
|
+
/**
|
|
5071
|
+
* The Shapes class draws 3 dimensional shapes on top of a map. The shapes are created using GeoJSON geometry, which could be a {@link Polygon}, {@link MultiPolygon} (array of polygons) or a {@link LineString}.
|
|
5072
|
+
*
|
|
5073
|
+
* This class is accessed using {@link MapView.Shapes}.
|
|
5074
|
+
*
|
|
5075
|
+
* Refer to the [Shapes Guide](https://developer.mappedin.com/web-sdk/shapes) for more information and interactive examples.
|
|
5076
|
+
*/
|
|
4735
5077
|
export class Shapes {
|
|
4736
5078
|
#private;
|
|
4737
5079
|
/**
|
|
@@ -7421,29 +7763,13 @@ declare module '@mappedin/react-sdk/geojson/src/systems/html-controls/system' {
|
|
|
7421
7763
|
}
|
|
7422
7764
|
}
|
|
7423
7765
|
|
|
7424
|
-
declare module '@mappedin/react-sdk/geojson/src/maplibre-overlay' {
|
|
7425
|
-
import type { IControl, Map as MapLibreMap, CustomLayerInterface } from '@packages/internal/outdoor-context-v4';
|
|
7426
|
-
import type { Position } from '@mappedin/react-sdk/geojson/src/types';
|
|
7427
|
-
import RendererCore from '@mappedin/react-sdk/geojson/src/renderer';
|
|
7428
|
-
import { PubSub } from '@packages/internal/common';
|
|
7429
|
-
export class MapLibreOverlay<T> extends PubSub<T> implements IControl {
|
|
7430
|
-
el: HTMLDivElement;
|
|
7431
|
-
core: RendererCore;
|
|
7432
|
-
origin?: Position;
|
|
7433
|
-
map?: MapLibreMap;
|
|
7434
|
-
layer?: CustomLayerInterface;
|
|
7435
|
-
constructor(origin: Position | undefined);
|
|
7436
|
-
onAdd(map: MapLibreMap): HTMLDivElement;
|
|
7437
|
-
onRemove(): void;
|
|
7438
|
-
}
|
|
7439
|
-
}
|
|
7440
|
-
|
|
7441
7766
|
declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/api' {
|
|
7442
7767
|
import type { Position, RendererCore, WatermarkOptions } from '@mappedin/core-sdk';
|
|
7443
7768
|
import { type TShow3DMapOptions } from '@mappedin/react-sdk/mappedin-js/src';
|
|
7444
7769
|
import { WALLS, DOORS } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
7445
7770
|
import type MapData from '@mappedin/react-sdk/mappedin-js/src/map-data';
|
|
7446
|
-
import {
|
|
7771
|
+
import type { FloorStack, MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
7772
|
+
import { Coordinate, MapObject, Space, Floor, Door } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
7447
7773
|
import type { MapView } from '@mappedin/react-sdk/mappedin-js/src/map-view';
|
|
7448
7774
|
import { Label, Marker, type Model, type Image, Shape } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
|
|
7449
7775
|
import { Navigation } from '@mappedin/react-sdk/mappedin-js/src/navigation';
|
|
@@ -7463,14 +7789,13 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/api' {
|
|
|
7463
7789
|
import Outdoor from '@mappedin/react-sdk/mappedin-js/src/api-geojson/outdoor';
|
|
7464
7790
|
export class GeoJsonApi {
|
|
7465
7791
|
core: RendererCore;
|
|
7466
|
-
outdoors: GeojsonApiMapObject;
|
|
7467
7792
|
mapObjects: GeojsonApiMapObject[];
|
|
7468
7793
|
id: string;
|
|
7469
7794
|
mapDataExternal: {
|
|
7470
7795
|
[key in string]: MapData;
|
|
7471
7796
|
};
|
|
7472
7797
|
mapData?: MapData;
|
|
7473
|
-
currentMap
|
|
7798
|
+
currentMap: GeojsonApiMapObject;
|
|
7474
7799
|
hiddenOutdoorGeometries: [Position, layer: string[]][];
|
|
7475
7800
|
mapView: MapView;
|
|
7476
7801
|
Camera: Camera;
|
|
@@ -7493,7 +7818,9 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/api' {
|
|
|
7493
7818
|
getMapData(): MapData | undefined;
|
|
7494
7819
|
addMap(mapData: MapData, options?: TShow3DMapOptions): Promise<MapData>;
|
|
7495
7820
|
setFloor(floor: Floor | string, reason?: TFloorChangeReason): void;
|
|
7821
|
+
setFloorStack(floorStack: FloorStack | string): void;
|
|
7496
7822
|
updateWatermark(options: Omit<WatermarkOptions, 'onClick'>): void;
|
|
7823
|
+
get currentFloorStack(): FloorStack;
|
|
7497
7824
|
get currentFloor(): Floor;
|
|
7498
7825
|
getState<T extends Space | MapObject | Label | Marker | Shape | Model | Image | string>(target: T): TGetState<T> | undefined;
|
|
7499
7826
|
setHoverColor(c: string): void;
|
|
@@ -7523,8 +7850,9 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object' {
|
|
|
7523
7850
|
import { StackedMaps } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/stacked-maps/stacked-maps';
|
|
7524
7851
|
import type { TFloorChangeReason } from '@mappedin/react-sdk/mappedin-js/src/events';
|
|
7525
7852
|
import type { Path, Shape } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
|
|
7526
|
-
import type { Space, Door, PointOfInterest, MapObject, Node } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
7853
|
+
import type { Space, Door, PointOfInterest, MapObject, Node, MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
7527
7854
|
import { type GeoJsonApi } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/api';
|
|
7855
|
+
import { FloorStackObject } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/floor-stack-object';
|
|
7528
7856
|
export class GeojsonApiMapObject extends PubSub<{
|
|
7529
7857
|
'floor-change': {
|
|
7530
7858
|
reason?: TFloorChangeReason;
|
|
@@ -7543,18 +7871,21 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object' {
|
|
|
7543
7871
|
path: Path;
|
|
7544
7872
|
};
|
|
7545
7873
|
}> {
|
|
7546
|
-
|
|
7547
|
-
|
|
7548
|
-
/** Map of floors by elevation. Floor elevation does not always match index or is not always contiguous. */
|
|
7549
|
-
floorsByElevation: Map<number, FloorObject>;
|
|
7874
|
+
floorStacksById: Map<string, FloorStackObject>;
|
|
7875
|
+
floorsById: Map<string, FloorObject>;
|
|
7550
7876
|
currentFloorId: string;
|
|
7877
|
+
currentFloorStackId: string;
|
|
7551
7878
|
id: string;
|
|
7552
7879
|
renderer: RendererCore;
|
|
7553
7880
|
api: GeoJsonApi;
|
|
7554
7881
|
mvf: ParsedMVF;
|
|
7555
7882
|
styleMap: AggregatedStyleMap;
|
|
7556
7883
|
StackedMaps: StackedMaps;
|
|
7884
|
+
get currentFloorStack(): FloorStackObject;
|
|
7885
|
+
setFloorStack(floorStackId: string): void;
|
|
7557
7886
|
get currentFloor(): FloorObject;
|
|
7887
|
+
/** @deprecated use `currentFloorStack.floorObjects` or `floorsById` instead */
|
|
7888
|
+
get floors(): FloorObject[];
|
|
7558
7889
|
setFloor(floorId: string, reason?: TFloorChangeReason): void;
|
|
7559
7890
|
Models: {
|
|
7560
7891
|
add: (id: string, targets: TAddModel[], opts: TAddModelOptions & {
|
|
@@ -7605,7 +7936,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object' {
|
|
|
7605
7936
|
};
|
|
7606
7937
|
remove: (entityIds: string[]) => void;
|
|
7607
7938
|
};
|
|
7608
|
-
constructor(id: string,
|
|
7939
|
+
constructor(id: string, mapDataInternal: MapDataInternal | undefined, options: TShow3DMapOptions | undefined, api: GeoJsonApi);
|
|
7609
7940
|
}
|
|
7610
7941
|
}
|
|
7611
7942
|
|
|
@@ -7614,14 +7945,26 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view-objects/label' {
|
|
|
7614
7945
|
/**
|
|
7615
7946
|
* Class representing a label on the {@link MapView}.
|
|
7616
7947
|
*
|
|
7617
|
-
* Labels are
|
|
7948
|
+
* Labels contain text and an image that are anchored to a specific point on the map. They automatically rotate and show and hide based on priority and zoom level.
|
|
7949
|
+
* Use them to inform users about location names, points of interest and more!
|
|
7950
|
+
*
|
|
7951
|
+
* Effective use of labels allows an app to convey additional information to the user.
|
|
7952
|
+
* For example labels can be used to show room names, important points of interest, main entrances or any other piece of contextual information that is useful to the user.
|
|
7953
|
+
*
|
|
7954
|
+
* Refer to the [Labels Guide](https://developer.mappedin.com/web-sdk/labels) for more information and interactive examples.
|
|
7618
7955
|
*/
|
|
7619
7956
|
export class Label {
|
|
7620
7957
|
/**
|
|
7621
7958
|
* The label's id
|
|
7622
7959
|
*/
|
|
7623
7960
|
readonly id: string;
|
|
7961
|
+
/**
|
|
7962
|
+
* The label's text
|
|
7963
|
+
*/
|
|
7624
7964
|
readonly text: string;
|
|
7965
|
+
/**
|
|
7966
|
+
* The target object where the label is anchored.
|
|
7967
|
+
*/
|
|
7625
7968
|
readonly target: Space | Door | Coordinate | PointOfInterest | MapObject | Node;
|
|
7626
7969
|
/**
|
|
7627
7970
|
* @internal
|
|
@@ -7648,9 +7991,10 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view-objects/label' {
|
|
|
7648
7991
|
declare module '@mappedin/react-sdk/mappedin-js/src/map-view-objects/marker' {
|
|
7649
7992
|
import type { Coordinate, Door, Node, Space } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
7650
7993
|
/**
|
|
7651
|
-
*
|
|
7994
|
+
* Mappedin JS allows adding and removing Markers on a map using the {@link Markers} class. Markers are elements containing HTML that Mappedin JS anchors to a {@link Door}, {@link Space}, {@link Coordinate} or {@link Node}.
|
|
7995
|
+
* They are automatically rotated and repositioned when the camera moves.
|
|
7652
7996
|
*
|
|
7653
|
-
*
|
|
7997
|
+
* Refer to the [Markers Guide](https://developer.mappedin.com/web-sdk/markers) for more information and interactive examples.
|
|
7654
7998
|
*/
|
|
7655
7999
|
export class Marker {
|
|
7656
8000
|
/**
|
|
@@ -7728,6 +8072,18 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view-objects/image' {
|
|
|
7728
8072
|
declare module '@mappedin/react-sdk/mappedin-js/src/map-view-objects/model' {
|
|
7729
8073
|
/**
|
|
7730
8074
|
* Class representing a 3D model on the {@link MapView}.
|
|
8075
|
+
*
|
|
8076
|
+
* Adding 3D models to a map can be a great way to represent landmarks to help users find key locations. They could also be used to show the location of assets or represent furniture to provide a rich indoor layout.
|
|
8077
|
+
|
|
8078
|
+
* Mappedin JS supports models in Graphics Library Transmission Format (GLTF) and GL Transmission Format Binary (GLB) format. Models with nested meshes are not supported and should not be used.
|
|
8079
|
+
*
|
|
8080
|
+
* 3D Models can be added to a {@link Coordinate}, {@link Door} or {@link Space}.
|
|
8081
|
+
* When adding the same model to multiple locations at the same time always use an array instead of calling the add method multiple times.
|
|
8082
|
+
* This allows the SDK to re-use the same instance of the model to reduce RAM usage and rendering time, resulting in better performance.
|
|
8083
|
+
*
|
|
8084
|
+
* Models are added using {@link Models.add}.
|
|
8085
|
+
*
|
|
8086
|
+
* Refer to the [3D Models Guide](https://developer.mappedin.com/web-sdk/3d-models) for more information and interactive examples.
|
|
7731
8087
|
*/
|
|
7732
8088
|
export class Model {
|
|
7733
8089
|
/**
|
|
@@ -7765,7 +8121,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view-objects/path' {
|
|
|
7765
8121
|
/**
|
|
7766
8122
|
* Class representing a path on the {@link MapView}.
|
|
7767
8123
|
*
|
|
7768
|
-
* Paths are used to indicate a route on the map.
|
|
8124
|
+
* Paths are used to indicate a route on the map and can be added and removed using {@link Paths.add} and {@link Paths.remove}.
|
|
7769
8125
|
*/
|
|
7770
8126
|
export class Path {
|
|
7771
8127
|
/**
|
|
@@ -7795,6 +8151,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view-objects/shape' {
|
|
|
7795
8151
|
/**
|
|
7796
8152
|
* Class representing GeoJSON shape on the {@link MapView}.
|
|
7797
8153
|
*
|
|
8154
|
+
* Refer to the [Shapes Guide](https://developer.mappedin.com/web-sdk/shapes) for more information and interactive examples.
|
|
7798
8155
|
*/
|
|
7799
8156
|
export class Shape {
|
|
7800
8157
|
/**
|
|
@@ -7827,12 +8184,25 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/camera' {
|
|
|
7827
8184
|
import type { TCameraAnimationOptions, TCameraFocusOnTarget, TCameraTarget, TFocusOnOptions } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
7828
8185
|
import type { InsetPadding, RendererCore } from '@mappedin/core-sdk';
|
|
7829
8186
|
import { Coordinate } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
8187
|
+
/**
|
|
8188
|
+
* The Camera class is used to control the camera's position, pitch, bearing, and zoom level. It can also be used to focus
|
|
8189
|
+
* on one or more locations on the map. The camera can be repositioned instantly or animated to a new position.
|
|
8190
|
+
*
|
|
8191
|
+
* This class is accessed using {@link MapView.Camera}
|
|
8192
|
+
*
|
|
8193
|
+
* Refer to the [Camera Guide](https://developer.mappedin.com/web-sdk/camera) for more information and interactive examples.
|
|
8194
|
+
*/
|
|
7830
8195
|
export class Camera {
|
|
7831
8196
|
#private;
|
|
7832
8197
|
/**
|
|
7833
8198
|
* @internal
|
|
7834
8199
|
*/
|
|
7835
8200
|
constructor(rendererCore: RendererCore);
|
|
8201
|
+
/**
|
|
8202
|
+
* Define an area of the screen that is safe for the camera. Anything outside the safe area is assumed to be covered in some way. The camera will not place any map elements there when calling {@link Camera.focusOn}.
|
|
8203
|
+
*
|
|
8204
|
+
* @param padding The padding in pixels.
|
|
8205
|
+
*/
|
|
7836
8206
|
setScreenOffsets(padding: InsetPadding): void;
|
|
7837
8207
|
get screenOffsets(): InsetPadding;
|
|
7838
8208
|
/**
|
|
@@ -7840,7 +8210,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/camera' {
|
|
|
7840
8210
|
*/
|
|
7841
8211
|
get panMode(): "default" | "elevation";
|
|
7842
8212
|
/**
|
|
7843
|
-
* Set the camera's pan mode. 'elevation' moves the camera up and down, while 'default' allows the camera to pan
|
|
8213
|
+
* Set the camera's pan mode. 'elevation' moves the camera up and down, while 'default' allows the camera to pan in all directions.
|
|
7844
8214
|
* @experimental
|
|
7845
8215
|
* @param panMode The new pan mode.
|
|
7846
8216
|
*/
|
|
@@ -7852,7 +8222,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/camera' {
|
|
|
7852
8222
|
* @param options Optional settings for focusing the camera.
|
|
7853
8223
|
* @example
|
|
7854
8224
|
* // Focus on a single space
|
|
7855
|
-
*
|
|
8225
|
+
* mapView.Camera.focusOn(space, { minZoomLevel: 5, duration: 1000 });
|
|
7856
8226
|
*/
|
|
7857
8227
|
focusOn(target: TCameraFocusOnTarget, options?: TFocusOnOptions): Promise<void>;
|
|
7858
8228
|
/**
|
|
@@ -7860,14 +8230,14 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/camera' {
|
|
|
7860
8230
|
* @param target The target configuration for the camera.
|
|
7861
8231
|
* @param options Optional settings for the camera animation.
|
|
7862
8232
|
* @example
|
|
7863
|
-
*
|
|
8233
|
+
* mapView.Camera.animateTo({ center: coordinate, zoomLevel: 10 }, { duration: 500 });
|
|
7864
8234
|
*/
|
|
7865
8235
|
animateTo(target: TCameraTarget, options?: TCameraAnimationOptions): Promise<void>;
|
|
7866
8236
|
/**
|
|
7867
8237
|
* Sets the camera to a specified target without animation.
|
|
7868
8238
|
* @param target The target configuration for the camera.
|
|
7869
8239
|
* @example
|
|
7870
|
-
*
|
|
8240
|
+
* mapView.Camera.set({ center: coordinate, zoomLevel: 10 });
|
|
7871
8241
|
*/
|
|
7872
8242
|
set(target: TCameraTarget): void;
|
|
7873
8243
|
/**
|
|
@@ -7926,7 +8296,6 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/camera' {
|
|
|
7926
8296
|
* Update the minimum zoom level of the camera in mercator zoom levels.
|
|
7927
8297
|
* @param zoomLevel The new minimum zoom level.
|
|
7928
8298
|
* @see https://wiki.openstreetmap.org/wiki/Zoom_levels
|
|
7929
|
-
* @default 22
|
|
7930
8299
|
*/
|
|
7931
8300
|
setMinZoomLevel: (zoomLevel: number) => void;
|
|
7932
8301
|
/**
|
|
@@ -7939,7 +8308,9 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/camera' {
|
|
|
7939
8308
|
* Update the maximum zoom level of the camera in mercator zoom levels.
|
|
7940
8309
|
* @param zoomLevel The new maximum zoom level.
|
|
7941
8310
|
* @see https://wiki.openstreetmap.org/wiki/Zoom_levels
|
|
7942
|
-
* @default
|
|
8311
|
+
* @default 22
|
|
8312
|
+
* @max 24
|
|
8313
|
+
* @min 0
|
|
7943
8314
|
*/
|
|
7944
8315
|
setMaxZoomLevel: (zoomLevel: number) => void;
|
|
7945
8316
|
/**
|
|
@@ -7968,6 +8339,19 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/labels' {
|
|
|
7968
8339
|
import type { GeojsonApiMapObject } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object';
|
|
7969
8340
|
import type { PointOfInterest, MapObject } from '@mappedin/react-sdk/mappedin-js/src';
|
|
7970
8341
|
import type { Space, Door, Coordinate, Node } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
8342
|
+
/**
|
|
8343
|
+
* Class used to add and remove a {@link Label} on the {@link MapView}.
|
|
8344
|
+
*
|
|
8345
|
+
* Labels contain text and an image that are anchored to a specific point on the map. They automatically rotate and show and hide based on priority and zoom level.
|
|
8346
|
+
* Use them to inform users about location names, points of interest and more!
|
|
8347
|
+
*
|
|
8348
|
+
* Effective use of labels allows an app to convey additional information to the user.
|
|
8349
|
+
* For example labels can be used to show room names, important points of interest, main entrances or any other piece of contextual information that is useful to the user.
|
|
8350
|
+
*
|
|
8351
|
+
* This class is accessed using {@link MapView.Labels}.
|
|
8352
|
+
*
|
|
8353
|
+
* Refer to the [Labels Guide](https://developer.mappedin.com/web-sdk/labels) for more information and interactive examples.
|
|
8354
|
+
*/
|
|
7971
8355
|
export class Labels {
|
|
7972
8356
|
#private;
|
|
7973
8357
|
/**
|
|
@@ -7996,7 +8380,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/labels' {
|
|
|
7996
8380
|
* @returns {Label | undefined} The created label, or undefined if creation failed.
|
|
7997
8381
|
* @example
|
|
7998
8382
|
*
|
|
7999
|
-
*
|
|
8383
|
+
* mapView.Labels.add(space, 'Welcome', { appearance: { color: 'blue' } });
|
|
8000
8384
|
*/
|
|
8001
8385
|
add(target: Space | Door | Coordinate | PointOfInterest | MapObject | Node, text: string, options?: TAddLabelOptions | undefined): Label;
|
|
8002
8386
|
/**
|
|
@@ -8006,7 +8390,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/labels' {
|
|
|
8006
8390
|
*
|
|
8007
8391
|
* @example
|
|
8008
8392
|
* // Add all the labels to the map
|
|
8009
|
-
*
|
|
8393
|
+
* mapView.Labels.all();
|
|
8010
8394
|
*/
|
|
8011
8395
|
all(): Label[];
|
|
8012
8396
|
/**
|
|
@@ -8021,7 +8405,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/labels' {
|
|
|
8021
8405
|
* Removes all the labels ({@link Label}) from the map.
|
|
8022
8406
|
*
|
|
8023
8407
|
* @example
|
|
8024
|
-
*
|
|
8408
|
+
* mapView.Labels.removeAll();
|
|
8025
8409
|
*/
|
|
8026
8410
|
removeAll(): Label[];
|
|
8027
8411
|
}
|
|
@@ -8034,6 +8418,14 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/markers' {
|
|
|
8034
8418
|
import { Marker } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
|
|
8035
8419
|
import type { GeojsonApiMapObject } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object';
|
|
8036
8420
|
import type { Space, Door, Coordinate, Node } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
8421
|
+
/**
|
|
8422
|
+
* Mappedin JS allows adding and removing Markers on a map. Markers are elements containing HTML that Mappedin JS anchors to a {@link Door}, {@link Space}, {@link Coordinate} or {@link Node}.
|
|
8423
|
+
* They are automatically rotated and repositioned when the camera moves.
|
|
8424
|
+
*
|
|
8425
|
+
* This class is accessed using {@link MapView.Markers}.
|
|
8426
|
+
*
|
|
8427
|
+
* Refer to the [Markers Guide](https://developer.mappedin.com/web-sdk/markers) for more information and interactive examples.
|
|
8428
|
+
*/
|
|
8037
8429
|
export class Markers {
|
|
8038
8430
|
#private;
|
|
8039
8431
|
/**
|
|
@@ -8061,8 +8453,8 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/markers' {
|
|
|
8061
8453
|
* @param options Optional additional options for the {@link Marker}.
|
|
8062
8454
|
* @returns {Marker | undefined} The created {@link Marker}, or undefined if creation failed.
|
|
8063
8455
|
* @example
|
|
8064
|
-
* // Add an interactive
|
|
8065
|
-
*
|
|
8456
|
+
* // Add an interactive Marker to the map with custom HTML content.
|
|
8457
|
+
* mapView.Markers.add(coordinate, '<div>Marker Content</div>', { interactive: true });
|
|
8066
8458
|
*/
|
|
8067
8459
|
add(target: Space | Door | Coordinate | Node, html: string, options?: TAddMarkerOptions): Marker;
|
|
8068
8460
|
/**
|
|
@@ -8077,7 +8469,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/markers' {
|
|
|
8077
8469
|
* Remove all the markers from the map.
|
|
8078
8470
|
*
|
|
8079
8471
|
* @example
|
|
8080
|
-
*
|
|
8472
|
+
* mapView.Markers.removeAll();
|
|
8081
8473
|
*/
|
|
8082
8474
|
removeAll(): Marker[];
|
|
8083
8475
|
/**
|
|
@@ -8085,7 +8477,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/markers' {
|
|
|
8085
8477
|
* @param marker The {@link Marker} which should be removed.
|
|
8086
8478
|
* @param target The new target object ({@link Space}, {@link Door}, or {@link Coordinate}) for the marker.
|
|
8087
8479
|
* @example
|
|
8088
|
-
* const marker =
|
|
8480
|
+
* const marker = mapView.Markers.add(coordinate, '<div>Marker Content</div>');
|
|
8089
8481
|
* mapView.Markers.setPosition(marker, newCoordinate);
|
|
8090
8482
|
*/
|
|
8091
8483
|
setPosition(marker: Marker, target: Space | Door | Coordinate | Node): void;
|
|
@@ -8096,7 +8488,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/markers' {
|
|
|
8096
8488
|
* @param options Optional additional options for the animation.
|
|
8097
8489
|
* @returns {Promise<void>} A promise that resolves when the animation is complete.
|
|
8098
8490
|
* @example
|
|
8099
|
-
* const marker =
|
|
8491
|
+
* const marker = mapView.Markers.add(coordinate, '<div>Marker Content</div>');
|
|
8100
8492
|
* mapView.Markers.animateTo(marker, newCoordinate, { duration: 1000 });
|
|
8101
8493
|
*/
|
|
8102
8494
|
animateTo(marker: Marker, target: Space | Door | Coordinate | Node, options?: TAnimationOptions): Promise<void>;
|
|
@@ -8109,6 +8501,19 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/models' {
|
|
|
8109
8501
|
import type { TAddModelOptions, TAddModel } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
8110
8502
|
import { Model } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
|
|
8111
8503
|
import type { GeojsonApiMapObject } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object';
|
|
8504
|
+
/**
|
|
8505
|
+
* Adding 3D models to a map can be a great way to represent landmarks to help users find key locations. They could also be used to show the location of assets or represent furniture to provide a rich indoor layout.
|
|
8506
|
+
|
|
8507
|
+
* Mappedin JS supports models in Graphics Library Transmission Format (GLTF) and GL Transmission Format Binary (GLB) format. Models with nested meshes are not supported and should not be used.
|
|
8508
|
+
*
|
|
8509
|
+
* 3D Models can be added to a {@link Coordinate}, {@link Door} or {@link Space}.
|
|
8510
|
+
* When adding the same model to multiple locations at the same time always use an array instead of calling the add method multiple times.
|
|
8511
|
+
* This allows the SDK to re-use the same instance of the model to reduce RAM usage and rendering time, resulting in better performance.
|
|
8512
|
+
*
|
|
8513
|
+
* This class is accessed using {@link MapView.Models}.
|
|
8514
|
+
*
|
|
8515
|
+
* Refer to the [3D Models Guide](https://developer.mappedin.com/web-sdk/3d-models) for more information and interactive examples.
|
|
8516
|
+
*/
|
|
8112
8517
|
export class Models {
|
|
8113
8518
|
#private;
|
|
8114
8519
|
/**
|
|
@@ -8137,7 +8542,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/models' {
|
|
|
8137
8542
|
* @returns {Model | undefined} The created {@link Model}, or undefined if creation failed.
|
|
8138
8543
|
* @example
|
|
8139
8544
|
* // Add a {@link Model} to the map.
|
|
8140
|
-
*
|
|
8545
|
+
* mapView.Models.add(coordinate);
|
|
8141
8546
|
*/
|
|
8142
8547
|
add(models: TAddModel | TAddModel[], options: TAddModelOptions): Model[];
|
|
8143
8548
|
/**
|
|
@@ -8152,7 +8557,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/models' {
|
|
|
8152
8557
|
* Remove all the models from the map.
|
|
8153
8558
|
*
|
|
8154
8559
|
* @example
|
|
8155
|
-
*
|
|
8560
|
+
* mapView.Models.removeAll();
|
|
8156
8561
|
*/
|
|
8157
8562
|
removeAll(): Model[];
|
|
8158
8563
|
}
|
|
@@ -8165,6 +8570,19 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/paths' {
|
|
|
8165
8570
|
import type { TAddPathOptions } from '@mappedin/react-sdk/mappedin-js/src';
|
|
8166
8571
|
import { Path } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
|
|
8167
8572
|
import type { Coordinate } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
8573
|
+
/**
|
|
8574
|
+
* While {@link Navigation} provides a complete start and end navigation illustration, it may be desired to draw just the path. This can be done using Paths.
|
|
8575
|
+
*
|
|
8576
|
+
* Paths is accessed using {@link MapView.Paths}.
|
|
8577
|
+
*
|
|
8578
|
+
* Paths can be drawn from one coordinate to another using {@link Paths.add}. If using just two coordinates, the path will be drawn straight between the two points.
|
|
8579
|
+
* This may work for some scenarios, but in most cases an app will need to show the user their walking path, going through doors and avoiding walls and other objects.
|
|
8580
|
+
* Such a path of coordinates can be created by calling the {@link MapData.getDirections()} method, passing in a start and end {@link TNavigationTarget}. Note that a Space requires an entrance to be used as a target.
|
|
8581
|
+
*
|
|
8582
|
+
* The width of the path is set using the {@link TAddPathOptions.nearRadius} and {@link TAddPathOptions.farRadius} parameters. These values are in meters. `nearRadius` is the path width used at the lowest zoom level closest to the ground and `farRadius` is used at the highest zoom level. Additional path styles are outlined later in this guide in the Path Styles section.
|
|
8583
|
+
*
|
|
8584
|
+
* Refer to the [Drawing a Path](https://developer.mappedin.com/web-sdk/wayfinding#drawing-a-path) in the Wayfinding Guide for more information and interactive examples.
|
|
8585
|
+
*/
|
|
8168
8586
|
export class Paths {
|
|
8169
8587
|
#private;
|
|
8170
8588
|
/**
|
|
@@ -8190,21 +8608,21 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/paths' {
|
|
|
8190
8608
|
* @param options Optional additional option
|
|
8191
8609
|
* @example
|
|
8192
8610
|
* // Add a red path to the map
|
|
8193
|
-
*
|
|
8611
|
+
* mapView.Paths.add(coordinate, { color: '#ff0000' });
|
|
8194
8612
|
*/
|
|
8195
8613
|
add(coordinate: Coordinate[], options?: TAddPathOptions): Path;
|
|
8196
8614
|
/**
|
|
8197
8615
|
* Removes a specific path ({@link Path}) from the map.
|
|
8198
8616
|
* @param path The path to be removed.
|
|
8199
8617
|
* @example
|
|
8200
|
-
*
|
|
8618
|
+
* mapView.Paths.remove(path);
|
|
8201
8619
|
*/
|
|
8202
8620
|
remove(path: Path): void;
|
|
8203
8621
|
/**
|
|
8204
8622
|
* Removes all paths ({@link Path}) from the map.
|
|
8205
8623
|
*
|
|
8206
8624
|
* @example
|
|
8207
|
-
*
|
|
8625
|
+
* mapView.Paths.removeAll();
|
|
8208
8626
|
*/
|
|
8209
8627
|
removeAll(): Path[];
|
|
8210
8628
|
}
|
|
@@ -8356,6 +8774,17 @@ declare module '@mappedin/react-sdk/mappedin-js/src/navigation/index' {
|
|
|
8356
8774
|
destinationColor?: string;
|
|
8357
8775
|
};
|
|
8358
8776
|
};
|
|
8777
|
+
/**
|
|
8778
|
+
* When a user needs to get from point A to point B, drawing a path on the map helps them to navigate to their destination. It can help them to visualize the route they'll need to take, like a good treasure map.
|
|
8779
|
+
|
|
8780
|
+
* Navigation is a helper class to display wayfinding easily on the map. Functionality of Navigation could be replicated by drawing the paths using {@link Paths} and adding well designed tooltips at connection points.
|
|
8781
|
+
*
|
|
8782
|
+
* This class is accessed using {@link MapView.Navigation}.
|
|
8783
|
+
*
|
|
8784
|
+
* {@link Navigation.draw} allows for easily drawing multiple components that make up a wayfinding illustration. It shows a human figure to mark the start point, a path with animated directional arrows, pulses in the direction of travel and a pin to mark the destination. Each of these components can be customized to match an app's style.
|
|
8785
|
+
*
|
|
8786
|
+
* Refer to the [Drawing Navigation](https://developer.mappedin.com/web-sdk/wayfinding#drawing-navigation) in the Wayfinding Guide for more information and interactive examples.
|
|
8787
|
+
*/
|
|
8359
8788
|
export class Navigation {
|
|
8360
8789
|
#private;
|
|
8361
8790
|
/**
|
|
@@ -8481,12 +8910,29 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/style' {
|
|
|
8481
8910
|
|
|
8482
8911
|
declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/outdoor' {
|
|
8483
8912
|
import { type RendererCore, type Position } from '@mappedin/core-sdk';
|
|
8913
|
+
/**
|
|
8914
|
+
* The outdoor map shown around the Mappedin indoor map can be manipulated to show or hide additional information. It can be used to add GeoJSON based geometry, images, deck.gl layers and more.
|
|
8915
|
+
*
|
|
8916
|
+
* The outdoor map is accessed using {@link MapView.Outdoor.map}, which returns a maplibregl.Map object.
|
|
8917
|
+
* [MapLibre GL JS](https://maplibre.org/maplibre-gl-js/docs/) is a TypeScript library that uses WebGL to render interactive maps from vector tiles in a browser. The Mappedin SDK makes use of it to display the outdoor map.
|
|
8918
|
+
*
|
|
8919
|
+
* By providing access to the MapLibre map used to draw the outdoor map, the Mappedin SDK enables developers to draw on and manipulate the outdoor map.
|
|
8920
|
+
* Developers can use most capabilities of MapLibre GL JS with key exceptions being Interactivity and Camera, which are not available.
|
|
8921
|
+
*
|
|
8922
|
+
* User touch and click events are handled by Mappedin JS and are not propagated to the outdoor map layer. Camera movement is also handled by Mappedin JS and cannot be manipulated using MapLibre controls.
|
|
8923
|
+
*
|
|
8924
|
+
* Refer to the [Outdoor Map Guide](https://developer.mappedin.com/web-sdk/outdoor-map) for more information and interactive examples.
|
|
8925
|
+
*/
|
|
8484
8926
|
export default class Outdoor {
|
|
8485
8927
|
#private;
|
|
8486
8928
|
/**
|
|
8487
8929
|
* @internal
|
|
8488
8930
|
*/
|
|
8489
8931
|
constructor(core: RendererCore, hiddenOutdoorGeometry?: [Position, string[]][]);
|
|
8932
|
+
/**
|
|
8933
|
+
* Set the style of the outdoor map. Use one of [Mappedin's predefined styles](https://developer.mappedin.com/web-sdk/outdoor-map#styles) or link to a custom style.
|
|
8934
|
+
* @param style {any}
|
|
8935
|
+
*/
|
|
8490
8936
|
setStyle(style: any): void;
|
|
8491
8937
|
/**
|
|
8492
8938
|
* Returns a Maplibre map for advanced usage.
|
|
@@ -8494,8 +8940,8 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/outdoor' {
|
|
|
8494
8940
|
* @returns {object} Maplibre map instance
|
|
8495
8941
|
*
|
|
8496
8942
|
* Limitations:
|
|
8497
|
-
* - Maplibre interaction events are not supported
|
|
8498
|
-
* - Maplibre markers and labels may overlap as they are not integrated with the
|
|
8943
|
+
* - Maplibre interaction events are not supported, use Mappedin JS interaction events.
|
|
8944
|
+
* - Maplibre markers and labels may overlap as they are not integrated with the Mappedin JS collision engine.
|
|
8499
8945
|
*/
|
|
8500
8946
|
get map(): import("@packages/internal/outdoor-context-v4").Map | undefined;
|
|
8501
8947
|
/**
|
|
@@ -8507,16 +8953,16 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/outdoor' {
|
|
|
8507
8953
|
*/
|
|
8508
8954
|
get visible(): boolean;
|
|
8509
8955
|
/**
|
|
8510
|
-
* Show the outdoor
|
|
8956
|
+
* Show the outdoor map.
|
|
8511
8957
|
*/
|
|
8512
8958
|
show(): void;
|
|
8513
8959
|
/**
|
|
8514
|
-
* Hide the outdoor
|
|
8960
|
+
* Hide the outdoor map.
|
|
8515
8961
|
* @param excludedStyleLayerIds {string[]}
|
|
8516
8962
|
*/
|
|
8517
8963
|
hide(excludedStyleLayerIds?: string[]): void;
|
|
8518
8964
|
/**
|
|
8519
|
-
* Set outdoor view opacity
|
|
8965
|
+
* Set outdoor view opacity.
|
|
8520
8966
|
* @param targetOpacity {number | 'initial'}
|
|
8521
8967
|
* @param excludedStyleLayerIds {string[]}
|
|
8522
8968
|
*/
|
|
@@ -8529,6 +8975,25 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/images' {
|
|
|
8529
8975
|
import { Image } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
|
|
8530
8976
|
import type { GeojsonApiMapObject } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object';
|
|
8531
8977
|
import type { Space, Door, Coordinate } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
8978
|
+
/**
|
|
8979
|
+
* Images can enhance the fidelity of an indoor map. They can be used to add custom branding, highlight important features, or provide additional information to users.
|
|
8980
|
+
* Images can be placed on any {@link Door}, {@link Space}, or {@link Coordinate} on the map and given a verticalOffset to control the height at which the image is displayed.
|
|
8981
|
+
*
|
|
8982
|
+
* This class is accessed using {@link MapView.Images}.
|
|
8983
|
+
*
|
|
8984
|
+
* JPEG and PNG images are supported. It's important to consider the size of all unique image files displayed on a map at one time.
|
|
8985
|
+
* Using many unique images may cause instability on mobile devices with limited GPU memory. The Mappedin SDK will cache and reuse images that have the same URL, resulting in reduced memory usage.
|
|
8986
|
+
*
|
|
8987
|
+
* The following calculations illustrates how much memory is used for a given image:
|
|
8988
|
+
*
|
|
8989
|
+
* Formula: `width * height * 4 bytes/pixel = memory used`
|
|
8990
|
+
*
|
|
8991
|
+
* 512 x 512 Pixel Image: `512px * 512px * 4 bytes/pixel = 1MB`
|
|
8992
|
+
*
|
|
8993
|
+
* 4096 x 4096 Pixel Image: `4096px * 4096px * 4 bytes/pixel = 64MB`
|
|
8994
|
+
*
|
|
8995
|
+
* Refer to the [Images Guide](https://developer.mappedin.com/web-sdk/images-textures) for more information and interactive examples.
|
|
8996
|
+
*/
|
|
8532
8997
|
export class Images {
|
|
8533
8998
|
#private;
|
|
8534
8999
|
/**
|
|
@@ -8557,7 +9022,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/images' {
|
|
|
8557
9022
|
* @returns {Image | undefined} The created {@link Image}, or undefined if creation failed.
|
|
8558
9023
|
* @example
|
|
8559
9024
|
* // Add an interactive {@link Image} to the map with custom HTML content.
|
|
8560
|
-
*
|
|
9025
|
+
* mapView.Images.add(coordinate, '<div>Image Content</div>', { interactive: true });
|
|
8561
9026
|
*/
|
|
8562
9027
|
add(target: Space | Door | Coordinate, url: string, options: TAddImageOptions): Image;
|
|
8563
9028
|
/**
|
|
@@ -8572,7 +9037,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/images' {
|
|
|
8572
9037
|
* Remove all the images from the map.
|
|
8573
9038
|
*
|
|
8574
9039
|
* @example
|
|
8575
|
-
*
|
|
9040
|
+
* mapView.Images.removeAll();
|
|
8576
9041
|
*/
|
|
8577
9042
|
removeAll(): Image[];
|
|
8578
9043
|
}
|
|
@@ -8873,6 +9338,11 @@ declare module '@mappedin/react-sdk/mappedin-js/src/search/external' {
|
|
|
8873
9338
|
import type MapData from '@mappedin/react-sdk/mappedin-js/src/map-data';
|
|
8874
9339
|
import type { InternalSearch, SearchOptions, SuggestOptions } from '@mappedin/react-sdk/mappedin-js/src/search/internal';
|
|
8875
9340
|
import type { MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
9341
|
+
/**
|
|
9342
|
+
* Search allows users to search for locations, categories, and other points of interest within the venue.
|
|
9343
|
+
*
|
|
9344
|
+
* Refer to the [Search Guide](https://developer.mappedin.com/web-sdk/enterprise-data#enterprise-search) for more information and interactive examples.
|
|
9345
|
+
*/
|
|
8876
9346
|
export class Search {
|
|
8877
9347
|
#private;
|
|
8878
9348
|
/**
|
|
@@ -8887,7 +9357,16 @@ declare module '@mappedin/react-sdk/mappedin-js/src/search/external' {
|
|
|
8887
9357
|
enabled?: boolean;
|
|
8888
9358
|
});
|
|
8889
9359
|
/**
|
|
8890
|
-
*
|
|
9360
|
+
* Use query to search for locations based on a string input:
|
|
9361
|
+
*
|
|
9362
|
+
* - {@link EnterpriseLocation}: Specific places such as stores, restaurants, or washrooms.
|
|
9363
|
+
* - {@link EnterpriseCategory}: Groups of locations, such as "Food Court" or "Electronics."
|
|
9364
|
+
* - {@link Places}: Any main objects that can be searched for such as Space, Door, Point of Interest
|
|
9365
|
+
*
|
|
9366
|
+
* Search query returns a list of matching {@ link SearchResults} based on the input string.
|
|
9367
|
+
*
|
|
9368
|
+
* {@link SearchResults} include information about the type of match, the score (relevance), and detailed metadata about the matching items.
|
|
9369
|
+
*
|
|
8891
9370
|
* @param term - The search term.
|
|
8892
9371
|
* @param options - The search options.
|
|
8893
9372
|
* @returns The search results.
|
|
@@ -8899,7 +9378,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/search/external' {
|
|
|
8899
9378
|
*/
|
|
8900
9379
|
query(term: string, options?: SearchOptions): ReturnType<typeof InternalSearch.prototype.search>;
|
|
8901
9380
|
/**
|
|
8902
|
-
* Suggests the names of places, locations, and categories.
|
|
9381
|
+
* Suggests the names of places, locations, and categories based on partial input. This is useful for creating an autocomplete feature for a search bar.
|
|
8903
9382
|
* @param term - The search term.
|
|
8904
9383
|
* @param options - The suggest options.
|
|
8905
9384
|
* @returns The search suggestions.
|
|
@@ -9003,7 +9482,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/analytics/customer' {
|
|
|
9003
9482
|
/**
|
|
9004
9483
|
* Captures an analytic event with a custom target and query payload.
|
|
9005
9484
|
*
|
|
9006
|
-
* @param target - The event name or target can be
|
|
9485
|
+
* @param target - The event name or target can be one of: `$select-location`, `$select-category`, `$query-suggest`, `$query-search`
|
|
9007
9486
|
* @param query - The payload associated with the event.
|
|
9008
9487
|
* @returns A promise that resolves to the server response or void.
|
|
9009
9488
|
*/
|
|
@@ -10334,17 +10813,22 @@ declare module '@mappedin/react-sdk/geojson/src/systems/exporter/exporter' {
|
|
|
10334
10813
|
}
|
|
10335
10814
|
|
|
10336
10815
|
declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/floor-object' {
|
|
10337
|
-
import type { ParsedMVF } from '@mappedin/mvf';
|
|
10816
|
+
import type { FloorProperties as MVFFloor, ParsedMVF } from '@mappedin/mvf';
|
|
10338
10817
|
import type { RendererCore } from '@mappedin/core-sdk';
|
|
10339
10818
|
import type { AggregatedStyleMap } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/utils';
|
|
10340
10819
|
import type { TShow3DMapOptions } from '@mappedin/react-sdk/mappedin-js/src';
|
|
10341
|
-
export class FloorObject {
|
|
10820
|
+
export class FloorObject implements MVFFloor {
|
|
10342
10821
|
id: string;
|
|
10343
|
-
name
|
|
10822
|
+
name?: string;
|
|
10344
10823
|
elevation: number;
|
|
10345
10824
|
containerId: string;
|
|
10825
|
+
externalId: string;
|
|
10826
|
+
metadata?: Partial<Record<string, unknown>> | undefined;
|
|
10827
|
+
shortName?: string | undefined;
|
|
10828
|
+
subtitle?: string | undefined;
|
|
10346
10829
|
layers: Map<string, string>;
|
|
10347
|
-
|
|
10830
|
+
floorStackId: string;
|
|
10831
|
+
constructor(parentId: string, floor: MVFFloor, renderer: RendererCore, options: TShow3DMapOptions, mvf?: ParsedMVF, styleMap?: AggregatedStyleMap);
|
|
10348
10832
|
load: () => this;
|
|
10349
10833
|
}
|
|
10350
10834
|
}
|
|
@@ -10390,6 +10874,28 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/utils' {
|
|
|
10390
10874
|
export function tweenToPromise(tween: Tween): Promise<void>;
|
|
10391
10875
|
}
|
|
10392
10876
|
|
|
10877
|
+
declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/floor-stack-object' {
|
|
10878
|
+
import type { RendererCore } from '@mappedin/core-sdk';
|
|
10879
|
+
import type { FloorId, FloorStack as MVFFloorStack } from '@mappedin/mvf';
|
|
10880
|
+
import type { FloorObject } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/floor-object';
|
|
10881
|
+
export class FloorStackObject implements Omit<MVFFloorStack, 'maps' | 'floors'> {
|
|
10882
|
+
id: MVFFloorStack['id'];
|
|
10883
|
+
externalId: MVFFloorStack['externalId'];
|
|
10884
|
+
name: MVFFloorStack['name'];
|
|
10885
|
+
type: MVFFloorStack['type'];
|
|
10886
|
+
floorIds: FloorId[];
|
|
10887
|
+
/** Sorted floor objects by elevation */
|
|
10888
|
+
floorObjects: FloorObject[];
|
|
10889
|
+
floorObjectsByElevation: Map<number, FloorObject>;
|
|
10890
|
+
metadata?: MVFFloorStack['metadata'];
|
|
10891
|
+
footprint?: MVFFloorStack['footprint'];
|
|
10892
|
+
containerId: string;
|
|
10893
|
+
constructor(floorStack: MVFFloorStack, parentId: string, renderer: RendererCore);
|
|
10894
|
+
get defaultFloor(): FloorObject;
|
|
10895
|
+
addFloor(floor: FloorObject): void;
|
|
10896
|
+
}
|
|
10897
|
+
}
|
|
10898
|
+
|
|
10393
10899
|
declare module '@mappedin/react-sdk/geojson/src/components/style' {
|
|
10394
10900
|
import type { LineStyle } from '@mappedin/react-sdk/geojson/src/renderer';
|
|
10395
10901
|
export const DEFAULT_COLOR = "#ffffff";
|
|
@@ -11197,7 +11703,7 @@ declare module '@mappedin/react-sdk/geojson/src/systems/camera/constants' {
|
|
|
11197
11703
|
export const ZRANGE = 100;
|
|
11198
11704
|
export const WHEEL_ZOOM_MULTIPLIER = 10000;
|
|
11199
11705
|
export const MIN_MERCATOR_ZOOM_LEVEL = 0;
|
|
11200
|
-
export const MAX_MERCATOR_ZOOM_LEVEL =
|
|
11706
|
+
export const MAX_MERCATOR_ZOOM_LEVEL = 24;
|
|
11201
11707
|
export const BLOCK_MERCATOR_ZOOM_LEVEL = 17;
|
|
11202
11708
|
export const ROOM_MERCATOR_ZOOM_LEVEL = 20;
|
|
11203
11709
|
export const EVENTS: readonly ["change", "pan-start", "pan-end", "rotate-start", "rotate-end", "zoom-start", "zoom-end", "multi-start", "multi-end", "multi-cancel", "pedestal-start", "pedestal-change", "pedestal-end", "user-pan-start", "user-pedestal-start", "user-rotate-start", "user-dolly-start", "user-zoom-start", "user-tilt-start", "user-pan-end", "user-pedestal-end", "user-rotate-end", "user-dolly-end", "user-zoom-end", "user-tilt-end", "position-updated", "zoom-updated", "tilt-updated", "rotation-updated"];
|