@mappedin/mappedin-js 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-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-PWZP2C7K.js +1 -0
- package/lib/esm/{chunk-QQ53JNBN.js → chunk-YMYGJ25S.js} +1 -1
- package/lib/esm/index.d.ts +612 -99
- package/lib/esm/index.js +1 -1
- package/lib/esm/{inspector-XELVREHK.js → inspector-Q5B4ECED.js} +1 -1
- package/lib/esm/{internal-OEEGR6LG.js → internal-YH3YX2IQ.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-KMFATDBF.js +0 -1
package/lib/esm/index.d.ts
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
// ../mappedin-js/geojson
|
|
9
9
|
// ../mappedin-js/@packages/internal/common
|
|
10
10
|
// ../mappedin-js/@mappedin/core-sdk
|
|
11
|
+
// ../mappedin-js/@packages/internal/outdoor-context-v4
|
|
11
12
|
// ../mappedin-js/@packages/internal/geojson-navigator
|
|
12
13
|
// ../mappedin-js/@mappedin/mvf/dist/locale
|
|
13
14
|
// ../mappedin-js/three
|
|
@@ -16,7 +17,6 @@
|
|
|
16
17
|
// ../mappedin-js/@tweenjs/tween.js
|
|
17
18
|
// ../mappedin-js/@turf/turf
|
|
18
19
|
// ../mappedin-js/@packages/internal/quad-tree
|
|
19
|
-
// ../mappedin-js/@packages/internal/outdoor-context-v4
|
|
20
20
|
// ../mappedin-js/minisearch
|
|
21
21
|
// ../mappedin-js/three/addons/loaders/GLTFLoader.js
|
|
22
22
|
// ../mappedin-js/@mapbox/point-geometry
|
|
@@ -40,6 +40,7 @@ declare module '@mappedin/mappedin-js' {
|
|
|
40
40
|
import type { InsetPadding, InsetPaddingOption, Shading, PaintStyle, LineStyle, WatermarkOptions } from '@mappedin/mappedin-js/geojson/src';
|
|
41
41
|
import { enableTestMode } from '@mappedin/mappedin-js/geojson/src';
|
|
42
42
|
export type { PubSub } from '@packages/internal/common/pubsub';
|
|
43
|
+
import type { TMappedinMapLibreOverlayEvents } from '@mappedin/mappedin-js/mappedin-js/src/maplibre-overlay';
|
|
43
44
|
import { MappedinMapLibreOverlay } from '@mappedin/mappedin-js/mappedin-js/src/maplibre-overlay';
|
|
44
45
|
import type { LanguagePackHydrationItem } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
45
46
|
import { type Environment } from '@packages/internal/mvf-utils/mvf-utils';
|
|
@@ -351,14 +352,20 @@ declare module '@mappedin/mappedin-js' {
|
|
|
351
352
|
*/
|
|
352
353
|
export const getMapDataEnterprise: (userOptions: TGetMapDataOptions) => Promise<MapData>;
|
|
353
354
|
/**
|
|
354
|
-
*
|
|
355
|
+
* 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).
|
|
356
|
+
*
|
|
357
|
+
* It is also possible to utilize the opposite architecture, by adding a MapView to a MapLibre Map.
|
|
358
|
+
* 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.
|
|
359
|
+
*
|
|
360
|
+
* Refer to the [Mappedin MapLibre Overlay](https://developer.mappedin.com/web-sdk/mappedin-maplibre-overlay) for more information and interactive examples.
|
|
361
|
+
|
|
355
362
|
* @experimental
|
|
356
363
|
*/
|
|
357
364
|
export const createMapLibreOverlay: (mapData: MapData, showMapOptions?: TShow3DMapOptions) => MappedinMapLibreOverlay;
|
|
358
365
|
export const show3dMapGeojson: (el: HTMLElement, mapData: MapData, options?: TShow3DMapOptions) => Promise<MapView>;
|
|
359
366
|
export const show3dMap: (el: HTMLElement, mapData: MapData, options?: TShow3DMapOptions) => Promise<MapView>;
|
|
360
367
|
export { parseMVF, unzipMVF, enableTestMode };
|
|
361
|
-
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, };
|
|
368
|
+
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, };
|
|
362
369
|
export type * from 'geojson';
|
|
363
370
|
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/mappedin-js/mappedin-js/src/types';
|
|
364
371
|
export { WALLS, DOORS } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
@@ -784,7 +791,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects' {
|
|
|
784
791
|
import Image from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/image';
|
|
785
792
|
import FloorStack from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/floor-stack';
|
|
786
793
|
import type { MapDataRecords } from '@mappedin/mappedin-js/mappedin-js/src/utils/data-creation';
|
|
787
|
-
import type { AnnotationCollection, ParsedMVF, Connection as MVFConnection, EntranceCollection, NodeCollection, ObstructionCollection, SpaceCollection, FloorProperties as MVFFloor, EnterpriseLocation as MVFEnterpriseLocation, EnterpriseCategory as MVFEnterpriseCategory, Language } from '@mappedin/mvf';
|
|
794
|
+
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';
|
|
788
795
|
import { AnalyticsInternal } from '@mappedin/mappedin-js/mappedin-js/src/analytics';
|
|
789
796
|
import EnterpriseLocation from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/location';
|
|
790
797
|
import EnterpriseCategory from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/category';
|
|
@@ -936,6 +943,8 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects' {
|
|
|
936
943
|
get nodes(): Node[];
|
|
937
944
|
get locations(): EnterpriseLocation[];
|
|
938
945
|
get categories(): EnterpriseCategory[];
|
|
946
|
+
get mvfFloors(): MVFFloor[];
|
|
947
|
+
get mvfFloorStacks(): MVFFloorStack[];
|
|
939
948
|
/**
|
|
940
949
|
* Retrieves an object by its type and ID.
|
|
941
950
|
*
|
|
@@ -965,12 +974,18 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects' {
|
|
|
965
974
|
getMVFFeatureById(type: 'space', id: string): SpaceCollection['features'][number] | undefined;
|
|
966
975
|
getMVFFeatureById(type: 'node', id: string): NodeCollection['features'][number] | undefined;
|
|
967
976
|
getMVFFeatureById(type: 'obstruction', id: string): ObstructionCollection['features'][number] | undefined;
|
|
968
|
-
getMVFFeatureById(type: '
|
|
977
|
+
getMVFFeatureById(type: 'floor', id: string): MVFFloor | undefined;
|
|
978
|
+
getMVFFeatureById(type: 'floor-stack', id: string): MVFFloorStack | undefined;
|
|
969
979
|
getMVFFeatureById(type: 'connection', id: string): MVFConnection | undefined;
|
|
970
980
|
getMVFFeatureById(type: 'entrance', id: string): EntranceCollection['features'][number] | undefined;
|
|
971
981
|
getMVFFeatureById(type: 'annotation', id: string): AnnotationCollection['features'][number] | undefined;
|
|
972
982
|
getMVFFeatureById(type: string, id: string): object | undefined;
|
|
973
983
|
getMVFFeatureByNodeId(type: 'connection', id: string): MVFConnection | undefined;
|
|
984
|
+
/**
|
|
985
|
+
* Retrieves all MVF features of a given type. Safer than referencing the mvf's deprecated collections directly.
|
|
986
|
+
*/
|
|
987
|
+
getMVFFeatureByType(type: 'floor-stack'): MVFFloorStack[];
|
|
988
|
+
getMVFFeatureByType(type: 'floor'): MVFFloor[];
|
|
974
989
|
getPropTranslation(type: 'enterprise-location' | 'enterprise-category', prop: string, id: string, fallback: MVFEnterpriseLocation[keyof MVFEnterpriseLocation] | MVFEnterpriseCategory[keyof MVFEnterpriseCategory]): unknown;
|
|
975
990
|
/**
|
|
976
991
|
* change the langauge of the data objects in mapdata
|
|
@@ -1007,13 +1022,20 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view' {
|
|
|
1007
1022
|
import type { Camera, Labels, Markers, Models, Paths, Exporter, Directions, Style, Outdoor, Images } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson';
|
|
1008
1023
|
import type { BlueDot } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/blue-dot/blue-dot';
|
|
1009
1024
|
import type MapData from '@mappedin/mappedin-js/mappedin-js/src/map-data';
|
|
1010
|
-
import type { Annotation, Coordinate, Door, Floor, MapObject, PointOfInterest, Space, Node, EnterpriseLocation } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
1025
|
+
import type { Annotation, Coordinate, Door, Floor, MapObject, PointOfInterest, Space, Node, EnterpriseLocation, FloorStack } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
1011
1026
|
import type { DOORS, WALLS, TGetDirectionsOptions, TGetState, TNavigationTarget, TUpdateState, TUpdateStates } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
1012
1027
|
import type { Label, Marker, Image, Shape } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
|
|
1013
1028
|
import type { TEventPayload } from '@mappedin/mappedin-js/mappedin-js/src/events';
|
|
1014
1029
|
import type { Shapes } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/shapes';
|
|
1015
1030
|
import type { StackedMaps, TCollapseOptions, TExpandOptions } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/stacked-maps/stacked-maps';
|
|
1016
1031
|
import type { InspectorOption } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/inspector/inspector';
|
|
1032
|
+
/**
|
|
1033
|
+
* The MapView class is the main class for rendering and interacting with the map.
|
|
1034
|
+
*
|
|
1035
|
+
* It provides a set of controls for manipulating the map's elements and state.
|
|
1036
|
+
*
|
|
1037
|
+
* For help getting started, refer to the [Getting Started Guide](https://developer.mappedin.com/web-sdk/getting-started).
|
|
1038
|
+
*/
|
|
1017
1039
|
export class MapView extends PubSub<TEvents> {
|
|
1018
1040
|
#private;
|
|
1019
1041
|
/**
|
|
@@ -1081,9 +1103,14 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view' {
|
|
|
1081
1103
|
*
|
|
1082
1104
|
* | target | state |
|
|
1083
1105
|
* |-----------|----------------|
|
|
1106
|
+
* | {@link Door} | {@link TDoorsState} |
|
|
1084
1107
|
* | {@link Label} | {@link TLabelState} |
|
|
1085
1108
|
* | {@link MapObject} | {@link TGeometryState} |
|
|
1109
|
+
* | {@link Marker} | {@link TMarkerState} |
|
|
1086
1110
|
* | {@link Space} | {@link TGeometryState} |
|
|
1111
|
+
* | {@link Shape} | {@link TShapeState} |
|
|
1112
|
+
* | {@link DOORS} | {@link TDoorsState} |
|
|
1113
|
+
* | {@link WALLS} | {@link TWallsState} |
|
|
1087
1114
|
*
|
|
1088
1115
|
* @param target The target to update.
|
|
1089
1116
|
* @param state The new state to apply to the target.
|
|
@@ -1094,6 +1121,10 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view' {
|
|
|
1094
1121
|
updateState<T extends Space | MapObject | Label | Marker | Shape | Door | WALLS | DOORS>(target: T, state: TUpdateState<T>): any;
|
|
1095
1122
|
updateState<T extends string & NonNullable<unknown>>(target: T, state: TUpdateStates): any;
|
|
1096
1123
|
update: () => void;
|
|
1124
|
+
/**
|
|
1125
|
+
* Retrieves the map data for the current map.
|
|
1126
|
+
* @returns The {@link MapData} for the current map.
|
|
1127
|
+
*/
|
|
1097
1128
|
getMapData(): {
|
|
1098
1129
|
[x: string]: MapData;
|
|
1099
1130
|
};
|
|
@@ -1109,12 +1140,12 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view' {
|
|
|
1109
1140
|
/**
|
|
1110
1141
|
* @experimental
|
|
1111
1142
|
*/
|
|
1112
|
-
expand(opts?: TExpandOptions): Promise<void
|
|
1143
|
+
expand(opts?: TExpandOptions): Promise<void>;
|
|
1113
1144
|
/**
|
|
1114
1145
|
* @experimental
|
|
1115
1146
|
* @hidden
|
|
1116
1147
|
*/
|
|
1117
|
-
collapse(opts?: TCollapseOptions): Promise<void
|
|
1148
|
+
collapse(opts?: TCollapseOptions): Promise<void>;
|
|
1118
1149
|
/**
|
|
1119
1150
|
* Adds a map to the MapView.
|
|
1120
1151
|
* @param mapData The map data to add.
|
|
@@ -1127,6 +1158,15 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view' {
|
|
|
1127
1158
|
* @param floor The floor or floor ID to set.
|
|
1128
1159
|
*/
|
|
1129
1160
|
setFloor(floor: Floor | string): void;
|
|
1161
|
+
/**
|
|
1162
|
+
* Sets the current floor stack ({@link FloorStack}) of the map. The default floor of the stack will be set as the current floor.
|
|
1163
|
+
* @param floorStack The floor stack or floor stack ID to set.
|
|
1164
|
+
*/
|
|
1165
|
+
setFloorStack(floorStack: FloorStack | string): void;
|
|
1166
|
+
/**
|
|
1167
|
+
* The current floor stack ({@link FloorStack}) of the map.
|
|
1168
|
+
*/
|
|
1169
|
+
get currentFloorStack(): FloorStack;
|
|
1130
1170
|
/**
|
|
1131
1171
|
* The current floor ({@link Floor}) of the map.
|
|
1132
1172
|
*/
|
|
@@ -1254,7 +1294,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view' {
|
|
|
1254
1294
|
destroy(): void;
|
|
1255
1295
|
/**
|
|
1256
1296
|
* @experimental
|
|
1257
|
-
* Enable debug interface
|
|
1297
|
+
* Enable debug interface. Learn more about the debug interface in the [Debug Mode Guide](https://developer.mappedin.com/web-sdk/getting-started#debug-mode).
|
|
1258
1298
|
*/
|
|
1259
1299
|
enableDebug(opitons?: InspectorOption): Promise<void>;
|
|
1260
1300
|
}
|
|
@@ -1301,10 +1341,11 @@ declare module '@mappedin/mappedin-js/geojson/src' {
|
|
|
1301
1341
|
declare module '@mappedin/mappedin-js/mappedin-js/src/maplibre-overlay' {
|
|
1302
1342
|
import { MapView } from '@mappedin/mappedin-js/mappedin-js/src/map-view';
|
|
1303
1343
|
import type MapData from '@mappedin/mappedin-js/mappedin-js/src/map-data';
|
|
1304
|
-
import type
|
|
1305
|
-
import { MapLibreOverlay } from '@mappedin/mappedin-js/geojson/src/maplibre-overlay';
|
|
1344
|
+
import { type TShow3DMapOptions } from '@mappedin/mappedin-js/mappedin-js/src';
|
|
1306
1345
|
import type { Position } from '@mappedin/core-sdk';
|
|
1307
|
-
|
|
1346
|
+
import type { IControl } from '@packages/internal/outdoor-context-v4';
|
|
1347
|
+
import { PubSub } from '@packages/internal/common';
|
|
1348
|
+
export type TMappedinMapLibreOverlayEvents = {
|
|
1308
1349
|
/**
|
|
1309
1350
|
* Event emitted when the MappedinMap is loaded
|
|
1310
1351
|
*/
|
|
@@ -1318,12 +1359,52 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/maplibre-overlay' {
|
|
|
1318
1359
|
*/
|
|
1319
1360
|
mapData: MapData;
|
|
1320
1361
|
};
|
|
1321
|
-
}
|
|
1362
|
+
};
|
|
1363
|
+
/**
|
|
1364
|
+
* 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).
|
|
1365
|
+
*
|
|
1366
|
+
* It is also possible to utilize the opposite architecture, by adding a MapView to a MapLibre Map.
|
|
1367
|
+
* 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.
|
|
1368
|
+
*
|
|
1369
|
+
* Use {@link createMapLibreOverlay} to instantiate this class.
|
|
1370
|
+
*
|
|
1371
|
+
* Refer to the [Mappedin MapLibre Overlay](https://developer.mappedin.com/web-sdk/mappedin-maplibre-overlay) for more information and interactive examples.
|
|
1372
|
+
*/
|
|
1373
|
+
export class MappedinMapLibreOverlay extends PubSub<TMappedinMapLibreOverlayEvents> implements IControl {
|
|
1322
1374
|
#private;
|
|
1323
1375
|
static instance: MappedinMapLibreOverlay;
|
|
1376
|
+
/** @internal */
|
|
1324
1377
|
constructor(origin: Position | undefined, mapData: MapData, options?: TShow3DMapOptions);
|
|
1378
|
+
/** @internal */
|
|
1325
1379
|
onAdd(map: any): HTMLDivElement;
|
|
1380
|
+
/** @internal */
|
|
1326
1381
|
onRemove(): void;
|
|
1382
|
+
/**
|
|
1383
|
+
* Subscribe to an event.
|
|
1384
|
+
* @example
|
|
1385
|
+
* ```ts
|
|
1386
|
+
* const handler = ({ mapView, mapData }) => {
|
|
1387
|
+
* console.log('MapView loaded');
|
|
1388
|
+
* };
|
|
1389
|
+
* overlay.on('loaded', handler);
|
|
1390
|
+
* ```
|
|
1391
|
+
*/
|
|
1392
|
+
on: <EventName extends keyof TMappedinMapLibreOverlayEvents>(eventName: EventName, fn: (payload: TMappedinMapLibreOverlayEvents[EventName] extends {
|
|
1393
|
+
data: null;
|
|
1394
|
+
} ? TMappedinMapLibreOverlayEvents[EventName]["data"] : TMappedinMapLibreOverlayEvents[EventName]) => void) => void;
|
|
1395
|
+
/**
|
|
1396
|
+
* Unsubscribe from an event.
|
|
1397
|
+
* @example
|
|
1398
|
+
* ```ts
|
|
1399
|
+
* const handler = ({ mapView, mapData }) => {
|
|
1400
|
+
* console.log('MapView loaded');
|
|
1401
|
+
* };
|
|
1402
|
+
* overlay.off('loaded', handler);
|
|
1403
|
+
* ```
|
|
1404
|
+
*/
|
|
1405
|
+
off: <EventName extends keyof TMappedinMapLibreOverlayEvents>(eventName: EventName, fn: (payload: TMappedinMapLibreOverlayEvents[EventName] extends {
|
|
1406
|
+
data: null;
|
|
1407
|
+
} ? TMappedinMapLibreOverlayEvents[EventName]["data"] : TMappedinMapLibreOverlayEvents[EventName]) => void) => void;
|
|
1327
1408
|
}
|
|
1328
1409
|
}
|
|
1329
1410
|
|
|
@@ -1332,7 +1413,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
|
|
|
1332
1413
|
import type { Coordinate, Floor, Door, Space, MapObject, PointOfInterest, Connection, Annotation, EnterpriseLocation, Node } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
1333
1414
|
import type { Label, Marker, Model, Image, Shape } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
|
|
1334
1415
|
import type { Language, ParsedMVFLocalePack } from '@mappedin/mvf';
|
|
1335
|
-
import {
|
|
1416
|
+
import type { InsetPaddingOption, Position } from '@mappedin/core-sdk';
|
|
1336
1417
|
export type DeepRequired<T> = Required<{
|
|
1337
1418
|
[K in keyof T]: T[K] extends Required<T[K]> ? T[K] : DeepRequired<T[K]>;
|
|
1338
1419
|
}>;
|
|
@@ -1474,11 +1555,11 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
|
|
|
1474
1555
|
export type TDoorsState = {
|
|
1475
1556
|
type: 'doors';
|
|
1476
1557
|
/**
|
|
1477
|
-
* Color of the
|
|
1558
|
+
* Color of the doors.
|
|
1478
1559
|
*/
|
|
1479
1560
|
color: string | 'initial';
|
|
1480
1561
|
/**
|
|
1481
|
-
* Color of the top of
|
|
1562
|
+
* Color of the top of doors, if not set, defaults to the color.
|
|
1482
1563
|
*/
|
|
1483
1564
|
topColor?: string | 'initial';
|
|
1484
1565
|
/**
|
|
@@ -1494,7 +1575,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
|
|
|
1494
1575
|
url?: string;
|
|
1495
1576
|
};
|
|
1496
1577
|
/**
|
|
1497
|
-
* Visibility of the
|
|
1578
|
+
* Visibility of the doors.
|
|
1498
1579
|
*/
|
|
1499
1580
|
visible: boolean;
|
|
1500
1581
|
/**
|
|
@@ -1614,7 +1695,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
|
|
|
1614
1695
|
/**
|
|
1615
1696
|
* The type for updating the state of map elements (colors, texts, etc.).
|
|
1616
1697
|
*/
|
|
1617
|
-
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;
|
|
1698
|
+
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;
|
|
1618
1699
|
export type TUpdateStates = Partial<Omit<TGeometryState, 'interactive' | 'hoverColor' | 'type'>> | Partial<TMarkerState> | Partial<TLabelState> | Partial<TGeometryState>;
|
|
1619
1700
|
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;
|
|
1620
1701
|
/**
|
|
@@ -1697,7 +1778,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
|
|
|
1697
1778
|
/**
|
|
1698
1779
|
* A map element that can be focused on by the camera.
|
|
1699
1780
|
*/
|
|
1700
|
-
export type TFocusable = Floor | Space | Coordinate | MapObject | Connection | PointOfInterest | Door | Annotation | Node
|
|
1781
|
+
export type TFocusable = Floor | Space | Coordinate | MapObject | Connection | PointOfInterest | Door | Annotation | Node | EnterpriseLocation
|
|
1701
1782
|
/**
|
|
1702
1783
|
* @experimental
|
|
1703
1784
|
*/
|
|
@@ -2254,10 +2335,10 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
|
|
|
2254
2335
|
*/
|
|
2255
2336
|
timeout?: number;
|
|
2256
2337
|
/**
|
|
2257
|
-
* Whether to watch the
|
|
2338
|
+
* Whether to watch the device's position.
|
|
2258
2339
|
* @default true
|
|
2259
2340
|
*/
|
|
2260
|
-
|
|
2341
|
+
watchDevicePosition?: boolean;
|
|
2261
2342
|
/**
|
|
2262
2343
|
* Whether to log debug messages.
|
|
2263
2344
|
* @default false
|
|
@@ -2357,6 +2438,12 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/blue-dot/blue-
|
|
|
2357
2438
|
};
|
|
2358
2439
|
/**
|
|
2359
2440
|
* @experimental
|
|
2441
|
+
*
|
|
2442
|
+
* Mappedin JS can use the location provided from an indoor positioning system to display a BlueDot on the map, indicating the user's position.
|
|
2443
|
+
*
|
|
2444
|
+
* This class is accessed using {@link MapView.BlueDot}.
|
|
2445
|
+
*
|
|
2446
|
+
* Further details and interactive examples can be found in the [BlueDot Guide](https://developer.mappedin.com/web-sdk/blue-dot).
|
|
2360
2447
|
*/
|
|
2361
2448
|
export class BlueDot extends PubSub<TBlueDotEvents> {
|
|
2362
2449
|
#private;
|
|
@@ -2417,11 +2504,11 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/blue-dot/blue-
|
|
|
2417
2504
|
follow: (mode: TFollowMode, cameraOptions?: TFollowCameraOptions) => void;
|
|
2418
2505
|
}
|
|
2419
2506
|
export type TFollowMode =
|
|
2420
|
-
/** Camera
|
|
2507
|
+
/** Camera position follows the Blue Dot's position. */
|
|
2421
2508
|
'position-only'
|
|
2422
|
-
/** Camera follows
|
|
2509
|
+
/** Camera position follows the Blue Dot's position. Camera bearing matches the Blue Dot's heading. */
|
|
2423
2510
|
| 'position-and-heading'
|
|
2424
|
-
/** Camera follows
|
|
2511
|
+
/** Camera position follows the Blue Dot's position. Camera bearing is calculated based on the Navigation path. */
|
|
2425
2512
|
| 'position-and-path-direction'
|
|
2426
2513
|
/** Disables follow mode */
|
|
2427
2514
|
| false;
|
|
@@ -2514,6 +2601,12 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/stacked-maps/s
|
|
|
2514
2601
|
export type TCollapseOptions = TCameraAnimationOptions;
|
|
2515
2602
|
type CurrentMapGetter = () => GeojsonApiMapObject | undefined;
|
|
2516
2603
|
/**
|
|
2604
|
+
* 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.
|
|
2605
|
+
*
|
|
2606
|
+
* This class is accessed using {@link MapView.StackedMaps}.
|
|
2607
|
+
*
|
|
2608
|
+
* Refer to the [Stacked Maps Guide](https://developer.mappedin.com/web-sdk/stacked-maps) for more information and interactive examples.
|
|
2609
|
+
*
|
|
2517
2610
|
* @experimental
|
|
2518
2611
|
*/
|
|
2519
2612
|
export class StackedMaps extends PubSub<TStackedMapsEvents> {
|
|
@@ -2552,7 +2645,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/stacked-maps/s
|
|
|
2552
2645
|
*/
|
|
2553
2646
|
setFloorVisiblityMode(mode: 'all-floors' | 'only-current-floor'): void;
|
|
2554
2647
|
/**
|
|
2555
|
-
* Set whether to listen to camera elevation changes to automatically change the floor.
|
|
2648
|
+
* Set whether to listen to camera elevation changes to automatically change the floor. When enabled, the `mapView.on('floor-change')` event is fired
|
|
2556
2649
|
*/
|
|
2557
2650
|
changeFloorOnElevationChanges(value: boolean): void;
|
|
2558
2651
|
/**
|
|
@@ -2724,6 +2817,17 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/navigation' {
|
|
|
2724
2817
|
destinationColor?: string;
|
|
2725
2818
|
};
|
|
2726
2819
|
};
|
|
2820
|
+
/**
|
|
2821
|
+
* 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.
|
|
2822
|
+
|
|
2823
|
+
* 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.
|
|
2824
|
+
*
|
|
2825
|
+
* This class is accessed using {@link MapView.Navigation}.
|
|
2826
|
+
*
|
|
2827
|
+
* {@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.
|
|
2828
|
+
*
|
|
2829
|
+
* Refer to the [Drawing Navigation](https://developer.mappedin.com/web-sdk/wayfinding#drawing-navigation) in the Wayfinding Guide for more information and interactive examples.
|
|
2830
|
+
*/
|
|
2727
2831
|
export class Navigation {
|
|
2728
2832
|
#private;
|
|
2729
2833
|
/**
|
|
@@ -2829,8 +2933,14 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/category'
|
|
|
2829
2933
|
import type { MapDataInternal, EnterpriseLocation } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
2830
2934
|
import BaseMapData from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/base-object';
|
|
2831
2935
|
/**
|
|
2832
|
-
* An EnterpriseCategory
|
|
2936
|
+
* An EnterpriseCategory groups one or more EnterpriseLocation. These allow similar locations to be sorted in a logical fashion.
|
|
2937
|
+
* 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.
|
|
2833
2938
|
*
|
|
2939
|
+
* ```typescript
|
|
2940
|
+
* const categories = mapData.getByType('enterprise-category');
|
|
2941
|
+
* ```
|
|
2942
|
+
*
|
|
2943
|
+
* Refer to the [EnterpriseCategory Guide](https://developer.mappedin.com/web-sdk/enterprise-data#enterprise-categories) for more information and interactive examples.
|
|
2834
2944
|
*/
|
|
2835
2945
|
class EnterpriseCategory extends BaseMapData implements Omit<MVFEnterpriseCategory, 'children' | 'locations'> {
|
|
2836
2946
|
#private;
|
|
@@ -2842,12 +2952,33 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/category'
|
|
|
2842
2952
|
* @internal
|
|
2843
2953
|
*/
|
|
2844
2954
|
readonly __type = "enterprise-category";
|
|
2955
|
+
/**
|
|
2956
|
+
* The name of the category.
|
|
2957
|
+
*/
|
|
2845
2958
|
name: string;
|
|
2959
|
+
/**
|
|
2960
|
+
* The color of the category.
|
|
2961
|
+
*/
|
|
2846
2962
|
color?: string | undefined;
|
|
2963
|
+
/**
|
|
2964
|
+
* The external ID of the category.
|
|
2965
|
+
*/
|
|
2847
2966
|
externalId: string;
|
|
2967
|
+
/**
|
|
2968
|
+
* Extra properties of the category.
|
|
2969
|
+
*/
|
|
2848
2970
|
extra?: Record<string, unknown> | undefined;
|
|
2971
|
+
/**
|
|
2972
|
+
* A URL to the icon of the category.
|
|
2973
|
+
*/
|
|
2849
2974
|
icon?: string | undefined;
|
|
2975
|
+
/**
|
|
2976
|
+
* The icon from the default list of icons.
|
|
2977
|
+
*/
|
|
2850
2978
|
iconFromDefaultList?: string | null | undefined;
|
|
2979
|
+
/**
|
|
2980
|
+
* The sort order of the category.
|
|
2981
|
+
*/
|
|
2851
2982
|
sortOrder: number;
|
|
2852
2983
|
/**
|
|
2853
2984
|
* Checks if the provided instance is of type EnterpriseCategory.
|
|
@@ -2862,7 +2993,13 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/category'
|
|
|
2862
2993
|
constructor(data: MapDataInternal, options: {
|
|
2863
2994
|
mvfData: MVFEnterpriseCategory;
|
|
2864
2995
|
});
|
|
2996
|
+
/**
|
|
2997
|
+
* The child categories of the category.
|
|
2998
|
+
*/
|
|
2865
2999
|
get children(): EnterpriseCategory[];
|
|
3000
|
+
/**
|
|
3001
|
+
* The {@link EnterpriseLocation}s within this category.
|
|
3002
|
+
*/
|
|
2866
3003
|
get locations(): EnterpriseLocation[];
|
|
2867
3004
|
/**
|
|
2868
3005
|
* Serializes the EnterpriseCategory data to JSON.
|
|
@@ -2889,9 +3026,14 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/location'
|
|
|
2889
3026
|
import BaseMapData from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/base-object';
|
|
2890
3027
|
import type Node from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/node';
|
|
2891
3028
|
/**
|
|
2892
|
-
*
|
|
3029
|
+
* An EnterpriseLocation contains metadata about a location, such as its name, description, logo, phone number, social medial links, hours of operation and more.
|
|
3030
|
+
* They can be accessed using the {@link MapData.getByType()} method as shown below.
|
|
3031
|
+
*
|
|
3032
|
+
* ```typescript
|
|
3033
|
+
* const allLocations = mapData.getByType('enterprise-location');
|
|
3034
|
+
* ```
|
|
2893
3035
|
*
|
|
2894
|
-
*
|
|
3036
|
+
* Refer to the [EnterpriseLocation Guide](https://developer.mappedin.com/web-sdk/enterprise-data#enterprise-locations) for more information and interactive examples.
|
|
2895
3037
|
*/
|
|
2896
3038
|
class EnterpriseLocation extends BaseMapData implements Omit<MVFEnterpriseLocation, 'polygons' | 'nodes' | 'links'> {
|
|
2897
3039
|
#private;
|
|
@@ -2903,36 +3045,139 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/location'
|
|
|
2903
3045
|
* @internal
|
|
2904
3046
|
*/
|
|
2905
3047
|
readonly __type = "enterprise-location";
|
|
3048
|
+
/**
|
|
3049
|
+
* The description of the location.
|
|
3050
|
+
*/
|
|
2906
3051
|
description?: string | undefined;
|
|
3052
|
+
/**
|
|
3053
|
+
* The name of the location.
|
|
3054
|
+
*/
|
|
2907
3055
|
name: string;
|
|
3056
|
+
/**
|
|
3057
|
+
* The amenity of the location.
|
|
3058
|
+
*/
|
|
2908
3059
|
amenity?: string | undefined;
|
|
3060
|
+
/**
|
|
3061
|
+
* The external ID of the location.
|
|
3062
|
+
*/
|
|
2909
3063
|
externalId: string;
|
|
3064
|
+
/**
|
|
3065
|
+
* Extra properties of the location.
|
|
3066
|
+
*/
|
|
2910
3067
|
extra?: Record<string, unknown> | undefined;
|
|
3068
|
+
/**
|
|
3069
|
+
* The gallery of the location.
|
|
3070
|
+
*/
|
|
2911
3071
|
gallery?: {
|
|
2912
3072
|
caption?: string | null;
|
|
2913
3073
|
image: string;
|
|
2914
3074
|
embeddedUrl?: string | null;
|
|
2915
3075
|
}[] | undefined;
|
|
3076
|
+
/**
|
|
3077
|
+
* Specific instances of this location with different properties.
|
|
3078
|
+
* Typically, there will be at least one node or polygon defined,
|
|
3079
|
+
* plus one or more other properties that are different from the parent.
|
|
3080
|
+
* The remaining properties will be the same as the parent.
|
|
3081
|
+
|
|
3082
|
+
* For example, suppose there is a location like this:
|
|
3083
|
+
*
|
|
3084
|
+
* ```json
|
|
3085
|
+
* {
|
|
3086
|
+
* "id": "location-id-1",
|
|
3087
|
+
* "name": "Location 1",
|
|
3088
|
+
* "nodes": ["node-1", "node-2"],
|
|
3089
|
+
* "polygons": ["polygon-1", "polygon-2"],
|
|
3090
|
+
* "externalId": "externalId-1",
|
|
3091
|
+
* "description": "Description 1",
|
|
3092
|
+
* }
|
|
3093
|
+
* ```
|
|
3094
|
+
*
|
|
3095
|
+
* (Note that for clarity, we have put strings in for nodes and polygons, but in practice they would be objects.)
|
|
3096
|
+
*
|
|
3097
|
+
* Then suppose it had an `instances` array that contained an object that looked like this:
|
|
3098
|
+
*
|
|
3099
|
+
* ```json
|
|
3100
|
+
* {
|
|
3101
|
+
* "id": "instance-id-1",
|
|
3102
|
+
* "name": "Location 1 - A",
|
|
3103
|
+
* "nodes": ["node-1"],
|
|
3104
|
+
* "polygons": ["polygon-1"],
|
|
3105
|
+
* "externalId": "externalId-1-A",
|
|
3106
|
+
* "description": "Description 1",
|
|
3107
|
+
* }
|
|
3108
|
+
* ```
|
|
3109
|
+
* 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`.
|
|
3110
|
+
* The ID will always be different, but other properties (like the description) are the same as the parent.
|
|
3111
|
+
*
|
|
3112
|
+
* Example use cases:
|
|
3113
|
+
* - 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
|
|
3114
|
+
* 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.
|
|
3115
|
+
* - 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.
|
|
3116
|
+
* 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.
|
|
3117
|
+
*
|
|
3118
|
+
* 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
|
|
3119
|
+
* 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.
|
|
3120
|
+
*/
|
|
3121
|
+
instances?: EnterpriseLocation[] | undefined;
|
|
3122
|
+
/**
|
|
3123
|
+
* A URL to the logo of the location.
|
|
3124
|
+
*/
|
|
2916
3125
|
logo?: string | undefined;
|
|
3126
|
+
/**
|
|
3127
|
+
* The operation hours of the location.
|
|
3128
|
+
*/
|
|
2917
3129
|
operationHours?: OperationHours[] | undefined;
|
|
3130
|
+
/**
|
|
3131
|
+
* The phone number of the location.
|
|
3132
|
+
*/
|
|
2918
3133
|
phone?: {
|
|
2919
3134
|
number: string;
|
|
2920
3135
|
extension?: string;
|
|
2921
3136
|
} | undefined;
|
|
3137
|
+
/**
|
|
3138
|
+
* A URL to the picture of the location.
|
|
3139
|
+
*/
|
|
2922
3140
|
picture?: string | undefined;
|
|
3141
|
+
/**
|
|
3142
|
+
* The short name of the location.
|
|
3143
|
+
*/
|
|
2923
3144
|
shortName?: string | undefined;
|
|
3145
|
+
/**
|
|
3146
|
+
* Whether to show the floating label when an image is present.
|
|
3147
|
+
*/
|
|
2924
3148
|
showFloatingLabelWhenImagePresent?: boolean | undefined;
|
|
3149
|
+
/**
|
|
3150
|
+
* Whether to show the logo.
|
|
3151
|
+
*/
|
|
2925
3152
|
showLogo?: boolean | undefined;
|
|
3153
|
+
/**
|
|
3154
|
+
* The sibling groups of the location.
|
|
3155
|
+
*/
|
|
2926
3156
|
siblingGroups?: SiblingGroup[] | undefined;
|
|
3157
|
+
/**
|
|
3158
|
+
* The social media links of the location.
|
|
3159
|
+
*/
|
|
2927
3160
|
social?: {
|
|
2928
3161
|
facebook?: string;
|
|
2929
3162
|
instagram?: string;
|
|
2930
3163
|
twitter?: string;
|
|
2931
3164
|
website?: string;
|
|
2932
3165
|
} | undefined;
|
|
3166
|
+
/**
|
|
3167
|
+
* The sort order of the location.
|
|
3168
|
+
*/
|
|
2933
3169
|
sortOrder: number;
|
|
3170
|
+
/**
|
|
3171
|
+
* The {@link LocationState}s of the location.
|
|
3172
|
+
*/
|
|
2934
3173
|
states?: LocationState[] | undefined;
|
|
3174
|
+
/**
|
|
3175
|
+
* The tags of the location.
|
|
3176
|
+
*/
|
|
2935
3177
|
tags?: string[] | undefined;
|
|
3178
|
+
/**
|
|
3179
|
+
* The type of the location.
|
|
3180
|
+
*/
|
|
2936
3181
|
type: string;
|
|
2937
3182
|
/**
|
|
2938
3183
|
* Checks if the provided instance is of type EnterpriseLocation.
|
|
@@ -2947,6 +3192,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/location'
|
|
|
2947
3192
|
constructor(data: MapDataInternal, options: {
|
|
2948
3193
|
mvfData: MVFEnterpriseLocation;
|
|
2949
3194
|
categoryIds: string[];
|
|
3195
|
+
locationInstances?: EnterpriseLocation[];
|
|
2950
3196
|
});
|
|
2951
3197
|
get categories(): EnterpriseCategory[];
|
|
2952
3198
|
get coordinates(): Coordinate[];
|
|
@@ -2976,7 +3222,14 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/venue' {
|
|
|
2976
3222
|
import type { Hyperlink, MapDataInternal } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
2977
3223
|
import BaseMapData from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/base-object';
|
|
2978
3224
|
/**
|
|
2979
|
-
*
|
|
3225
|
+
* The EnterpriseVenue class holds metadata bout the map, which includes the map name, supported languages, default language, top locations and more.
|
|
3226
|
+
* It can be accessed using the {@link MapData.getByType()} method as shown below.
|
|
3227
|
+
*
|
|
3228
|
+
* ```typescript
|
|
3229
|
+
* const venue = mapData.getByType('venue');
|
|
3230
|
+
* ```
|
|
3231
|
+
*
|
|
3232
|
+
* Refer to the [EnterpriseVenue Guide](https://developer.mappedin.com/web-sdk/enterprise-data#enterprise-venue) for more information.
|
|
2980
3233
|
*/
|
|
2981
3234
|
class EnterpriseVenue extends BaseMapData implements MVFEnterpriseVenue {
|
|
2982
3235
|
#private;
|
|
@@ -2988,18 +3241,57 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/venue' {
|
|
|
2988
3241
|
* @internal
|
|
2989
3242
|
*/
|
|
2990
3243
|
readonly __type = "enterprise-venue";
|
|
3244
|
+
/**
|
|
3245
|
+
* The country code of the venue.
|
|
3246
|
+
*/
|
|
2991
3247
|
countrycode?: string | undefined;
|
|
3248
|
+
/**
|
|
3249
|
+
* The external ID of the venue.
|
|
3250
|
+
*/
|
|
2992
3251
|
externalId: string;
|
|
3252
|
+
/**
|
|
3253
|
+
* The default language of the venue.
|
|
3254
|
+
*/
|
|
2993
3255
|
defaultLanguage: Language;
|
|
3256
|
+
/**
|
|
3257
|
+
* The default map of the venue.
|
|
3258
|
+
*/
|
|
2994
3259
|
defaultMap?: string | undefined;
|
|
3260
|
+
/**
|
|
3261
|
+
* Extra properties of the venue.
|
|
3262
|
+
*/
|
|
2995
3263
|
extra?: Record<string, unknown> | undefined;
|
|
3264
|
+
/**
|
|
3265
|
+
* A URL to the icon of the venue.
|
|
3266
|
+
*/
|
|
2996
3267
|
icon?: string | undefined;
|
|
3268
|
+
/**
|
|
3269
|
+
* The languages supported by the venue.
|
|
3270
|
+
*/
|
|
2997
3271
|
languages: Language[];
|
|
3272
|
+
/**
|
|
3273
|
+
* The links of the venue.
|
|
3274
|
+
*/
|
|
2998
3275
|
links: Hyperlink[];
|
|
3276
|
+
/**
|
|
3277
|
+
* A URL to the logo of the venue.
|
|
3278
|
+
*/
|
|
2999
3279
|
logo?: string | undefined;
|
|
3280
|
+
/**
|
|
3281
|
+
* A URL to a web page with [Mappedin Web](https://developer.mappedin.com/docs/enterprise-apps/mappedin-web-v2) for this venue.
|
|
3282
|
+
*/
|
|
3000
3283
|
mappedinWebUrl?: string | undefined;
|
|
3284
|
+
/**
|
|
3285
|
+
* The slug of the venue.
|
|
3286
|
+
*/
|
|
3001
3287
|
slug: string;
|
|
3288
|
+
/**
|
|
3289
|
+
* The top locations of the venue.
|
|
3290
|
+
*/
|
|
3002
3291
|
topLocations?: string[] | undefined;
|
|
3292
|
+
/**
|
|
3293
|
+
* The timezone ID of the venue.
|
|
3294
|
+
*/
|
|
3003
3295
|
tzid?: string | undefined;
|
|
3004
3296
|
/**
|
|
3005
3297
|
* Checks if the provided instance is of type EnterpriseVenue.
|
|
@@ -3166,6 +3458,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src' {
|
|
|
3166
3458
|
import type { InsetPadding, InsetPaddingOption, Shading, PaintStyle, LineStyle, WatermarkOptions } from '@mappedin/mappedin-js/geojson/src';
|
|
3167
3459
|
import { enableTestMode } from '@mappedin/mappedin-js/geojson/src';
|
|
3168
3460
|
export type { PubSub } from '@packages/internal/common/pubsub';
|
|
3461
|
+
import type { TMappedinMapLibreOverlayEvents } from '@mappedin/mappedin-js/mappedin-js/src/maplibre-overlay';
|
|
3169
3462
|
import { MappedinMapLibreOverlay } from '@mappedin/mappedin-js/mappedin-js/src/maplibre-overlay';
|
|
3170
3463
|
import type { LanguagePackHydrationItem } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
3171
3464
|
import { type Environment } from '@packages/internal/mvf-utils/mvf-utils';
|
|
@@ -3477,14 +3770,20 @@ declare module '@mappedin/mappedin-js/mappedin-js/src' {
|
|
|
3477
3770
|
*/
|
|
3478
3771
|
export const getMapDataEnterprise: (userOptions: TGetMapDataOptions) => Promise<MapData>;
|
|
3479
3772
|
/**
|
|
3480
|
-
*
|
|
3773
|
+
* 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).
|
|
3774
|
+
*
|
|
3775
|
+
* It is also possible to utilize the opposite architecture, by adding a MapView to a MapLibre Map.
|
|
3776
|
+
* 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.
|
|
3777
|
+
*
|
|
3778
|
+
* Refer to the [Mappedin MapLibre Overlay](https://developer.mappedin.com/web-sdk/mappedin-maplibre-overlay) for more information and interactive examples.
|
|
3779
|
+
|
|
3481
3780
|
* @experimental
|
|
3482
3781
|
*/
|
|
3483
3782
|
export const createMapLibreOverlay: (mapData: MapData, showMapOptions?: TShow3DMapOptions) => MappedinMapLibreOverlay;
|
|
3484
3783
|
export const show3dMapGeojson: (el: HTMLElement, mapData: MapData, options?: TShow3DMapOptions) => Promise<MapView>;
|
|
3485
3784
|
export const show3dMap: (el: HTMLElement, mapData: MapData, options?: TShow3DMapOptions) => Promise<MapView>;
|
|
3486
3785
|
export { parseMVF, unzipMVF, enableTestMode };
|
|
3487
|
-
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, };
|
|
3786
|
+
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, };
|
|
3488
3787
|
export type * from 'geojson';
|
|
3489
3788
|
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/mappedin-js/mappedin-js/src/types';
|
|
3490
3789
|
export { WALLS, DOORS } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
@@ -3593,7 +3892,30 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/door' {
|
|
|
3593
3892
|
/**
|
|
3594
3893
|
* A class representing door data within the map.
|
|
3595
3894
|
*
|
|
3596
|
-
*
|
|
3895
|
+
* Doors are hidden by default. Doors can be made visible by setting their `visible` property to `true`.
|
|
3896
|
+
*
|
|
3897
|
+
* ```typescript
|
|
3898
|
+
* //Make interior doors visible and brown.
|
|
3899
|
+
* mapView.updateState(DOORS.Interior, {
|
|
3900
|
+
* visible: true,
|
|
3901
|
+
* color: '#5C4033',
|
|
3902
|
+
* opacity: 0.6,
|
|
3903
|
+
* });
|
|
3904
|
+
|
|
3905
|
+
* //Make exterior doors visible and black.
|
|
3906
|
+
* mapView.updateState(DOORS.Exterior, {
|
|
3907
|
+
* visible: true,
|
|
3908
|
+
* color: 'black',
|
|
3909
|
+
* opacity: 0.6,
|
|
3910
|
+
* });
|
|
3911
|
+
* ```
|
|
3912
|
+
* Doors can also be made visible on an individual basis by passing in a {@link Door} object to {@link MapView.updateState}.
|
|
3913
|
+
*
|
|
3914
|
+
* Refer to the [Door Guide](https://developer.mappedin.com/web-sdk/spaces#doors) for more information and interactive examples.
|
|
3915
|
+
*
|
|
3916
|
+
* Door appearance can be customized by changing the color or adding a texture to the top or sides of a door.
|
|
3917
|
+
* Refer to the [Textures & Colors Guide](https://developer.mappedin.com/web-sdk/images-textures#textures--colors) for more information and interactive examples.
|
|
3918
|
+
*
|
|
3597
3919
|
*/
|
|
3598
3920
|
class Door extends BaseMapData {
|
|
3599
3921
|
#private;
|
|
@@ -3631,7 +3953,17 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/door' {
|
|
|
3631
3953
|
* @returns {string} The external ID of the door.
|
|
3632
3954
|
*/
|
|
3633
3955
|
get externalId(): string;
|
|
3956
|
+
/**
|
|
3957
|
+
* Gets the description of the door.
|
|
3958
|
+
*
|
|
3959
|
+
* @returns {string} The description of the door.
|
|
3960
|
+
*/
|
|
3634
3961
|
get description(): string;
|
|
3962
|
+
/**
|
|
3963
|
+
* Gets the images of the door.
|
|
3964
|
+
*
|
|
3965
|
+
* @returns {Image[]} The images of the door.
|
|
3966
|
+
*/
|
|
3635
3967
|
get images(): Image[];
|
|
3636
3968
|
/**
|
|
3637
3969
|
* Gets the {@link Floor} object associated with the door.
|
|
@@ -3694,9 +4026,10 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/space' {
|
|
|
3694
4026
|
*/
|
|
3695
4027
|
export type TSpaceType = 'room' | 'hallway' | 'exterior' | 'void' | 'connection.stairs' | 'connection.elevator' | 'poi';
|
|
3696
4028
|
/**
|
|
3697
|
-
* A
|
|
4029
|
+
* 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.
|
|
4030
|
+
* Spaces can also be customized with a color, texture and hover color.
|
|
3698
4031
|
*
|
|
3699
|
-
*
|
|
4032
|
+
* Refer to the [Spaces Guide](https://developer.mappedin.com/web-sdk/spaces) for more information and interactive examples.
|
|
3700
4033
|
*/
|
|
3701
4034
|
class Space extends BaseMapData {
|
|
3702
4035
|
#private;
|
|
@@ -3967,6 +4300,11 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/connectio
|
|
|
3967
4300
|
get name(): string;
|
|
3968
4301
|
get description(): string;
|
|
3969
4302
|
get images(): Image[];
|
|
4303
|
+
/**
|
|
4304
|
+
* Whether the connection is accessible. For example elevators are accessible while stairs are not.
|
|
4305
|
+
*
|
|
4306
|
+
* @returns {boolean} Whether the connection is accessible.
|
|
4307
|
+
*/
|
|
3970
4308
|
get accessible(): boolean;
|
|
3971
4309
|
/**
|
|
3972
4310
|
* Gets the external ID of the connection.
|
|
@@ -4033,7 +4371,10 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/object' {
|
|
|
4033
4371
|
/**
|
|
4034
4372
|
* A class representing generic map object data within the map.
|
|
4035
4373
|
*
|
|
4036
|
-
* It could represent various objects on the map, such as desks,
|
|
4374
|
+
* It could represent various objects on the map, such as desks, chairs, etc.
|
|
4375
|
+
*
|
|
4376
|
+
* MapObject appearance can be customized by changing the color or adding a texture to its top or sides.
|
|
4377
|
+
* Refer to the [Textures & Colors Guide](https://developer.mappedin.com/web-sdk/images-textures#textures--colors) for more information and interactive examples.
|
|
4037
4378
|
*/
|
|
4038
4379
|
export class MapObject extends BaseMapData {
|
|
4039
4380
|
#private;
|
|
@@ -4302,6 +4643,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/annotatio
|
|
|
4302
4643
|
*
|
|
4303
4644
|
* Annotations are used to mark specific points or areas on the map with additional information.
|
|
4304
4645
|
* It includes some details on a map that may be relevant to safety or accessibility (e.g. Fire Extinguishers).
|
|
4646
|
+
* Refer to the [Annotation Guide](https://developer.mappedin.com/web-sdk/annotations) for more information.
|
|
4305
4647
|
*/
|
|
4306
4648
|
class Annotation extends BaseMapData {
|
|
4307
4649
|
#private;
|
|
@@ -4708,6 +5050,13 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/shapes' {
|
|
|
4708
5050
|
import type { FeatureCollection, LineString, MultiPolygon, Polygon } from 'geojson';
|
|
4709
5051
|
import type { LineStyle, PaintStyle } from '@mappedin/core-sdk';
|
|
4710
5052
|
import type { Floor } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
5053
|
+
/**
|
|
5054
|
+
* 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}.
|
|
5055
|
+
*
|
|
5056
|
+
* This class is accessed using {@link MapView.Shapes}.
|
|
5057
|
+
*
|
|
5058
|
+
* Refer to the [Shapes Guide](https://developer.mappedin.com/web-sdk/shapes) for more information and interactive examples.
|
|
5059
|
+
*/
|
|
4711
5060
|
export class Shapes {
|
|
4712
5061
|
#private;
|
|
4713
5062
|
/**
|
|
@@ -7397,29 +7746,13 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/html-controls/system'
|
|
|
7397
7746
|
}
|
|
7398
7747
|
}
|
|
7399
7748
|
|
|
7400
|
-
declare module '@mappedin/mappedin-js/geojson/src/maplibre-overlay' {
|
|
7401
|
-
import type { IControl, Map as MapLibreMap, CustomLayerInterface } from '@packages/internal/outdoor-context-v4';
|
|
7402
|
-
import type { Position } from '@mappedin/mappedin-js/geojson/src/types';
|
|
7403
|
-
import RendererCore from '@mappedin/mappedin-js/geojson/src/renderer';
|
|
7404
|
-
import { PubSub } from '@packages/internal/common';
|
|
7405
|
-
export class MapLibreOverlay<T> extends PubSub<T> implements IControl {
|
|
7406
|
-
el: HTMLDivElement;
|
|
7407
|
-
core: RendererCore;
|
|
7408
|
-
origin?: Position;
|
|
7409
|
-
map?: MapLibreMap;
|
|
7410
|
-
layer?: CustomLayerInterface;
|
|
7411
|
-
constructor(origin: Position | undefined);
|
|
7412
|
-
onAdd(map: MapLibreMap): HTMLDivElement;
|
|
7413
|
-
onRemove(): void;
|
|
7414
|
-
}
|
|
7415
|
-
}
|
|
7416
|
-
|
|
7417
7749
|
declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/api' {
|
|
7418
7750
|
import type { Position, RendererCore, WatermarkOptions } from '@mappedin/core-sdk';
|
|
7419
7751
|
import { type TShow3DMapOptions } from '@mappedin/mappedin-js/mappedin-js/src';
|
|
7420
7752
|
import { WALLS, DOORS } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
7421
7753
|
import type MapData from '@mappedin/mappedin-js/mappedin-js/src/map-data';
|
|
7422
|
-
import {
|
|
7754
|
+
import type { FloorStack, MapDataInternal } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
7755
|
+
import { Coordinate, MapObject, Space, Floor, Door } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
7423
7756
|
import type { MapView } from '@mappedin/mappedin-js/mappedin-js/src/map-view';
|
|
7424
7757
|
import { Label, Marker, type Model, type Image, Shape } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
|
|
7425
7758
|
import { Navigation } from '@mappedin/mappedin-js/mappedin-js/src/navigation';
|
|
@@ -7439,14 +7772,13 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/api' {
|
|
|
7439
7772
|
import Outdoor from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/outdoor';
|
|
7440
7773
|
export class GeoJsonApi {
|
|
7441
7774
|
core: RendererCore;
|
|
7442
|
-
outdoors: GeojsonApiMapObject;
|
|
7443
7775
|
mapObjects: GeojsonApiMapObject[];
|
|
7444
7776
|
id: string;
|
|
7445
7777
|
mapDataExternal: {
|
|
7446
7778
|
[key in string]: MapData;
|
|
7447
7779
|
};
|
|
7448
7780
|
mapData?: MapData;
|
|
7449
|
-
currentMap
|
|
7781
|
+
currentMap: GeojsonApiMapObject;
|
|
7450
7782
|
hiddenOutdoorGeometries: [Position, layer: string[]][];
|
|
7451
7783
|
mapView: MapView;
|
|
7452
7784
|
Camera: Camera;
|
|
@@ -7469,7 +7801,9 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/api' {
|
|
|
7469
7801
|
getMapData(): MapData | undefined;
|
|
7470
7802
|
addMap(mapData: MapData, options?: TShow3DMapOptions): Promise<MapData>;
|
|
7471
7803
|
setFloor(floor: Floor | string, reason?: TFloorChangeReason): void;
|
|
7804
|
+
setFloorStack(floorStack: FloorStack | string): void;
|
|
7472
7805
|
updateWatermark(options: Omit<WatermarkOptions, 'onClick'>): void;
|
|
7806
|
+
get currentFloorStack(): FloorStack;
|
|
7473
7807
|
get currentFloor(): Floor;
|
|
7474
7808
|
getState<T extends Space | MapObject | Label | Marker | Shape | Model | Image | string>(target: T): TGetState<T> | undefined;
|
|
7475
7809
|
setHoverColor(c: string): void;
|
|
@@ -7499,8 +7833,9 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/map-object' {
|
|
|
7499
7833
|
import { StackedMaps } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/stacked-maps/stacked-maps';
|
|
7500
7834
|
import type { TFloorChangeReason } from '@mappedin/mappedin-js/mappedin-js/src/events';
|
|
7501
7835
|
import type { Path, Shape } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
|
|
7502
|
-
import type { Space, Door, PointOfInterest, MapObject, Node } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
7836
|
+
import type { Space, Door, PointOfInterest, MapObject, Node, MapDataInternal } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
7503
7837
|
import { type GeoJsonApi } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/api';
|
|
7838
|
+
import { FloorStackObject } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/floor-stack-object';
|
|
7504
7839
|
export class GeojsonApiMapObject extends PubSub<{
|
|
7505
7840
|
'floor-change': {
|
|
7506
7841
|
reason?: TFloorChangeReason;
|
|
@@ -7519,18 +7854,21 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/map-object' {
|
|
|
7519
7854
|
path: Path;
|
|
7520
7855
|
};
|
|
7521
7856
|
}> {
|
|
7522
|
-
|
|
7523
|
-
|
|
7524
|
-
/** Map of floors by elevation. Floor elevation does not always match index or is not always contiguous. */
|
|
7525
|
-
floorsByElevation: Map<number, FloorObject>;
|
|
7857
|
+
floorStacksById: Map<string, FloorStackObject>;
|
|
7858
|
+
floorsById: Map<string, FloorObject>;
|
|
7526
7859
|
currentFloorId: string;
|
|
7860
|
+
currentFloorStackId: string;
|
|
7527
7861
|
id: string;
|
|
7528
7862
|
renderer: RendererCore;
|
|
7529
7863
|
api: GeoJsonApi;
|
|
7530
7864
|
mvf: ParsedMVF;
|
|
7531
7865
|
styleMap: AggregatedStyleMap;
|
|
7532
7866
|
StackedMaps: StackedMaps;
|
|
7867
|
+
get currentFloorStack(): FloorStackObject;
|
|
7868
|
+
setFloorStack(floorStackId: string): void;
|
|
7533
7869
|
get currentFloor(): FloorObject;
|
|
7870
|
+
/** @deprecated use `currentFloorStack.floorObjects` or `floorsById` instead */
|
|
7871
|
+
get floors(): FloorObject[];
|
|
7534
7872
|
setFloor(floorId: string, reason?: TFloorChangeReason): void;
|
|
7535
7873
|
Models: {
|
|
7536
7874
|
add: (id: string, targets: TAddModel[], opts: TAddModelOptions & {
|
|
@@ -7581,7 +7919,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/map-object' {
|
|
|
7581
7919
|
};
|
|
7582
7920
|
remove: (entityIds: string[]) => void;
|
|
7583
7921
|
};
|
|
7584
|
-
constructor(id: string,
|
|
7922
|
+
constructor(id: string, mapDataInternal: MapDataInternal | undefined, options: TShow3DMapOptions | undefined, api: GeoJsonApi);
|
|
7585
7923
|
}
|
|
7586
7924
|
}
|
|
7587
7925
|
|
|
@@ -7590,14 +7928,26 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/label' {
|
|
|
7590
7928
|
/**
|
|
7591
7929
|
* Class representing a label on the {@link MapView}.
|
|
7592
7930
|
*
|
|
7593
|
-
* Labels are
|
|
7931
|
+
* 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.
|
|
7932
|
+
* Use them to inform users about location names, points of interest and more!
|
|
7933
|
+
*
|
|
7934
|
+
* Effective use of labels allows an app to convey additional information to the user.
|
|
7935
|
+
* 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.
|
|
7936
|
+
*
|
|
7937
|
+
* Refer to the [Labels Guide](https://developer.mappedin.com/web-sdk/labels) for more information and interactive examples.
|
|
7594
7938
|
*/
|
|
7595
7939
|
export class Label {
|
|
7596
7940
|
/**
|
|
7597
7941
|
* The label's id
|
|
7598
7942
|
*/
|
|
7599
7943
|
readonly id: string;
|
|
7944
|
+
/**
|
|
7945
|
+
* The label's text
|
|
7946
|
+
*/
|
|
7600
7947
|
readonly text: string;
|
|
7948
|
+
/**
|
|
7949
|
+
* The target object where the label is anchored.
|
|
7950
|
+
*/
|
|
7601
7951
|
readonly target: Space | Door | Coordinate | PointOfInterest | MapObject | Node;
|
|
7602
7952
|
/**
|
|
7603
7953
|
* @internal
|
|
@@ -7624,9 +7974,10 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/label' {
|
|
|
7624
7974
|
declare module '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/marker' {
|
|
7625
7975
|
import type { Coordinate, Door, Node, Space } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
7626
7976
|
/**
|
|
7627
|
-
*
|
|
7977
|
+
* 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}.
|
|
7978
|
+
* They are automatically rotated and repositioned when the camera moves.
|
|
7628
7979
|
*
|
|
7629
|
-
*
|
|
7980
|
+
* Refer to the [Markers Guide](https://developer.mappedin.com/web-sdk/markers) for more information and interactive examples.
|
|
7630
7981
|
*/
|
|
7631
7982
|
export class Marker {
|
|
7632
7983
|
/**
|
|
@@ -7704,6 +8055,18 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/image' {
|
|
|
7704
8055
|
declare module '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/model' {
|
|
7705
8056
|
/**
|
|
7706
8057
|
* Class representing a 3D model on the {@link MapView}.
|
|
8058
|
+
*
|
|
8059
|
+
* 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.
|
|
8060
|
+
|
|
8061
|
+
* 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.
|
|
8062
|
+
*
|
|
8063
|
+
* 3D Models can be added to a {@link Coordinate}, {@link Door} or {@link Space}.
|
|
8064
|
+
* When adding the same model to multiple locations at the same time always use an array instead of calling the add method multiple times.
|
|
8065
|
+
* This allows the SDK to re-use the same instance of the model to reduce RAM usage and rendering time, resulting in better performance.
|
|
8066
|
+
*
|
|
8067
|
+
* Models are added using {@link Models.add}.
|
|
8068
|
+
*
|
|
8069
|
+
* Refer to the [3D Models Guide](https://developer.mappedin.com/web-sdk/3d-models) for more information and interactive examples.
|
|
7707
8070
|
*/
|
|
7708
8071
|
export class Model {
|
|
7709
8072
|
/**
|
|
@@ -7741,7 +8104,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/path' {
|
|
|
7741
8104
|
/**
|
|
7742
8105
|
* Class representing a path on the {@link MapView}.
|
|
7743
8106
|
*
|
|
7744
|
-
* Paths are used to indicate a route on the map.
|
|
8107
|
+
* Paths are used to indicate a route on the map and can be added and removed using {@link Paths.add} and {@link Paths.remove}.
|
|
7745
8108
|
*/
|
|
7746
8109
|
export class Path {
|
|
7747
8110
|
/**
|
|
@@ -7771,6 +8134,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/shape' {
|
|
|
7771
8134
|
/**
|
|
7772
8135
|
* Class representing GeoJSON shape on the {@link MapView}.
|
|
7773
8136
|
*
|
|
8137
|
+
* Refer to the [Shapes Guide](https://developer.mappedin.com/web-sdk/shapes) for more information and interactive examples.
|
|
7774
8138
|
*/
|
|
7775
8139
|
export class Shape {
|
|
7776
8140
|
/**
|
|
@@ -7803,12 +8167,25 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/camera' {
|
|
|
7803
8167
|
import type { TCameraAnimationOptions, TCameraFocusOnTarget, TCameraTarget, TFocusOnOptions } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
7804
8168
|
import type { InsetPadding, RendererCore } from '@mappedin/core-sdk';
|
|
7805
8169
|
import { Coordinate } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
8170
|
+
/**
|
|
8171
|
+
* The Camera class is used to control the camera's position, pitch, bearing, and zoom level. It can also be used to focus
|
|
8172
|
+
* on one or more locations on the map. The camera can be repositioned instantly or animated to a new position.
|
|
8173
|
+
*
|
|
8174
|
+
* This class is accessed using {@link MapView.Camera}
|
|
8175
|
+
*
|
|
8176
|
+
* Refer to the [Camera Guide](https://developer.mappedin.com/web-sdk/camera) for more information and interactive examples.
|
|
8177
|
+
*/
|
|
7806
8178
|
export class Camera {
|
|
7807
8179
|
#private;
|
|
7808
8180
|
/**
|
|
7809
8181
|
* @internal
|
|
7810
8182
|
*/
|
|
7811
8183
|
constructor(rendererCore: RendererCore);
|
|
8184
|
+
/**
|
|
8185
|
+
* 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}.
|
|
8186
|
+
*
|
|
8187
|
+
* @param padding The padding in pixels.
|
|
8188
|
+
*/
|
|
7812
8189
|
setScreenOffsets(padding: InsetPadding): void;
|
|
7813
8190
|
get screenOffsets(): InsetPadding;
|
|
7814
8191
|
/**
|
|
@@ -7816,7 +8193,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/camera' {
|
|
|
7816
8193
|
*/
|
|
7817
8194
|
get panMode(): "default" | "elevation";
|
|
7818
8195
|
/**
|
|
7819
|
-
* Set the camera's pan mode. 'elevation' moves the camera up and down, while 'default' allows the camera to pan
|
|
8196
|
+
* Set the camera's pan mode. 'elevation' moves the camera up and down, while 'default' allows the camera to pan in all directions.
|
|
7820
8197
|
* @experimental
|
|
7821
8198
|
* @param panMode The new pan mode.
|
|
7822
8199
|
*/
|
|
@@ -7828,7 +8205,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/camera' {
|
|
|
7828
8205
|
* @param options Optional settings for focusing the camera.
|
|
7829
8206
|
* @example
|
|
7830
8207
|
* // Focus on a single space
|
|
7831
|
-
*
|
|
8208
|
+
* mapView.Camera.focusOn(space, { minZoomLevel: 5, duration: 1000 });
|
|
7832
8209
|
*/
|
|
7833
8210
|
focusOn(target: TCameraFocusOnTarget, options?: TFocusOnOptions): Promise<void>;
|
|
7834
8211
|
/**
|
|
@@ -7836,14 +8213,14 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/camera' {
|
|
|
7836
8213
|
* @param target The target configuration for the camera.
|
|
7837
8214
|
* @param options Optional settings for the camera animation.
|
|
7838
8215
|
* @example
|
|
7839
|
-
*
|
|
8216
|
+
* mapView.Camera.animateTo({ center: coordinate, zoomLevel: 10 }, { duration: 500 });
|
|
7840
8217
|
*/
|
|
7841
8218
|
animateTo(target: TCameraTarget, options?: TCameraAnimationOptions): Promise<void>;
|
|
7842
8219
|
/**
|
|
7843
8220
|
* Sets the camera to a specified target without animation.
|
|
7844
8221
|
* @param target The target configuration for the camera.
|
|
7845
8222
|
* @example
|
|
7846
|
-
*
|
|
8223
|
+
* mapView.Camera.set({ center: coordinate, zoomLevel: 10 });
|
|
7847
8224
|
*/
|
|
7848
8225
|
set(target: TCameraTarget): void;
|
|
7849
8226
|
/**
|
|
@@ -7902,7 +8279,6 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/camera' {
|
|
|
7902
8279
|
* Update the minimum zoom level of the camera in mercator zoom levels.
|
|
7903
8280
|
* @param zoomLevel The new minimum zoom level.
|
|
7904
8281
|
* @see https://wiki.openstreetmap.org/wiki/Zoom_levels
|
|
7905
|
-
* @default 22
|
|
7906
8282
|
*/
|
|
7907
8283
|
setMinZoomLevel: (zoomLevel: number) => void;
|
|
7908
8284
|
/**
|
|
@@ -7915,7 +8291,9 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/camera' {
|
|
|
7915
8291
|
* Update the maximum zoom level of the camera in mercator zoom levels.
|
|
7916
8292
|
* @param zoomLevel The new maximum zoom level.
|
|
7917
8293
|
* @see https://wiki.openstreetmap.org/wiki/Zoom_levels
|
|
7918
|
-
* @default
|
|
8294
|
+
* @default 22
|
|
8295
|
+
* @max 24
|
|
8296
|
+
* @min 0
|
|
7919
8297
|
*/
|
|
7920
8298
|
setMaxZoomLevel: (zoomLevel: number) => void;
|
|
7921
8299
|
/**
|
|
@@ -7944,6 +8322,19 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/labels' {
|
|
|
7944
8322
|
import type { GeojsonApiMapObject } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/map-object';
|
|
7945
8323
|
import type { PointOfInterest, MapObject } from '@mappedin/mappedin-js/mappedin-js/src';
|
|
7946
8324
|
import type { Space, Door, Coordinate, Node } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
8325
|
+
/**
|
|
8326
|
+
* Class used to add and remove a {@link Label} on the {@link MapView}.
|
|
8327
|
+
*
|
|
8328
|
+
* 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.
|
|
8329
|
+
* Use them to inform users about location names, points of interest and more!
|
|
8330
|
+
*
|
|
8331
|
+
* Effective use of labels allows an app to convey additional information to the user.
|
|
8332
|
+
* 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.
|
|
8333
|
+
*
|
|
8334
|
+
* This class is accessed using {@link MapView.Labels}.
|
|
8335
|
+
*
|
|
8336
|
+
* Refer to the [Labels Guide](https://developer.mappedin.com/web-sdk/labels) for more information and interactive examples.
|
|
8337
|
+
*/
|
|
7947
8338
|
export class Labels {
|
|
7948
8339
|
#private;
|
|
7949
8340
|
/**
|
|
@@ -7972,7 +8363,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/labels' {
|
|
|
7972
8363
|
* @returns {Label | undefined} The created label, or undefined if creation failed.
|
|
7973
8364
|
* @example
|
|
7974
8365
|
*
|
|
7975
|
-
*
|
|
8366
|
+
* mapView.Labels.add(space, 'Welcome', { appearance: { color: 'blue' } });
|
|
7976
8367
|
*/
|
|
7977
8368
|
add(target: Space | Door | Coordinate | PointOfInterest | MapObject | Node, text: string, options?: TAddLabelOptions | undefined): Label;
|
|
7978
8369
|
/**
|
|
@@ -7982,7 +8373,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/labels' {
|
|
|
7982
8373
|
*
|
|
7983
8374
|
* @example
|
|
7984
8375
|
* // Add all the labels to the map
|
|
7985
|
-
*
|
|
8376
|
+
* mapView.Labels.all();
|
|
7986
8377
|
*/
|
|
7987
8378
|
all(): Label[];
|
|
7988
8379
|
/**
|
|
@@ -7997,7 +8388,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/labels' {
|
|
|
7997
8388
|
* Removes all the labels ({@link Label}) from the map.
|
|
7998
8389
|
*
|
|
7999
8390
|
* @example
|
|
8000
|
-
*
|
|
8391
|
+
* mapView.Labels.removeAll();
|
|
8001
8392
|
*/
|
|
8002
8393
|
removeAll(): Label[];
|
|
8003
8394
|
}
|
|
@@ -8010,6 +8401,14 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/markers' {
|
|
|
8010
8401
|
import { Marker } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
|
|
8011
8402
|
import type { GeojsonApiMapObject } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/map-object';
|
|
8012
8403
|
import type { Space, Door, Coordinate, Node } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
8404
|
+
/**
|
|
8405
|
+
* 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}.
|
|
8406
|
+
* They are automatically rotated and repositioned when the camera moves.
|
|
8407
|
+
*
|
|
8408
|
+
* This class is accessed using {@link MapView.Markers}.
|
|
8409
|
+
*
|
|
8410
|
+
* Refer to the [Markers Guide](https://developer.mappedin.com/web-sdk/markers) for more information and interactive examples.
|
|
8411
|
+
*/
|
|
8013
8412
|
export class Markers {
|
|
8014
8413
|
#private;
|
|
8015
8414
|
/**
|
|
@@ -8037,8 +8436,8 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/markers' {
|
|
|
8037
8436
|
* @param options Optional additional options for the {@link Marker}.
|
|
8038
8437
|
* @returns {Marker | undefined} The created {@link Marker}, or undefined if creation failed.
|
|
8039
8438
|
* @example
|
|
8040
|
-
* // Add an interactive
|
|
8041
|
-
*
|
|
8439
|
+
* // Add an interactive Marker to the map with custom HTML content.
|
|
8440
|
+
* mapView.Markers.add(coordinate, '<div>Marker Content</div>', { interactive: true });
|
|
8042
8441
|
*/
|
|
8043
8442
|
add(target: Space | Door | Coordinate | Node, html: string, options?: TAddMarkerOptions): Marker;
|
|
8044
8443
|
/**
|
|
@@ -8053,7 +8452,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/markers' {
|
|
|
8053
8452
|
* Remove all the markers from the map.
|
|
8054
8453
|
*
|
|
8055
8454
|
* @example
|
|
8056
|
-
*
|
|
8455
|
+
* mapView.Markers.removeAll();
|
|
8057
8456
|
*/
|
|
8058
8457
|
removeAll(): Marker[];
|
|
8059
8458
|
/**
|
|
@@ -8061,7 +8460,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/markers' {
|
|
|
8061
8460
|
* @param marker The {@link Marker} which should be removed.
|
|
8062
8461
|
* @param target The new target object ({@link Space}, {@link Door}, or {@link Coordinate}) for the marker.
|
|
8063
8462
|
* @example
|
|
8064
|
-
* const marker =
|
|
8463
|
+
* const marker = mapView.Markers.add(coordinate, '<div>Marker Content</div>');
|
|
8065
8464
|
* mapView.Markers.setPosition(marker, newCoordinate);
|
|
8066
8465
|
*/
|
|
8067
8466
|
setPosition(marker: Marker, target: Space | Door | Coordinate | Node): void;
|
|
@@ -8072,7 +8471,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/markers' {
|
|
|
8072
8471
|
* @param options Optional additional options for the animation.
|
|
8073
8472
|
* @returns {Promise<void>} A promise that resolves when the animation is complete.
|
|
8074
8473
|
* @example
|
|
8075
|
-
* const marker =
|
|
8474
|
+
* const marker = mapView.Markers.add(coordinate, '<div>Marker Content</div>');
|
|
8076
8475
|
* mapView.Markers.animateTo(marker, newCoordinate, { duration: 1000 });
|
|
8077
8476
|
*/
|
|
8078
8477
|
animateTo(marker: Marker, target: Space | Door | Coordinate | Node, options?: TAnimationOptions): Promise<void>;
|
|
@@ -8085,6 +8484,19 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/models' {
|
|
|
8085
8484
|
import type { TAddModelOptions, TAddModel } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
8086
8485
|
import { Model } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
|
|
8087
8486
|
import type { GeojsonApiMapObject } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/map-object';
|
|
8487
|
+
/**
|
|
8488
|
+
* 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.
|
|
8489
|
+
|
|
8490
|
+
* 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.
|
|
8491
|
+
*
|
|
8492
|
+
* 3D Models can be added to a {@link Coordinate}, {@link Door} or {@link Space}.
|
|
8493
|
+
* When adding the same model to multiple locations at the same time always use an array instead of calling the add method multiple times.
|
|
8494
|
+
* This allows the SDK to re-use the same instance of the model to reduce RAM usage and rendering time, resulting in better performance.
|
|
8495
|
+
*
|
|
8496
|
+
* This class is accessed using {@link MapView.Models}.
|
|
8497
|
+
*
|
|
8498
|
+
* Refer to the [3D Models Guide](https://developer.mappedin.com/web-sdk/3d-models) for more information and interactive examples.
|
|
8499
|
+
*/
|
|
8088
8500
|
export class Models {
|
|
8089
8501
|
#private;
|
|
8090
8502
|
/**
|
|
@@ -8113,7 +8525,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/models' {
|
|
|
8113
8525
|
* @returns {Model | undefined} The created {@link Model}, or undefined if creation failed.
|
|
8114
8526
|
* @example
|
|
8115
8527
|
* // Add a {@link Model} to the map.
|
|
8116
|
-
*
|
|
8528
|
+
* mapView.Models.add(coordinate);
|
|
8117
8529
|
*/
|
|
8118
8530
|
add(models: TAddModel | TAddModel[], options: TAddModelOptions): Model[];
|
|
8119
8531
|
/**
|
|
@@ -8128,7 +8540,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/models' {
|
|
|
8128
8540
|
* Remove all the models from the map.
|
|
8129
8541
|
*
|
|
8130
8542
|
* @example
|
|
8131
|
-
*
|
|
8543
|
+
* mapView.Models.removeAll();
|
|
8132
8544
|
*/
|
|
8133
8545
|
removeAll(): Model[];
|
|
8134
8546
|
}
|
|
@@ -8141,6 +8553,19 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/paths' {
|
|
|
8141
8553
|
import type { TAddPathOptions } from '@mappedin/mappedin-js/mappedin-js/src';
|
|
8142
8554
|
import { Path } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
|
|
8143
8555
|
import type { Coordinate } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
8556
|
+
/**
|
|
8557
|
+
* 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.
|
|
8558
|
+
*
|
|
8559
|
+
* Paths is accessed using {@link MapView.Paths}.
|
|
8560
|
+
*
|
|
8561
|
+
* 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.
|
|
8562
|
+
* 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.
|
|
8563
|
+
* 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.
|
|
8564
|
+
*
|
|
8565
|
+
* 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.
|
|
8566
|
+
*
|
|
8567
|
+
* 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.
|
|
8568
|
+
*/
|
|
8144
8569
|
export class Paths {
|
|
8145
8570
|
#private;
|
|
8146
8571
|
/**
|
|
@@ -8166,21 +8591,21 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/paths' {
|
|
|
8166
8591
|
* @param options Optional additional option
|
|
8167
8592
|
* @example
|
|
8168
8593
|
* // Add a red path to the map
|
|
8169
|
-
*
|
|
8594
|
+
* mapView.Paths.add(coordinate, { color: '#ff0000' });
|
|
8170
8595
|
*/
|
|
8171
8596
|
add(coordinate: Coordinate[], options?: TAddPathOptions): Path;
|
|
8172
8597
|
/**
|
|
8173
8598
|
* Removes a specific path ({@link Path}) from the map.
|
|
8174
8599
|
* @param path The path to be removed.
|
|
8175
8600
|
* @example
|
|
8176
|
-
*
|
|
8601
|
+
* mapView.Paths.remove(path);
|
|
8177
8602
|
*/
|
|
8178
8603
|
remove(path: Path): void;
|
|
8179
8604
|
/**
|
|
8180
8605
|
* Removes all paths ({@link Path}) from the map.
|
|
8181
8606
|
*
|
|
8182
8607
|
* @example
|
|
8183
|
-
*
|
|
8608
|
+
* mapView.Paths.removeAll();
|
|
8184
8609
|
*/
|
|
8185
8610
|
removeAll(): Path[];
|
|
8186
8611
|
}
|
|
@@ -8332,6 +8757,17 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/navigation/index' {
|
|
|
8332
8757
|
destinationColor?: string;
|
|
8333
8758
|
};
|
|
8334
8759
|
};
|
|
8760
|
+
/**
|
|
8761
|
+
* 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.
|
|
8762
|
+
|
|
8763
|
+
* 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.
|
|
8764
|
+
*
|
|
8765
|
+
* This class is accessed using {@link MapView.Navigation}.
|
|
8766
|
+
*
|
|
8767
|
+
* {@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.
|
|
8768
|
+
*
|
|
8769
|
+
* Refer to the [Drawing Navigation](https://developer.mappedin.com/web-sdk/wayfinding#drawing-navigation) in the Wayfinding Guide for more information and interactive examples.
|
|
8770
|
+
*/
|
|
8335
8771
|
export class Navigation {
|
|
8336
8772
|
#private;
|
|
8337
8773
|
/**
|
|
@@ -8457,12 +8893,29 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/style' {
|
|
|
8457
8893
|
|
|
8458
8894
|
declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/outdoor' {
|
|
8459
8895
|
import { type RendererCore, type Position } from '@mappedin/core-sdk';
|
|
8896
|
+
/**
|
|
8897
|
+
* 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.
|
|
8898
|
+
*
|
|
8899
|
+
* The outdoor map is accessed using {@link MapView.Outdoor.map}, which returns a maplibregl.Map object.
|
|
8900
|
+
* [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.
|
|
8901
|
+
*
|
|
8902
|
+
* 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.
|
|
8903
|
+
* Developers can use most capabilities of MapLibre GL JS with key exceptions being Interactivity and Camera, which are not available.
|
|
8904
|
+
*
|
|
8905
|
+
* 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.
|
|
8906
|
+
*
|
|
8907
|
+
* Refer to the [Outdoor Map Guide](https://developer.mappedin.com/web-sdk/outdoor-map) for more information and interactive examples.
|
|
8908
|
+
*/
|
|
8460
8909
|
export default class Outdoor {
|
|
8461
8910
|
#private;
|
|
8462
8911
|
/**
|
|
8463
8912
|
* @internal
|
|
8464
8913
|
*/
|
|
8465
8914
|
constructor(core: RendererCore, hiddenOutdoorGeometry?: [Position, string[]][]);
|
|
8915
|
+
/**
|
|
8916
|
+
* 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.
|
|
8917
|
+
* @param style {any}
|
|
8918
|
+
*/
|
|
8466
8919
|
setStyle(style: any): void;
|
|
8467
8920
|
/**
|
|
8468
8921
|
* Returns a Maplibre map for advanced usage.
|
|
@@ -8470,8 +8923,8 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/outdoor' {
|
|
|
8470
8923
|
* @returns {object} Maplibre map instance
|
|
8471
8924
|
*
|
|
8472
8925
|
* Limitations:
|
|
8473
|
-
* - Maplibre interaction events are not supported
|
|
8474
|
-
* - Maplibre markers and labels may overlap as they are not integrated with the
|
|
8926
|
+
* - Maplibre interaction events are not supported, use Mappedin JS interaction events.
|
|
8927
|
+
* - Maplibre markers and labels may overlap as they are not integrated with the Mappedin JS collision engine.
|
|
8475
8928
|
*/
|
|
8476
8929
|
get map(): import("@packages/internal/outdoor-context-v4").Map | undefined;
|
|
8477
8930
|
/**
|
|
@@ -8483,16 +8936,16 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/outdoor' {
|
|
|
8483
8936
|
*/
|
|
8484
8937
|
get visible(): boolean;
|
|
8485
8938
|
/**
|
|
8486
|
-
* Show the outdoor
|
|
8939
|
+
* Show the outdoor map.
|
|
8487
8940
|
*/
|
|
8488
8941
|
show(): void;
|
|
8489
8942
|
/**
|
|
8490
|
-
* Hide the outdoor
|
|
8943
|
+
* Hide the outdoor map.
|
|
8491
8944
|
* @param excludedStyleLayerIds {string[]}
|
|
8492
8945
|
*/
|
|
8493
8946
|
hide(excludedStyleLayerIds?: string[]): void;
|
|
8494
8947
|
/**
|
|
8495
|
-
* Set outdoor view opacity
|
|
8948
|
+
* Set outdoor view opacity.
|
|
8496
8949
|
* @param targetOpacity {number | 'initial'}
|
|
8497
8950
|
* @param excludedStyleLayerIds {string[]}
|
|
8498
8951
|
*/
|
|
@@ -8505,6 +8958,25 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/images' {
|
|
|
8505
8958
|
import { Image } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
|
|
8506
8959
|
import type { GeojsonApiMapObject } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/map-object';
|
|
8507
8960
|
import type { Space, Door, Coordinate } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
8961
|
+
/**
|
|
8962
|
+
* 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.
|
|
8963
|
+
* 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.
|
|
8964
|
+
*
|
|
8965
|
+
* This class is accessed using {@link MapView.Images}.
|
|
8966
|
+
*
|
|
8967
|
+
* 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.
|
|
8968
|
+
* 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.
|
|
8969
|
+
*
|
|
8970
|
+
* The following calculations illustrates how much memory is used for a given image:
|
|
8971
|
+
*
|
|
8972
|
+
* Formula: `width * height * 4 bytes/pixel = memory used`
|
|
8973
|
+
*
|
|
8974
|
+
* 512 x 512 Pixel Image: `512px * 512px * 4 bytes/pixel = 1MB`
|
|
8975
|
+
*
|
|
8976
|
+
* 4096 x 4096 Pixel Image: `4096px * 4096px * 4 bytes/pixel = 64MB`
|
|
8977
|
+
*
|
|
8978
|
+
* Refer to the [Images Guide](https://developer.mappedin.com/web-sdk/images-textures) for more information and interactive examples.
|
|
8979
|
+
*/
|
|
8508
8980
|
export class Images {
|
|
8509
8981
|
#private;
|
|
8510
8982
|
/**
|
|
@@ -8533,7 +9005,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/images' {
|
|
|
8533
9005
|
* @returns {Image | undefined} The created {@link Image}, or undefined if creation failed.
|
|
8534
9006
|
* @example
|
|
8535
9007
|
* // Add an interactive {@link Image} to the map with custom HTML content.
|
|
8536
|
-
*
|
|
9008
|
+
* mapView.Images.add(coordinate, '<div>Image Content</div>', { interactive: true });
|
|
8537
9009
|
*/
|
|
8538
9010
|
add(target: Space | Door | Coordinate, url: string, options: TAddImageOptions): Image;
|
|
8539
9011
|
/**
|
|
@@ -8548,7 +9020,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/images' {
|
|
|
8548
9020
|
* Remove all the images from the map.
|
|
8549
9021
|
*
|
|
8550
9022
|
* @example
|
|
8551
|
-
*
|
|
9023
|
+
* mapView.Images.removeAll();
|
|
8552
9024
|
*/
|
|
8553
9025
|
removeAll(): Image[];
|
|
8554
9026
|
}
|
|
@@ -8849,6 +9321,11 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/search/external' {
|
|
|
8849
9321
|
import type MapData from '@mappedin/mappedin-js/mappedin-js/src/map-data';
|
|
8850
9322
|
import type { InternalSearch, SearchOptions, SuggestOptions } from '@mappedin/mappedin-js/mappedin-js/src/search/internal';
|
|
8851
9323
|
import type { MapDataInternal } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
9324
|
+
/**
|
|
9325
|
+
* Search allows users to search for locations, categories, and other points of interest within the venue.
|
|
9326
|
+
*
|
|
9327
|
+
* Refer to the [Search Guide](https://developer.mappedin.com/web-sdk/enterprise-data#enterprise-search) for more information and interactive examples.
|
|
9328
|
+
*/
|
|
8852
9329
|
export class Search {
|
|
8853
9330
|
#private;
|
|
8854
9331
|
/**
|
|
@@ -8863,7 +9340,16 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/search/external' {
|
|
|
8863
9340
|
enabled?: boolean;
|
|
8864
9341
|
});
|
|
8865
9342
|
/**
|
|
8866
|
-
*
|
|
9343
|
+
* Use query to search for locations based on a string input:
|
|
9344
|
+
*
|
|
9345
|
+
* - {@link EnterpriseLocation}: Specific places such as stores, restaurants, or washrooms.
|
|
9346
|
+
* - {@link EnterpriseCategory}: Groups of locations, such as "Food Court" or "Electronics."
|
|
9347
|
+
* - {@link Places}: Any main objects that can be searched for such as Space, Door, Point of Interest
|
|
9348
|
+
*
|
|
9349
|
+
* Search query returns a list of matching {@ link SearchResults} based on the input string.
|
|
9350
|
+
*
|
|
9351
|
+
* {@link SearchResults} include information about the type of match, the score (relevance), and detailed metadata about the matching items.
|
|
9352
|
+
*
|
|
8867
9353
|
* @param term - The search term.
|
|
8868
9354
|
* @param options - The search options.
|
|
8869
9355
|
* @returns The search results.
|
|
@@ -8875,7 +9361,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/search/external' {
|
|
|
8875
9361
|
*/
|
|
8876
9362
|
query(term: string, options?: SearchOptions): ReturnType<typeof InternalSearch.prototype.search>;
|
|
8877
9363
|
/**
|
|
8878
|
-
* Suggests the names of places, locations, and categories.
|
|
9364
|
+
* Suggests the names of places, locations, and categories based on partial input. This is useful for creating an autocomplete feature for a search bar.
|
|
8879
9365
|
* @param term - The search term.
|
|
8880
9366
|
* @param options - The suggest options.
|
|
8881
9367
|
* @returns The search suggestions.
|
|
@@ -8979,7 +9465,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/analytics/customer' {
|
|
|
8979
9465
|
/**
|
|
8980
9466
|
* Captures an analytic event with a custom target and query payload.
|
|
8981
9467
|
*
|
|
8982
|
-
* @param target - The event name or target can be
|
|
9468
|
+
* @param target - The event name or target can be one of: `$select-location`, `$select-category`, `$query-suggest`, `$query-search`
|
|
8983
9469
|
* @param query - The payload associated with the event.
|
|
8984
9470
|
* @returns A promise that resolves to the server response or void.
|
|
8985
9471
|
*/
|
|
@@ -10310,17 +10796,22 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/exporter/exporter' {
|
|
|
10310
10796
|
}
|
|
10311
10797
|
|
|
10312
10798
|
declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/floor-object' {
|
|
10313
|
-
import type { ParsedMVF } from '@mappedin/mvf';
|
|
10799
|
+
import type { FloorProperties as MVFFloor, ParsedMVF } from '@mappedin/mvf';
|
|
10314
10800
|
import type { RendererCore } from '@mappedin/core-sdk';
|
|
10315
10801
|
import type { AggregatedStyleMap } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/utils';
|
|
10316
10802
|
import type { TShow3DMapOptions } from '@mappedin/mappedin-js/mappedin-js/src';
|
|
10317
|
-
export class FloorObject {
|
|
10803
|
+
export class FloorObject implements MVFFloor {
|
|
10318
10804
|
id: string;
|
|
10319
|
-
name
|
|
10805
|
+
name?: string;
|
|
10320
10806
|
elevation: number;
|
|
10321
10807
|
containerId: string;
|
|
10808
|
+
externalId: string;
|
|
10809
|
+
metadata?: Partial<Record<string, unknown>> | undefined;
|
|
10810
|
+
shortName?: string | undefined;
|
|
10811
|
+
subtitle?: string | undefined;
|
|
10322
10812
|
layers: Map<string, string>;
|
|
10323
|
-
|
|
10813
|
+
floorStackId: string;
|
|
10814
|
+
constructor(parentId: string, floor: MVFFloor, renderer: RendererCore, options: TShow3DMapOptions, mvf?: ParsedMVF, styleMap?: AggregatedStyleMap);
|
|
10324
10815
|
load: () => this;
|
|
10325
10816
|
}
|
|
10326
10817
|
}
|
|
@@ -10366,6 +10857,28 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/utils' {
|
|
|
10366
10857
|
export function tweenToPromise(tween: Tween): Promise<void>;
|
|
10367
10858
|
}
|
|
10368
10859
|
|
|
10860
|
+
declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/floor-stack-object' {
|
|
10861
|
+
import type { RendererCore } from '@mappedin/core-sdk';
|
|
10862
|
+
import type { FloorId, FloorStack as MVFFloorStack } from '@mappedin/mvf';
|
|
10863
|
+
import type { FloorObject } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/floor-object';
|
|
10864
|
+
export class FloorStackObject implements Omit<MVFFloorStack, 'maps' | 'floors'> {
|
|
10865
|
+
id: MVFFloorStack['id'];
|
|
10866
|
+
externalId: MVFFloorStack['externalId'];
|
|
10867
|
+
name: MVFFloorStack['name'];
|
|
10868
|
+
type: MVFFloorStack['type'];
|
|
10869
|
+
floorIds: FloorId[];
|
|
10870
|
+
/** Sorted floor objects by elevation */
|
|
10871
|
+
floorObjects: FloorObject[];
|
|
10872
|
+
floorObjectsByElevation: Map<number, FloorObject>;
|
|
10873
|
+
metadata?: MVFFloorStack['metadata'];
|
|
10874
|
+
footprint?: MVFFloorStack['footprint'];
|
|
10875
|
+
containerId: string;
|
|
10876
|
+
constructor(floorStack: MVFFloorStack, parentId: string, renderer: RendererCore);
|
|
10877
|
+
get defaultFloor(): FloorObject;
|
|
10878
|
+
addFloor(floor: FloorObject): void;
|
|
10879
|
+
}
|
|
10880
|
+
}
|
|
10881
|
+
|
|
10369
10882
|
declare module '@mappedin/mappedin-js/geojson/src/components/style' {
|
|
10370
10883
|
import type { LineStyle } from '@mappedin/mappedin-js/geojson/src/renderer';
|
|
10371
10884
|
export const DEFAULT_COLOR = "#ffffff";
|
|
@@ -11173,7 +11686,7 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/camera/constants' {
|
|
|
11173
11686
|
export const ZRANGE = 100;
|
|
11174
11687
|
export const WHEEL_ZOOM_MULTIPLIER = 10000;
|
|
11175
11688
|
export const MIN_MERCATOR_ZOOM_LEVEL = 0;
|
|
11176
|
-
export const MAX_MERCATOR_ZOOM_LEVEL =
|
|
11689
|
+
export const MAX_MERCATOR_ZOOM_LEVEL = 24;
|
|
11177
11690
|
export const BLOCK_MERCATOR_ZOOM_LEVEL = 17;
|
|
11178
11691
|
export const ROOM_MERCATOR_ZOOM_LEVEL = 20;
|
|
11179
11692
|
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"];
|