@mappedin/mappedin-js 6.0.1-beta.1 → 6.0.1-beta.11
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 +84 -602
- package/lib/esm/GLTFExporter-QNR5O542.js +1 -0
- package/lib/esm/{GLTFLoader-YATT2FR2.js → GLTFLoader-I7YDGRSV.js} +1 -1
- package/lib/esm/{browser-MBHO2IHH.js → browser-4CAPWYD3.js} +1 -1
- package/lib/esm/chunk-3ZDG24QD.js +1 -0
- package/lib/esm/chunk-AT6KMC44.js +1 -0
- package/lib/esm/chunk-FX2Z4JKF.js +1 -0
- package/lib/esm/{chunk-FFDKE6ZN.js → chunk-J2XPCSDV.js} +1 -1
- package/lib/esm/chunk-N6VBKIZF.js +1 -0
- package/lib/esm/{chunk-ICAZ6TUF.js → chunk-WAXG3UYQ.js} +1 -1
- package/lib/esm/index.css +1 -1
- package/lib/esm/index.d.ts +2701 -616
- package/lib/esm/index.js +1 -1
- package/lib/esm/inspector-KL2DZIIV.js +1 -0
- package/lib/esm/{inspector-XYNFPRUR.css → inspector-OZDC5DPH.css} +1 -1
- package/lib/esm/internal-VRNUURK4.js +1 -0
- package/lib/esm/{outdoor-context-v4-HOWB3AEV.js → outdoor-context-v4-JXMCUTTH.js} +1 -1
- package/lib/index.css +1 -1
- package/package.json +5 -5
- package/lib/esm/GLTFExporter-KPPZ5BWT.js +0 -18
- package/lib/esm/chunk-AD5XTQM2.js +0 -577
- package/lib/esm/chunk-QYKF4M6W.js +0 -3799
- package/lib/esm/chunk-V5JUBEEV.js +0 -950
- package/lib/esm/inspector-6LWH2QCH.js +0 -425
package/lib/esm/index.d.ts
CHANGED
|
@@ -5,19 +5,22 @@
|
|
|
5
5
|
// ../mappedin-js/@packages/internal/common/pubsub
|
|
6
6
|
// ../mappedin-js/@packages/internal/common/Mappedin.Logger
|
|
7
7
|
// ../mappedin-js/geojson
|
|
8
|
-
// ../mappedin-js/@mappedin/core-sdk
|
|
9
8
|
// ../mappedin-js/@packages/internal/common
|
|
10
|
-
// ../mappedin-js/@
|
|
9
|
+
// ../mappedin-js/@mappedin/core-sdk
|
|
11
10
|
// ../mappedin-js/@mappedin/core-sdk/src/camera
|
|
11
|
+
// ../mappedin-js/@tweenjs/tween.js
|
|
12
|
+
// ../mappedin-js/@mappedin/mvf/dist/locale
|
|
12
13
|
// ../mappedin-js/three
|
|
14
|
+
// ../mappedin-js/zod
|
|
13
15
|
// ../mappedin-js/@packages/internal/shave-text/shave-text
|
|
14
16
|
// ../mappedin-js/@turf/turf
|
|
15
17
|
// ../mappedin-js/@packages/internal/quad-tree
|
|
18
|
+
// ../mappedin-js/@packages/internal/outdoor-context-v4
|
|
16
19
|
// ../mappedin-js/@packages/internal/geojson-navigator
|
|
20
|
+
// ../mappedin-js/minisearch
|
|
17
21
|
// ../mappedin-js/three/addons/loaders/GLTFLoader.js
|
|
18
22
|
// ../mappedin-js/@mapbox/point-geometry
|
|
19
23
|
// ../mappedin-js/@maplibre/maplibre-gl-style-spec
|
|
20
|
-
// ../mappedin-js/@tweenjs/tween.js
|
|
21
24
|
// ../mappedin-js/gl-matrix
|
|
22
25
|
// ../mappedin-js/@mapbox/vector-tile
|
|
23
26
|
// ../mappedin-js/potpack
|
|
@@ -34,11 +37,11 @@ declare module '@mappedin/mappedin-js' {
|
|
|
34
37
|
import type { Floor } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
35
38
|
import type { ParsedMVF as TMVF, StyleCollection as TMVFStyleCollection, Style as TMVFStyle, LineStringStyle as TMVFLineStringStyle, PolygonStyle as TMVFPolygonStyle, PointStyle as TMVFPointStyle } from '@mappedin/mvf';
|
|
36
39
|
import { MapView } from '@mappedin/mappedin-js/mappedin-js/src/map-view';
|
|
37
|
-
import type { Shading, PaintStyle, LineStyle, WatermarkOptions
|
|
40
|
+
import type { Shading, PaintStyle, LineStyle, WatermarkOptions } from '@mappedin/mappedin-js/geojson/src';
|
|
38
41
|
import { enableTestMode } from '@mappedin/mappedin-js/geojson/src';
|
|
39
42
|
export type { PubSub } from '@packages/internal/common/pubsub';
|
|
40
|
-
import {
|
|
41
|
-
import {
|
|
43
|
+
import { MappedinMapLibreOverlay } from '@mappedin/mappedin-js/mappedin-js/src/maplibre-overlay';
|
|
44
|
+
import type { LanguagePackHydrationItem } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
42
45
|
export { setLoggerLevel, E_SDK_LOG_LEVEL } from '@packages/internal/common/Mappedin.Logger';
|
|
43
46
|
/**
|
|
44
47
|
* Represents all the available antialiasing options.
|
|
@@ -143,6 +146,11 @@ declare module '@mappedin/mappedin-js' {
|
|
|
143
146
|
*/
|
|
144
147
|
autoRenderBeauty?: boolean;
|
|
145
148
|
};
|
|
149
|
+
/**
|
|
150
|
+
* @interface
|
|
151
|
+
* Options for the watermark.
|
|
152
|
+
*/
|
|
153
|
+
export type TWatermarkOptions = Omit<WatermarkOptions, 'visible'>;
|
|
146
154
|
/**
|
|
147
155
|
* Options for showing a 3D map.
|
|
148
156
|
*
|
|
@@ -216,18 +224,22 @@ declare module '@mappedin/mappedin-js' {
|
|
|
216
224
|
*
|
|
217
225
|
* @hidden
|
|
218
226
|
*/
|
|
219
|
-
watermark?:
|
|
227
|
+
watermark?: TWatermarkOptions;
|
|
220
228
|
/**
|
|
221
229
|
* Options for the attribution control.
|
|
222
230
|
*
|
|
223
231
|
* @hidden
|
|
224
232
|
*/
|
|
225
233
|
attribution?: {
|
|
234
|
+
/**
|
|
235
|
+
* Custom attribution content.
|
|
236
|
+
*/
|
|
237
|
+
custom?: string[];
|
|
226
238
|
/**
|
|
227
239
|
* Attribution position.
|
|
228
240
|
* @default 'bottom-right'
|
|
229
241
|
*/
|
|
230
|
-
position
|
|
242
|
+
position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
231
243
|
};
|
|
232
244
|
/**
|
|
233
245
|
* First floor to be rendered.
|
|
@@ -250,6 +262,14 @@ declare module '@mappedin/mappedin-js' {
|
|
|
250
262
|
* @experimental
|
|
251
263
|
*/
|
|
252
264
|
style?: {
|
|
265
|
+
/**
|
|
266
|
+
* Background color. Only relevant if outdoor map is disabled.
|
|
267
|
+
*/
|
|
268
|
+
backgroundColor?: string;
|
|
269
|
+
/**
|
|
270
|
+
* Background alpha value. Only relevant if outdoor map is disabled.
|
|
271
|
+
*/
|
|
272
|
+
backgroundAlpha?: number;
|
|
253
273
|
/**
|
|
254
274
|
* Set the global shading for all elements. True will use default values, false will disable shading.
|
|
255
275
|
* @default true
|
|
@@ -271,10 +291,12 @@ declare module '@mappedin/mappedin-js' {
|
|
|
271
291
|
*
|
|
272
292
|
* Returns a {@link MapData} instance from a parsed MVF object.
|
|
273
293
|
*/
|
|
274
|
-
export const hydrateMapDataFromMVF: (mvf: TMVF, options?: TGetMapDataWithCredentialsOptions
|
|
275
|
-
|
|
294
|
+
export const hydrateMapDataFromMVF: (mvf: TMVF, options?: TGetMapDataWithCredentialsOptions & {
|
|
295
|
+
languagePacks?: LanguagePackHydrationItem[];
|
|
296
|
+
}) => Promise<MapData>;
|
|
276
297
|
/**
|
|
277
|
-
* @internal
|
|
298
|
+
* @internal
|
|
299
|
+
* @deprecated Use {@link getMapData} and enterprise will be inferred from key/secret.
|
|
278
300
|
*/
|
|
279
301
|
export function setUseEnterpriseAPI(value: boolean): void;
|
|
280
302
|
/**
|
|
@@ -287,26 +309,11 @@ declare module '@mappedin/mappedin-js' {
|
|
|
287
309
|
* const data = await getMapData({ key: 'api_key', secret: 'api_secret', mapId: 'id' });
|
|
288
310
|
*/
|
|
289
311
|
export const getMapData: (userOptions: TGetMapDataOptions) => Promise<MapData>;
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
/**
|
|
296
|
-
* MapView instance
|
|
297
|
-
*/
|
|
298
|
-
mapView: MapView;
|
|
299
|
-
/**
|
|
300
|
-
* MapData instance
|
|
301
|
-
*/
|
|
302
|
-
mapData: MapData;
|
|
303
|
-
};
|
|
304
|
-
}> {
|
|
305
|
-
#private;
|
|
306
|
-
static instance: MappedinMapLibreOverlay;
|
|
307
|
-
constructor(origin: Position | undefined, mapData: MapData, options?: TShow3DMapOptions);
|
|
308
|
-
onAdd(map: any): HTMLDivElement;
|
|
309
|
-
}
|
|
312
|
+
/**
|
|
313
|
+
* @internal
|
|
314
|
+
* @deprecated Use {@link getMapData} and enterprise will be inferred from key/secret.
|
|
315
|
+
*/
|
|
316
|
+
export const getMapDataEnterprise: (userOptions: TGetMapDataOptions) => Promise<MapData>;
|
|
310
317
|
/**
|
|
311
318
|
* Create a MapLibre overlay with a Map to render it within existing MapLibre projects.
|
|
312
319
|
* @experimental
|
|
@@ -317,17 +324,26 @@ declare module '@mappedin/mappedin-js' {
|
|
|
317
324
|
export { parseMVF, unzipMVF, enableTestMode };
|
|
318
325
|
export type { MapView, MapData, MappedinMapLibreOverlay, TEvents, TEventPayload, TClickPayload, THoverPayload, TShow3DMapOptions, TGetMapDataOptions, TGetMapDataWithAccessTokenOptions, TGetMapDataWithCredentialsOptions, TGetMapDataSharedOptions, TAmbientOcclusionOptions, TAntialiasingOptions, TMVF, PaintStyle, LineStyle, Shading, TMVFStyleCollection, TMVFStyle, TMVFLineStringStyle, TMVFPolygonStyle, TMVFPointStyle, };
|
|
319
326
|
export type * from 'geojson';
|
|
320
|
-
export type { TUpdateState, TLabelState, TGeometryState, TCameraAnimationOptions, TAnimationOptions, TFocusOnOptions, TEasingFunction, TCameraTarget, TNavigationTarget, TDirectionZone, TCameraFocusOnTarget, TAddMarkerOptions, TAddPathOptions, TLabelAppearance, TAddLabelOptions, TAddModelOptions, TAddModel, TGetDirectionsOptions, TCollisionRankingTier, TMarkerAnchor, TDirectionInstruction, TDirectionInstructionAction, TGetState, TMarkerState, } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
327
|
+
export type { TUpdateState, TLabelState, TGeometryState, TCameraAnimationOptions, TAnimationOptions, TFocusOnOptions, TEasingFunction, TCameraTarget, TNavigationTarget, TDirectionZone, TCameraFocusOnTarget, TAddMarkerOptions, TAddPathOptions, TLabelAppearance, TAddLabelOptions, TAddModelOptions, TAddModel, TGetDirectionsOptions, TCollisionRankingTier, TMarkerAnchor, TDirectionInstruction, TDirectionInstructionAction, TGetState, TMarkerState, TBlueDotOptions, } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
328
|
+
export { WALLS, DOORS } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
321
329
|
export type { Label, Marker, Path, Shape, CameraTransform, Model } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
|
|
322
330
|
export type { Navigation, TNavigationOptions } from '@mappedin/mappedin-js/mappedin-js/src/navigation';
|
|
323
331
|
export type { TSpaceType } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
324
|
-
export { Coordinate, Annotation, Connection, Door, Floor, MapObject, PointOfInterest, Space, Image, Hyperlink, } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
325
|
-
export type { Camera, Models, Labels, Markers, Paths, Exporter, Directions, Style, Shapes, Outdoor, } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson';
|
|
326
|
-
export {
|
|
332
|
+
export { Coordinate, Annotation, Connection, Door, Floor, FloorStack, MapObject, PointOfInterest, Space, Image, Hyperlink, EnterpriseLocation, EnterpriseCategory, EnterpriseVenue, type Places, } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
333
|
+
export type { Camera, Models, Labels, Markers, Paths, Exporter, Directions, Style, Shapes, Outdoor, Images, } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson';
|
|
334
|
+
export type { SearchResult, SearchResultItem, SearchResultEnterpriseCategory, SearchResultEnterpriseLocations, SearchResultPlaces, SearchOptions, Search, Suggestion, MatchInfo, } from '@mappedin/mappedin-js/mappedin-js/src/search';
|
|
335
|
+
export type { Analytics, TAnalyticsUpdateState } from '@mappedin/mappedin-js/mappedin-js/src/analytics';
|
|
327
336
|
}
|
|
328
337
|
|
|
329
338
|
declare module '@mappedin/mappedin-js/mappedin-js/src/map-data' {
|
|
330
|
-
import
|
|
339
|
+
import { Analytics } from '@mappedin/mappedin-js/mappedin-js/src/analytics';
|
|
340
|
+
import { PubSub } from '@packages/internal/common';
|
|
341
|
+
import type { TSearchOptions } from '@packages/internal/mvf-utils';
|
|
342
|
+
import type { Connection, Door, Floor, MapDataInternal, Space, MapObject, PointOfInterest, Annotation, Coordinate, FloorStack } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
343
|
+
import type EnterpriseCategory from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/category';
|
|
344
|
+
import type EnterpriseLocation from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/location';
|
|
345
|
+
import type EnterpriseVenue from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/venue';
|
|
346
|
+
import { Search } from '@mappedin/mappedin-js/mappedin-js/src/search';
|
|
331
347
|
/**
|
|
332
348
|
* A WeakMap to associate {@link MapData} instances with their internal representation.
|
|
333
349
|
* We need a way to get the internal data object from the API
|
|
@@ -339,14 +355,40 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data' {
|
|
|
339
355
|
* Represents the data for a map, providing access to map elements
|
|
340
356
|
* like spaces, floors, and points of interest.
|
|
341
357
|
*/
|
|
342
|
-
class MapData {
|
|
358
|
+
class MapData extends PubSub<{
|
|
359
|
+
'language-change': {
|
|
360
|
+
code: string;
|
|
361
|
+
name: string;
|
|
362
|
+
};
|
|
363
|
+
}> {
|
|
343
364
|
#private;
|
|
365
|
+
Analytics: Analytics;
|
|
366
|
+
/**
|
|
367
|
+
* Search API for MapData
|
|
368
|
+
*
|
|
369
|
+
* @example
|
|
370
|
+
* // Enable search
|
|
371
|
+
* const mapData = await getMapData({ search: { enabled: true } });
|
|
372
|
+
* // or
|
|
373
|
+
* await mapData.Search.enable();
|
|
374
|
+
*
|
|
375
|
+
* // Perform a search query
|
|
376
|
+
* const results = await mapData.Search.query('Coffee Shop');
|
|
377
|
+
* console.log(results.locations);
|
|
378
|
+
*
|
|
379
|
+
* // Get search suggestions
|
|
380
|
+
* const suggestions = await mapData.Search.suggest('Coff');
|
|
381
|
+
* console.log(suggestions);
|
|
382
|
+
*/
|
|
383
|
+
Search: Search;
|
|
344
384
|
/**
|
|
345
385
|
* Constructs a new instance of {@link MapData}.
|
|
346
386
|
*
|
|
347
387
|
* @internal
|
|
348
388
|
*/
|
|
349
|
-
constructor(internal: MapDataInternal
|
|
389
|
+
constructor(internal: MapDataInternal, { search }?: {
|
|
390
|
+
search?: TSearchOptions;
|
|
391
|
+
});
|
|
350
392
|
/**
|
|
351
393
|
* The name of the map.
|
|
352
394
|
*
|
|
@@ -398,6 +440,12 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data' {
|
|
|
398
440
|
* const floors = mapData.getByType('floor');
|
|
399
441
|
*/
|
|
400
442
|
getByType(type: 'floor'): Floor[];
|
|
443
|
+
/**
|
|
444
|
+
* @returns The stacks of floors ({@link FloorStack}) within the map.
|
|
445
|
+
* @example
|
|
446
|
+
* const floorStacks = mapData.getByType('floor-stack');
|
|
447
|
+
*/
|
|
448
|
+
getByType(type: 'floor-stack'): FloorStack[];
|
|
401
449
|
/**
|
|
402
450
|
* @returns The connections ({@link Connection}) on the map.
|
|
403
451
|
* @example
|
|
@@ -422,6 +470,24 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data' {
|
|
|
422
470
|
* const annotations = mapData.getByType('annotation');
|
|
423
471
|
*/
|
|
424
472
|
getByType(type: 'annotation'): Annotation[];
|
|
473
|
+
/**
|
|
474
|
+
* @returns The enterprise locations ({@link EnterpriseLocation}) on the map.
|
|
475
|
+
* @example
|
|
476
|
+
* const enterpriseLocations = mapData.getByType('enterprise-location');
|
|
477
|
+
*/
|
|
478
|
+
getByType(type: 'enterprise-location'): EnterpriseLocation[];
|
|
479
|
+
/**
|
|
480
|
+
* @returns The enterprise categories ({@link EnterpriseCategory}) on the map.
|
|
481
|
+
* @example
|
|
482
|
+
* const enterpriseCategories = mapData.getByType('enterprise-category');
|
|
483
|
+
*/
|
|
484
|
+
getByType(type: 'enterprise-category'): EnterpriseCategory[];
|
|
485
|
+
/**
|
|
486
|
+
* @returns The enterprise venue ({@link EnterpriseVenue}) on the map.
|
|
487
|
+
* @example
|
|
488
|
+
* const enterpriseVenue = mapData.getByType('enterprise-venue');
|
|
489
|
+
*/
|
|
490
|
+
getByType(type: 'enterprise-venue'): EnterpriseVenue;
|
|
425
491
|
/**
|
|
426
492
|
* Retrieves a specific map feature by its type and ID.
|
|
427
493
|
*
|
|
@@ -434,13 +500,39 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data' {
|
|
|
434
500
|
getById(type: 'space', id: string): Space | undefined;
|
|
435
501
|
getById(type: 'door', id: string): Door | undefined;
|
|
436
502
|
getById(type: 'floor', id: string): Floor | undefined;
|
|
503
|
+
getById(type: 'floor-stack', id: string): FloorStack | undefined;
|
|
437
504
|
getById(type: 'connection', id: string): Connection | undefined;
|
|
438
505
|
getById(type: 'object', id: string): MapObject | undefined;
|
|
439
506
|
getById(type: 'point-of-interest', id: string): PointOfInterest | undefined;
|
|
440
507
|
getById(type: 'annotation', id: string): Annotation | undefined;
|
|
508
|
+
getById(type: 'enterprise-location', id: string): EnterpriseLocation | undefined;
|
|
509
|
+
getById(type: 'enterprise-category', id: string): EnterpriseCategory | undefined;
|
|
441
510
|
getById(type: string, id: string): object | undefined;
|
|
511
|
+
/**
|
|
512
|
+
* Changes the language of the map data.
|
|
513
|
+
*
|
|
514
|
+
* @param localeCode The ISO 639-1 language code to change to (e.g., 'en' for English, 'fr' for French). Check ({@link EnterpriseVenue.languages}) for available languages
|
|
515
|
+
* @returns A promise that resolves when the language change is complete.
|
|
516
|
+
* @throws An error if the language change fails.
|
|
517
|
+
* @example
|
|
518
|
+
* try {
|
|
519
|
+
* await mapData.changeLanguage('fr');
|
|
520
|
+
* console.log('Language changed to French');
|
|
521
|
+
* } catch (error) {
|
|
522
|
+
* console.error('Failed to change language:', error);
|
|
523
|
+
* }
|
|
524
|
+
*/
|
|
525
|
+
changeLanguage(localeCode: string): Promise<void>;
|
|
526
|
+
/**
|
|
527
|
+
* @internal
|
|
528
|
+
*/
|
|
529
|
+
get currentLanguage(): import("@mappedin/mvf").Language | undefined;
|
|
442
530
|
}
|
|
443
531
|
export default MapData;
|
|
532
|
+
/**
|
|
533
|
+
* @internal
|
|
534
|
+
*/
|
|
535
|
+
export function getMapDataInternal(mapData: MapData): MapDataInternal;
|
|
444
536
|
}
|
|
445
537
|
|
|
446
538
|
declare module '@mappedin/mappedin-js/mappedin-js/src/events' {
|
|
@@ -564,15 +656,30 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects' {
|
|
|
564
656
|
import Annotation from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/annotation';
|
|
565
657
|
import Hyperlink from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/hyperlink';
|
|
566
658
|
import Image from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/image';
|
|
567
|
-
import
|
|
568
|
-
import type {
|
|
659
|
+
import FloorStack from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/floor-stack';
|
|
660
|
+
import type { MapDataRecords } from '@mappedin/mappedin-js/mappedin-js/src/utils/data-creation';
|
|
661
|
+
import type { AnnotationCollection, ParsedMVF, Connection as MVFConnection, EntranceCollection, NodeCollection, ObstructionCollection, SpaceCollection, FloorProperties as MVFFloor, EnterpriseLocation as MVFEnterpriseLocation, EnterpriseCategory as MVFEnterpriseCategory, Language } from '@mappedin/mvf';
|
|
662
|
+
import { AnalyticsInternal } from '@mappedin/mappedin-js/mappedin-js/src/analytics';
|
|
663
|
+
import EnterpriseLocation from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/location';
|
|
664
|
+
import EnterpriseCategory from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/category';
|
|
665
|
+
import EnterpriseVenue from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/venue';
|
|
666
|
+
import { PubSub } from '@packages/internal/common';
|
|
667
|
+
import type { LanguagePack, Places } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/types';
|
|
668
|
+
import { type LocalePackUrls } from '@packages/internal/mvf-utils';
|
|
669
|
+
import type { LanguagePackHydrationItem } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
569
670
|
/**
|
|
570
671
|
* Internal class representing detailed map data.
|
|
571
672
|
*
|
|
572
673
|
* @internal
|
|
573
674
|
*/
|
|
574
|
-
class MapDataInternal {
|
|
675
|
+
class MapDataInternal extends PubSub<{
|
|
676
|
+
'language-change': {
|
|
677
|
+
code: string;
|
|
678
|
+
name: string;
|
|
679
|
+
};
|
|
680
|
+
}> {
|
|
575
681
|
#private;
|
|
682
|
+
Analytics: AnalyticsInternal;
|
|
576
683
|
/**
|
|
577
684
|
* Represents the parsed Mappedin Venue Format (MVF) data.
|
|
578
685
|
*/
|
|
@@ -593,10 +700,47 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects' {
|
|
|
593
700
|
* Represents a map of entrance IDs to obstruction IDs.
|
|
594
701
|
*/
|
|
595
702
|
readonly obstructionIdByEntranceId: Record<string, string>;
|
|
703
|
+
readonly venue?: EnterpriseVenue;
|
|
704
|
+
enterpriseMode: boolean;
|
|
705
|
+
nodesById: MapDataRecords['nodesById'];
|
|
706
|
+
spacesById: MapDataRecords['spacesById'];
|
|
707
|
+
floorsById: MapDataRecords['floorsById'];
|
|
708
|
+
floorStacksById: MapDataRecords['floorStacksById'];
|
|
709
|
+
connectionsById: MapDataRecords['connectionsById'];
|
|
710
|
+
objectsById: MapDataRecords['objectsById'];
|
|
711
|
+
doorsById: MapDataRecords['doorsById'];
|
|
712
|
+
pointsOfInterestById: MapDataRecords['poisById'];
|
|
713
|
+
annotationsById: MapDataRecords['annotationsById'];
|
|
714
|
+
locationsById: MapDataRecords['locationsById'];
|
|
715
|
+
categoriesById: MapDataRecords['categoriesById'];
|
|
716
|
+
doorsByNodeId: MapDataRecords['doorsByNodeId'];
|
|
717
|
+
locationsBySpaceId: MapDataRecords['mvfLocationsBySpaceId'];
|
|
718
|
+
mvfAnnotationsById: MapDataRecords['mvfAnnotationsById'];
|
|
719
|
+
mvfConnectionsById: MapDataRecords['mvfConnectionsById'];
|
|
720
|
+
mvfConnectionsByNodeId: MapDataRecords['mvfConnectionsByNodeId'];
|
|
721
|
+
mvfEntrancesById: MapDataRecords['mvfEntrancesById'];
|
|
722
|
+
mvfNodesById: MapDataRecords['mvfNodesById'];
|
|
723
|
+
mvfObstructionById: MapDataRecords['mvfObstructionById'];
|
|
724
|
+
mvfSpacesById: MapDataRecords['mvfSpacesById'];
|
|
725
|
+
mvfFloorsById: MapDataRecords['mvfFloorsById'];
|
|
726
|
+
mvfFloorStacksById: MapDataRecords['mvfFloorStacksById'];
|
|
727
|
+
localePacksUrls: LocalePackUrls;
|
|
728
|
+
currentLanguage?: Language;
|
|
729
|
+
/**
|
|
730
|
+
* These represent maps of diffed objects that are used to store the translated values
|
|
731
|
+
*/
|
|
732
|
+
languagePacks: {
|
|
733
|
+
[languageCode: string]: LanguagePack;
|
|
734
|
+
};
|
|
596
735
|
/**
|
|
597
736
|
* @internal
|
|
598
737
|
*/
|
|
599
|
-
constructor(mvf: ParsedMVF, outdoorViewToken?:
|
|
738
|
+
constructor(mvf: ParsedMVF, { outdoorViewToken, localePacksUrls: localePacks, enterprise, languagePacks, }?: {
|
|
739
|
+
enterprise?: boolean;
|
|
740
|
+
outdoorViewToken?: string;
|
|
741
|
+
localePacksUrls?: LocalePackUrls;
|
|
742
|
+
languagePacks?: LanguagePackHydrationItem[];
|
|
743
|
+
});
|
|
600
744
|
/**
|
|
601
745
|
* Retrieves the map name.
|
|
602
746
|
*
|
|
@@ -629,6 +773,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects' {
|
|
|
629
773
|
* @returns {Floor[]} An array of Floor objects.
|
|
630
774
|
*/
|
|
631
775
|
get floors(): Floor[];
|
|
776
|
+
get floorStacks(): FloorStack[];
|
|
632
777
|
/**
|
|
633
778
|
* Retrieves all doors in the map.
|
|
634
779
|
*
|
|
@@ -655,6 +800,8 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects' {
|
|
|
655
800
|
* @returns {Annotation[]} An array of Annotation objects.
|
|
656
801
|
*/
|
|
657
802
|
get nodes(): Node[];
|
|
803
|
+
get locations(): EnterpriseLocation[];
|
|
804
|
+
get categories(): EnterpriseCategory[];
|
|
658
805
|
/**
|
|
659
806
|
* Retrieves an object by its type and ID.
|
|
660
807
|
*
|
|
@@ -666,11 +813,14 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects' {
|
|
|
666
813
|
getById(type: 'space', id: string): Space | undefined;
|
|
667
814
|
getById(type: 'door', id: string): Door | undefined;
|
|
668
815
|
getById(type: 'floor', id: string): Floor | undefined;
|
|
816
|
+
getById(type: 'floor-stack', id: string): FloorStack | undefined;
|
|
669
817
|
getById(type: 'connection', id: string): Connection | undefined;
|
|
670
818
|
getById(type: 'object', id: string): MapObject | undefined;
|
|
671
819
|
getById(type: 'point-of-interest', id: string): PointOfInterest | undefined;
|
|
672
820
|
getById(type: 'annotation', id: string): Annotation | undefined;
|
|
673
|
-
|
|
821
|
+
getById(type: 'enterprise-location', id: string): EnterpriseLocation | undefined;
|
|
822
|
+
getById(type: 'enterprise-category', id: string): EnterpriseCategory | undefined;
|
|
823
|
+
getMapDataById(id: string): Places | undefined;
|
|
674
824
|
/**
|
|
675
825
|
* Retrieves a feature by its type and ID from the Mappedin Venue Format (MVF) data.
|
|
676
826
|
*
|
|
@@ -681,12 +831,17 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects' {
|
|
|
681
831
|
getMVFFeatureById(type: 'space', id: string): SpaceCollection['features'][number] | undefined;
|
|
682
832
|
getMVFFeatureById(type: 'node', id: string): NodeCollection['features'][number] | undefined;
|
|
683
833
|
getMVFFeatureById(type: 'obstruction', id: string): ObstructionCollection['features'][number] | undefined;
|
|
684
|
-
getMVFFeatureById(type: 'map', id: string):
|
|
834
|
+
getMVFFeatureById(type: 'map', id: string): MVFFloor | undefined;
|
|
685
835
|
getMVFFeatureById(type: 'connection', id: string): MVFConnection | undefined;
|
|
686
836
|
getMVFFeatureById(type: 'entrance', id: string): EntranceCollection['features'][number] | undefined;
|
|
687
837
|
getMVFFeatureById(type: 'annotation', id: string): AnnotationCollection['features'][number] | undefined;
|
|
688
838
|
getMVFFeatureById(type: string, id: string): object | undefined;
|
|
689
839
|
getMVFFeatureByNodeId(type: 'connection', id: string): MVFConnection | undefined;
|
|
840
|
+
getPropTranslation(type: 'enterprise-location' | 'enterprise-category', prop: string, id: string, fallback: MVFEnterpriseLocation[keyof MVFEnterpriseLocation] | MVFEnterpriseCategory[keyof MVFEnterpriseCategory]): unknown;
|
|
841
|
+
/**
|
|
842
|
+
* change the langauge of the data objects in mapdata
|
|
843
|
+
*/
|
|
844
|
+
changeLanguage(languageCode: string): Promise<void>;
|
|
690
845
|
/**
|
|
691
846
|
* Cleans up resources used by the instance.
|
|
692
847
|
*
|
|
@@ -694,24 +849,25 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects' {
|
|
|
694
849
|
*/
|
|
695
850
|
destroy(): void;
|
|
696
851
|
}
|
|
697
|
-
export { MapDataInternal, Space, Floor, Connection, MapObject, Door, Coordinate, PointOfInterest, Annotation, Hyperlink, Image, };
|
|
852
|
+
export { MapDataInternal, Space, Floor, FloorStack, Connection, MapObject, Door, Coordinate, PointOfInterest, Annotation, Hyperlink, Image, EnterpriseLocation, EnterpriseCategory, EnterpriseVenue, };
|
|
698
853
|
export type { TSpaceType } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/space';
|
|
699
|
-
export type {
|
|
854
|
+
export type { Places };
|
|
700
855
|
}
|
|
701
856
|
|
|
702
857
|
declare module '@mappedin/mappedin-js/mappedin-js/src/map-view' {
|
|
703
|
-
import type { RendererCore,
|
|
858
|
+
import type { RendererCore, WatermarkUpdateOptions } from '@mappedin/core-sdk';
|
|
704
859
|
import { PubSub } from '@packages/internal/common';
|
|
705
860
|
import { type TEvents, type TShow3DMapOptions } from '@mappedin/mappedin-js/mappedin-js/src';
|
|
706
861
|
import type { Navigation } from '@mappedin/mappedin-js/mappedin-js/src/navigation';
|
|
707
|
-
import type { Camera, Labels, Markers, Models, Paths, Exporter, Directions, Style, Outdoor } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson';
|
|
862
|
+
import type { Camera, Labels, Markers, Models, Paths, Exporter, Directions, Style, Outdoor, Images } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson';
|
|
708
863
|
import type { BlueDot } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/blue-dot/blue-dot';
|
|
709
864
|
import type MapData from '@mappedin/mappedin-js/mappedin-js/src/map-data';
|
|
710
|
-
import type { Floor, MapObject, Space } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
711
|
-
import type { TGetDirectionsOptions, TGetState, TNavigationTarget, TUpdateState, TUpdateStates } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
712
|
-
import type { Label, Marker } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
|
|
865
|
+
import type { Door, Floor, MapObject, Space } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
866
|
+
import type { DOORS, WALLS, TGetDirectionsOptions, TGetState, TNavigationTarget, TUpdateState, TUpdateStates } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
867
|
+
import type { Label, Marker, Image } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
|
|
713
868
|
import type { TEventPayload } from '@mappedin/mappedin-js/mappedin-js/src/events';
|
|
714
869
|
import type { Shapes } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/shapes';
|
|
870
|
+
import type { TShowStackOptions } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/stacked-maps/stacked-maps';
|
|
715
871
|
export class MapView extends PubSub<TEvents> {
|
|
716
872
|
#private;
|
|
717
873
|
/**
|
|
@@ -726,6 +882,10 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view' {
|
|
|
726
882
|
* Controls for the map's markers.
|
|
727
883
|
*/
|
|
728
884
|
Markers: Markers;
|
|
885
|
+
/**
|
|
886
|
+
* Controls for the map's markers.
|
|
887
|
+
*/
|
|
888
|
+
Images: Images;
|
|
729
889
|
/**
|
|
730
890
|
* Controls for the map's models.
|
|
731
891
|
*/
|
|
@@ -781,8 +941,8 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view' {
|
|
|
781
941
|
* // Update the color of a space to red.
|
|
782
942
|
* map.updateState(space, { color: 'red' });
|
|
783
943
|
*/
|
|
784
|
-
updateState<T extends Space | MapObject | Label | Marker>(target: T
|
|
785
|
-
updateState<T extends
|
|
944
|
+
updateState<T extends Space | MapObject | Label | Marker | Door | WALLS | DOORS>(target: T, state: TUpdateState<T>): any;
|
|
945
|
+
updateState<T extends string & NonNullable<unknown>>(target: T, state: TUpdateStates): any;
|
|
786
946
|
update: () => void;
|
|
787
947
|
getMapData(): {
|
|
788
948
|
[x: string]: MapData;
|
|
@@ -802,6 +962,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view' {
|
|
|
802
962
|
expand(opts?: {
|
|
803
963
|
excludeFloors: Floor[];
|
|
804
964
|
}): Promise<void> | undefined;
|
|
965
|
+
showStack(opts?: TShowStackOptions): Promise<void> | undefined;
|
|
805
966
|
/**
|
|
806
967
|
* @experimental
|
|
807
968
|
* @hidden
|
|
@@ -818,7 +979,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view' {
|
|
|
818
979
|
* Sets the current floor ({@link Floor}) of the map.
|
|
819
980
|
* @param floor The floor or floor ID to set.
|
|
820
981
|
*/
|
|
821
|
-
setFloor(floor: Floor | string): void;
|
|
982
|
+
setFloor(floor: Floor | string): Promise<void> | undefined;
|
|
822
983
|
/**
|
|
823
984
|
* The current floor ({@link Floor}) of the map.
|
|
824
985
|
*/
|
|
@@ -829,8 +990,8 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view' {
|
|
|
829
990
|
* @param options {WatermarkOptions}
|
|
830
991
|
* @hidden
|
|
831
992
|
*/
|
|
832
|
-
updateWatermark(options:
|
|
833
|
-
getState<T extends Space | MapObject | Label | Marker | string>(target: T): TGetState<T> | undefined;
|
|
993
|
+
updateWatermark(options: WatermarkUpdateOptions): void;
|
|
994
|
+
getState<T extends Space | MapObject | Label | Marker | Image | string>(target: T): TGetState<T> | undefined;
|
|
834
995
|
setHoverColor(c: string): void;
|
|
835
996
|
getHoverColor(): string | undefined;
|
|
836
997
|
/**
|
|
@@ -911,14 +1072,17 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view' {
|
|
|
911
1072
|
* @internal
|
|
912
1073
|
*/
|
|
913
1074
|
get __core(): RendererCore;
|
|
1075
|
+
/**
|
|
1076
|
+
* Clears all added elements from the map.
|
|
1077
|
+
*/
|
|
1078
|
+
clear(): void;
|
|
914
1079
|
/**
|
|
915
1080
|
* Destroys the MapView.
|
|
916
1081
|
*/
|
|
917
1082
|
destroy(): void;
|
|
918
1083
|
/**
|
|
919
|
-
* @internal
|
|
920
1084
|
* @experimental
|
|
921
|
-
*
|
|
1085
|
+
* Enable debug interface
|
|
922
1086
|
*/
|
|
923
1087
|
enableDebug(): Promise<void>;
|
|
924
1088
|
}
|
|
@@ -928,8 +1092,8 @@ declare module '@mappedin/mappedin-js/geojson/src' {
|
|
|
928
1092
|
import type { MarkerState, AddMarkerOptions } from '@mappedin/mappedin-js/geojson/src/components/marker';
|
|
929
1093
|
import type { PathState, AddPathOptions } from '@mappedin/mappedin-js/geojson/src/components/path';
|
|
930
1094
|
import type { AddLabelOptions, LabelAppearance, LabelState } from '@mappedin/mappedin-js/geojson/src/components/label';
|
|
931
|
-
import type { GroupContainerState } from '@mappedin/mappedin-js/geojson/src/entities/
|
|
932
|
-
import type { GeometryGroupState } from '@mappedin/mappedin-js/geojson/src/entities/
|
|
1095
|
+
import type { GroupContainerState } from '@mappedin/mappedin-js/geojson/src/entities/group-container';
|
|
1096
|
+
import type { GeometryGroupState } from '@mappedin/mappedin-js/geojson/src/entities/geometry-group';
|
|
933
1097
|
import type { Position } from '@mappedin/mappedin-js/geojson/src/types/geometry';
|
|
934
1098
|
import type { InsetPadding, RendererCoreOptions, ClickPayload, HoverPayload, CameraPayload, MapEvent, MapEventPayload } from '@mappedin/mappedin-js/geojson/src/types';
|
|
935
1099
|
import type { GeometryState } from '@mappedin/mappedin-js/geojson/src/components/mesh';
|
|
@@ -951,7 +1115,7 @@ declare module '@mappedin/mappedin-js/geojson/src' {
|
|
|
951
1115
|
export { mountSceneGraphVisualizer };
|
|
952
1116
|
export type { EntityId, EntityState, LineStyle, PaintStyle, ModelStyle, ModelProperties, Shading } from '@mappedin/mappedin-js/geojson/src/types';
|
|
953
1117
|
export type * from 'geojson';
|
|
954
|
-
export type { WatermarkOptions, WatermarkPosition } from '@mappedin/mappedin-js/geojson/src/systems/watermark/system';
|
|
1118
|
+
export type { WatermarkUpdateOptions, WatermarkOptions, WatermarkPosition } from '@mappedin/mappedin-js/geojson/src/systems/watermark/system';
|
|
955
1119
|
export type { GLTFExportOptions } from '@mappedin/mappedin-js/geojson/src/systems/exporter';
|
|
956
1120
|
export type { AttributionControlOptions, AttributionPosition } from '@mappedin/mappedin-js/geojson/src/systems/html-controls/system';
|
|
957
1121
|
export { ATTRIBUTION_POSITIONS } from '@mappedin/mappedin-js/geojson/src/systems/html-controls/system';
|
|
@@ -961,31 +1125,48 @@ declare module '@mappedin/mappedin-js/geojson/src' {
|
|
|
961
1125
|
}): Promise<RendererCore>;
|
|
962
1126
|
}
|
|
963
1127
|
|
|
964
|
-
declare module '@mappedin/mappedin-js/
|
|
965
|
-
import
|
|
966
|
-
import type
|
|
967
|
-
import
|
|
968
|
-
import {
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
1128
|
+
declare module '@mappedin/mappedin-js/mappedin-js/src/maplibre-overlay' {
|
|
1129
|
+
import { MapView } from '@mappedin/mappedin-js/mappedin-js/src/map-view';
|
|
1130
|
+
import type MapData from '@mappedin/mappedin-js/mappedin-js/src/map-data';
|
|
1131
|
+
import type { TShow3DMapOptions } from '@mappedin/mappedin-js/mappedin-js/src';
|
|
1132
|
+
import { MapLibreOverlay } from '@mappedin/mappedin-js/geojson/src/maplibre-overlay';
|
|
1133
|
+
import type { Position } from '@mappedin/core-sdk';
|
|
1134
|
+
export class MappedinMapLibreOverlay extends MapLibreOverlay<{
|
|
1135
|
+
/**
|
|
1136
|
+
* Event emitted when the MappedinMap is loaded
|
|
1137
|
+
*/
|
|
1138
|
+
loaded: {
|
|
1139
|
+
/**
|
|
1140
|
+
* MapView instance
|
|
1141
|
+
*/
|
|
1142
|
+
mapView: MapView;
|
|
1143
|
+
/**
|
|
1144
|
+
* MapData instance
|
|
1145
|
+
*/
|
|
1146
|
+
mapData: MapData;
|
|
1147
|
+
};
|
|
1148
|
+
}> {
|
|
1149
|
+
#private;
|
|
1150
|
+
static instance: MappedinMapLibreOverlay;
|
|
1151
|
+
constructor(origin: Position | undefined, mapData: MapData, options?: TShow3DMapOptions);
|
|
1152
|
+
onAdd(map: any): HTMLDivElement;
|
|
1153
|
+
onRemove(): void;
|
|
976
1154
|
}
|
|
977
1155
|
}
|
|
978
1156
|
|
|
979
|
-
declare module '@mappedin/mappedin-js/mappedin-js/src/analytics' {
|
|
980
|
-
export { analytics, analyticsInternal } from '@mappedin/mappedin-js/mappedin-js/src/analytics/customer';
|
|
981
|
-
export type { CustomerAnalytics, AnalyticsOptions } from '@mappedin/mappedin-js/mappedin-js/src/analytics/customer';
|
|
982
|
-
}
|
|
983
|
-
|
|
984
1157
|
declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
|
|
985
|
-
import { Feature, MultiPolygon, Polygon } from 'geojson';
|
|
986
|
-
import type { Coordinate, Floor, Door, Space, MapObject, PointOfInterest, Connection, Annotation } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
987
|
-
import type { Label, Marker, Model } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
|
|
1158
|
+
import type { Feature, MultiPolygon, Polygon } from 'geojson';
|
|
1159
|
+
import type { Coordinate, Floor, Door, Space, MapObject, PointOfInterest, Connection, Annotation, EnterpriseLocation } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
1160
|
+
import type { Label, Marker, Model, Image } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
|
|
988
1161
|
import type { EasingCurve } from '@mappedin/core-sdk/src/camera';
|
|
1162
|
+
import type { Language, ParsedMVFLocalePack } from '@mappedin/mvf';
|
|
1163
|
+
export type DeepRequired<T> = Required<{
|
|
1164
|
+
[K in keyof T]: T[K] extends Required<T[K]> ? T[K] : DeepRequired<T[K]>;
|
|
1165
|
+
}>;
|
|
1166
|
+
export type CancellablePromise<T> = {
|
|
1167
|
+
promise: Promise<T>;
|
|
1168
|
+
cancel: () => void;
|
|
1169
|
+
};
|
|
989
1170
|
/**
|
|
990
1171
|
* @hidden
|
|
991
1172
|
*/
|
|
@@ -1016,6 +1197,10 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
|
|
|
1016
1197
|
* The target {@link Floor} for this action.
|
|
1017
1198
|
*/
|
|
1018
1199
|
toFloor?: Floor;
|
|
1200
|
+
/**
|
|
1201
|
+
* Connection object related to the action.
|
|
1202
|
+
* This represents the specific connection (e.g., elevator, stairs) involved in the current direction step.
|
|
1203
|
+
*/
|
|
1019
1204
|
connection?: Connection;
|
|
1020
1205
|
/**
|
|
1021
1206
|
* The direction of the connection (e.g., 'up', 'down').
|
|
@@ -1023,6 +1208,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
|
|
|
1023
1208
|
direction?: 'up' | 'down' | 'none';
|
|
1024
1209
|
/**
|
|
1025
1210
|
* The type of the connection (e.g., 'elevator', 'escalator').
|
|
1211
|
+
* @deprecated in favor of `connection.type`
|
|
1026
1212
|
*/
|
|
1027
1213
|
connectionType?: string;
|
|
1028
1214
|
};
|
|
@@ -1047,6 +1233,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
|
|
|
1047
1233
|
* Defines the state for a label when its appearance is updated.
|
|
1048
1234
|
*/
|
|
1049
1235
|
export type TLabelState = {
|
|
1236
|
+
text: string;
|
|
1050
1237
|
type: 'label';
|
|
1051
1238
|
/**
|
|
1052
1239
|
* Appearance settings for the label.
|
|
@@ -1071,7 +1258,44 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
|
|
|
1071
1258
|
export type TModelState = {
|
|
1072
1259
|
type: 'model';
|
|
1073
1260
|
};
|
|
1261
|
+
/**
|
|
1262
|
+
* Defines the state for an image when its appearance is updated.
|
|
1263
|
+
*/
|
|
1264
|
+
export type TImageState = {
|
|
1265
|
+
type: 'image';
|
|
1266
|
+
};
|
|
1074
1267
|
export type TWallsState = {
|
|
1268
|
+
type: 'walls';
|
|
1269
|
+
/**
|
|
1270
|
+
* Color of the walls.
|
|
1271
|
+
*/
|
|
1272
|
+
color: string | 'initial';
|
|
1273
|
+
/**
|
|
1274
|
+
* Color of the top of walls, if not set, defaults to the color.
|
|
1275
|
+
*/
|
|
1276
|
+
topColor?: string | 'initial';
|
|
1277
|
+
/**
|
|
1278
|
+
* Texture to apply to the geometry element.
|
|
1279
|
+
*/
|
|
1280
|
+
texture?: {
|
|
1281
|
+
url?: string;
|
|
1282
|
+
};
|
|
1283
|
+
/**
|
|
1284
|
+
* Top texture to apply to the geometry element.
|
|
1285
|
+
*/
|
|
1286
|
+
topTexture?: {
|
|
1287
|
+
url?: string;
|
|
1288
|
+
};
|
|
1289
|
+
/**
|
|
1290
|
+
* Visibility of the walls.
|
|
1291
|
+
*/
|
|
1292
|
+
visible: boolean;
|
|
1293
|
+
};
|
|
1294
|
+
/**
|
|
1295
|
+
* @interface
|
|
1296
|
+
*/
|
|
1297
|
+
export type TDoorsState = {
|
|
1298
|
+
type: 'doors';
|
|
1075
1299
|
/**
|
|
1076
1300
|
* Color of the walls.
|
|
1077
1301
|
*/
|
|
@@ -1080,6 +1304,26 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
|
|
|
1080
1304
|
* Color of the top of walls, if not set, defaults to the color.
|
|
1081
1305
|
*/
|
|
1082
1306
|
topColor?: string | 'initial';
|
|
1307
|
+
/**
|
|
1308
|
+
* Texture to apply to the geometry element.
|
|
1309
|
+
*/
|
|
1310
|
+
texture?: {
|
|
1311
|
+
url?: string;
|
|
1312
|
+
};
|
|
1313
|
+
/**
|
|
1314
|
+
* Top texture to apply to the geometry element.
|
|
1315
|
+
*/
|
|
1316
|
+
topTexture?: {
|
|
1317
|
+
url?: string;
|
|
1318
|
+
};
|
|
1319
|
+
/**
|
|
1320
|
+
* Visibility of the walls.
|
|
1321
|
+
*/
|
|
1322
|
+
visible: boolean;
|
|
1323
|
+
/**
|
|
1324
|
+
* Opacity of the doors.
|
|
1325
|
+
*/
|
|
1326
|
+
opacity: number;
|
|
1083
1327
|
};
|
|
1084
1328
|
export type TMarkerState = {
|
|
1085
1329
|
type: 'marker';
|
|
@@ -1129,13 +1373,41 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
|
|
|
1129
1373
|
* Indicates if the geometry element is interactive. Color can be set using CSS colors names `DarkGoldenRod`, as Hex strings `#0000FF` or the rgb values `rgb(255,0,0)`.
|
|
1130
1374
|
*/
|
|
1131
1375
|
interactive: boolean;
|
|
1376
|
+
/**
|
|
1377
|
+
* Opacity of the geometry element.
|
|
1378
|
+
*/
|
|
1379
|
+
opacity: number;
|
|
1380
|
+
/**
|
|
1381
|
+
* Height of the geometry element in meters.
|
|
1382
|
+
*/
|
|
1383
|
+
height: number;
|
|
1384
|
+
/**
|
|
1385
|
+
* Texture to apply to the geometry element.
|
|
1386
|
+
*/
|
|
1387
|
+
texture?: {
|
|
1388
|
+
url: string;
|
|
1389
|
+
};
|
|
1390
|
+
/**
|
|
1391
|
+
* Top texture to apply to the geometry element.
|
|
1392
|
+
*/
|
|
1393
|
+
topTexture?: {
|
|
1394
|
+
url: string;
|
|
1395
|
+
};
|
|
1132
1396
|
};
|
|
1397
|
+
export enum WALLS {
|
|
1398
|
+
Exterior = "exterior-walls",
|
|
1399
|
+
Interior = "interior-walls"
|
|
1400
|
+
}
|
|
1401
|
+
export enum DOORS {
|
|
1402
|
+
Interior = "interior-doors",
|
|
1403
|
+
Exterior = "exterior-doors"
|
|
1404
|
+
}
|
|
1133
1405
|
/**
|
|
1134
1406
|
* The type for updating the state of map elements (colors, texts, etc.).
|
|
1135
1407
|
*/
|
|
1136
|
-
export type TUpdateState<T> = T extends
|
|
1408
|
+
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 Door ? Partial<TGeometryState> : T extends string ? Record<string, any> : never;
|
|
1137
1409
|
export type TUpdateStates = Partial<Omit<TGeometryState, 'interactive' | 'hoverColor' | 'type'>> | Partial<TMarkerState> | Partial<TLabelState> | Partial<TGeometryState>;
|
|
1138
|
-
export type TGetEntityState<T> = T extends Marker ? TMarkerState : T extends Model ? TModelState : T extends Label ? TLabelState : T extends Space | MapObject ? TGeometryState : T extends string ? TLabelState | TGeometryState | TMarkerState | TModelState | undefined : never;
|
|
1410
|
+
export type TGetEntityState<T> = T extends WALLS ? TWallsState : T extends DOORS ? TDoorsState : T extends Marker ? TMarkerState : T extends Model ? TModelState : T extends Label ? TLabelState : T extends Image ? TImageState : T extends Space | MapObject ? TGeometryState : T extends string ? TLabelState | TGeometryState | TMarkerState | TModelState | undefined : never;
|
|
1139
1411
|
export type TGetState<T> = TGetEntityState<T> | undefined;
|
|
1140
1412
|
/**
|
|
1141
1413
|
* Options for {@link Camera} animations on the map.
|
|
@@ -1243,7 +1515,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
|
|
|
1243
1515
|
/**
|
|
1244
1516
|
* Defines the target for navigation operations.
|
|
1245
1517
|
*/
|
|
1246
|
-
export type TNavigationTarget = Space | MapObject | Coordinate | Door | PointOfInterest | Connection;
|
|
1518
|
+
export type TNavigationTarget = Space | MapObject | Coordinate | Door | PointOfInterest | Connection | EnterpriseLocation;
|
|
1247
1519
|
/**
|
|
1248
1520
|
* Defines the special zone for navigation operations.
|
|
1249
1521
|
*/
|
|
@@ -1597,6 +1869,42 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
|
|
|
1597
1869
|
*/
|
|
1598
1870
|
url: string;
|
|
1599
1871
|
};
|
|
1872
|
+
/**
|
|
1873
|
+
* Options for controlling the behavior of a {@link Marker}.
|
|
1874
|
+
* @interface
|
|
1875
|
+
*/
|
|
1876
|
+
export type TAddImageOptions = {
|
|
1877
|
+
/**
|
|
1878
|
+
* @internal
|
|
1879
|
+
*/
|
|
1880
|
+
id?: string;
|
|
1881
|
+
/**
|
|
1882
|
+
* Width of the image in meters.
|
|
1883
|
+
*/
|
|
1884
|
+
width: number;
|
|
1885
|
+
/**
|
|
1886
|
+
* Height of the image in meters.
|
|
1887
|
+
*/
|
|
1888
|
+
height: number;
|
|
1889
|
+
/**
|
|
1890
|
+
* Rotation of the image in degrees.
|
|
1891
|
+
*
|
|
1892
|
+
* @default 0
|
|
1893
|
+
*/
|
|
1894
|
+
rotation?: number;
|
|
1895
|
+
/**
|
|
1896
|
+
* Vertical offset of the image in meters.
|
|
1897
|
+
*
|
|
1898
|
+
* @default 0
|
|
1899
|
+
*/
|
|
1900
|
+
verticalOffset?: number;
|
|
1901
|
+
/**
|
|
1902
|
+
* Attempt to keep the image facing the camera as much as possible
|
|
1903
|
+
*
|
|
1904
|
+
* @default false
|
|
1905
|
+
*/
|
|
1906
|
+
flipImageToFaceCamera?: boolean;
|
|
1907
|
+
};
|
|
1600
1908
|
/**
|
|
1601
1909
|
* Options for controlling the behavior of a {@link Marker}.
|
|
1602
1910
|
* @interface
|
|
@@ -1664,11 +1972,38 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
|
|
|
1664
1972
|
*/
|
|
1665
1973
|
id?: string;
|
|
1666
1974
|
};
|
|
1975
|
+
export type TBlueDotOptions = {
|
|
1976
|
+
/** The radius of the BlueDot in pixels. The BlueDot will maintain this size clamped to a minimum of 0.35 metres. */
|
|
1977
|
+
radius?: number;
|
|
1978
|
+
/** The color of the BlueDot core element. */
|
|
1979
|
+
color?: string;
|
|
1980
|
+
/** Options for the accuracy ring around the BlueDot. */
|
|
1981
|
+
accuracyRing?: {
|
|
1982
|
+
/** The color of the accuracy ring. */
|
|
1983
|
+
color?: string;
|
|
1984
|
+
/** The opacity of the accuracy ring. */
|
|
1985
|
+
opacity?: number;
|
|
1986
|
+
};
|
|
1987
|
+
/**
|
|
1988
|
+
* Options for the bearing directional indicator.
|
|
1989
|
+
*/
|
|
1990
|
+
bearing?: {
|
|
1991
|
+
/** The color of the bearing cone. */
|
|
1992
|
+
color?: string;
|
|
1993
|
+
/** The opacity of the bearing cone. */
|
|
1994
|
+
opacity?: number;
|
|
1995
|
+
};
|
|
1996
|
+
};
|
|
1997
|
+
export type LanguagePackHydrationItem = {
|
|
1998
|
+
language: Language;
|
|
1999
|
+
localePack: ParsedMVFLocalePack;
|
|
2000
|
+
};
|
|
1667
2001
|
}
|
|
1668
2002
|
|
|
1669
2003
|
declare module '@mappedin/mappedin-js/mappedin-js/src/map-view-objects' {
|
|
1670
2004
|
export { Label } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/label';
|
|
1671
2005
|
export { Marker } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/marker';
|
|
2006
|
+
export { Image } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/image';
|
|
1672
2007
|
export { Model } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/model';
|
|
1673
2008
|
export { Path } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/path';
|
|
1674
2009
|
export { CameraTransform } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/camera-transform';
|
|
@@ -1676,8 +2011,9 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view-objects' {
|
|
|
1676
2011
|
}
|
|
1677
2012
|
|
|
1678
2013
|
declare module '@mappedin/mappedin-js/mappedin-js/src/navigation' {
|
|
1679
|
-
import type { MapView } from '@mappedin/mappedin-js/mappedin-js/src/map-view';
|
|
1680
2014
|
import type { Directions } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson';
|
|
2015
|
+
import type { GeojsonApiMapObject } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/map-object';
|
|
2016
|
+
import type { RendererCore } from '@mappedin/core-sdk';
|
|
1681
2017
|
/**
|
|
1682
2018
|
* Options for navigation.
|
|
1683
2019
|
*/
|
|
@@ -1738,14 +2074,19 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/navigation' {
|
|
|
1738
2074
|
animateArrowsOnPath?: boolean;
|
|
1739
2075
|
};
|
|
1740
2076
|
/**
|
|
1741
|
-
* Options for the departure and destination
|
|
2077
|
+
* Options for the markers at the departure and destination.
|
|
1742
2078
|
*/
|
|
1743
|
-
|
|
2079
|
+
markerOptions?: {
|
|
1744
2080
|
/**
|
|
1745
|
-
* The color of the departure
|
|
1746
|
-
* @default '#
|
|
2081
|
+
* The color of the departure marker.
|
|
2082
|
+
* @default '#1890FF'
|
|
2083
|
+
*/
|
|
2084
|
+
departureColor?: string;
|
|
2085
|
+
/**
|
|
2086
|
+
* The color of the destination marker.
|
|
2087
|
+
* @default '#722ED1'
|
|
1747
2088
|
*/
|
|
1748
|
-
|
|
2089
|
+
destinationColor?: string;
|
|
1749
2090
|
};
|
|
1750
2091
|
};
|
|
1751
2092
|
export class Navigation {
|
|
@@ -1753,18 +2094,24 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/navigation' {
|
|
|
1753
2094
|
/**
|
|
1754
2095
|
* @internal
|
|
1755
2096
|
*/
|
|
1756
|
-
|
|
2097
|
+
get currentMap(): GeojsonApiMapObject;
|
|
2098
|
+
/**
|
|
2099
|
+
* @internal
|
|
2100
|
+
*/
|
|
2101
|
+
constructor(core: RendererCore, currentMapGetter: CurrentMapGetter);
|
|
1757
2102
|
/**
|
|
1758
2103
|
* Draws the specified directions on the map.
|
|
1759
2104
|
* @param directions The directions to be drawn.
|
|
1760
2105
|
* @param options Optional additional options for the navigation.
|
|
1761
2106
|
*/
|
|
1762
|
-
draw: (directions: Directions, options?: TNavigationOptions) => Promise<
|
|
2107
|
+
draw: (directions: Directions, options?: TNavigationOptions) => Promise<unknown>;
|
|
1763
2108
|
/**
|
|
1764
2109
|
* Clears any drawn navigation paths or directions from the map.
|
|
1765
2110
|
*/
|
|
1766
2111
|
clear: () => void;
|
|
1767
2112
|
}
|
|
2113
|
+
type CurrentMapGetter = () => GeojsonApiMapObject | undefined;
|
|
2114
|
+
export {};
|
|
1768
2115
|
}
|
|
1769
2116
|
|
|
1770
2117
|
declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson' {
|
|
@@ -1779,39 +2126,274 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson' {
|
|
|
1779
2126
|
export { Directions } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/directions';
|
|
1780
2127
|
export { Style } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/style';
|
|
1781
2128
|
export { default as Outdoor } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/outdoor';
|
|
2129
|
+
export { Images } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/images';
|
|
1782
2130
|
}
|
|
1783
2131
|
|
|
1784
|
-
declare module '@mappedin/mappedin-js/mappedin-js/src/
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
import { PubSub } from '@packages/internal/common';
|
|
1789
|
-
export const GAP_BELOW_FLOORS = 30;
|
|
1790
|
-
export const DURATION = 1000;
|
|
1791
|
-
export type TStackedMapsEvents = {
|
|
1792
|
-
expanded: void;
|
|
1793
|
-
collapsed: void;
|
|
1794
|
-
};
|
|
1795
|
-
export class StackedMaps extends PubSub<TStackedMapsEvents> {
|
|
1796
|
-
#private;
|
|
1797
|
-
constructor(api: GeojsonApiMapObject, core: RendererCore);
|
|
1798
|
-
includedFloors: FloorObject[];
|
|
1799
|
-
get percentExpanded(): number;
|
|
1800
|
-
set percentExpanded(value: number);
|
|
1801
|
-
animateToCurrentFloor(): void;
|
|
1802
|
-
expanded: boolean;
|
|
1803
|
-
expand(opts?: {
|
|
1804
|
-
excludeFloorIds: string[];
|
|
1805
|
-
}): Promise<void>;
|
|
1806
|
-
collapse(): Promise<void>;
|
|
1807
|
-
animate(direction: 'expand' | 'collapse'): Promise<void>;
|
|
1808
|
-
}
|
|
2132
|
+
declare module '@mappedin/mappedin-js/mappedin-js/src/search' {
|
|
2133
|
+
export type { SearchResult, SearchResultItem, SearchOptions, Suggestion, SearchResultEnterpriseCategory, SearchResultEnterpriseLocations, SearchResultPlaces, MatchInfo, } from '@mappedin/mappedin-js/mappedin-js/src/search/internal';
|
|
2134
|
+
export type { SearchState } from '@mappedin/mappedin-js/mappedin-js/src/search/external';
|
|
2135
|
+
export { Search } from '@mappedin/mappedin-js/mappedin-js/src/search/external';
|
|
1809
2136
|
}
|
|
1810
2137
|
|
|
1811
|
-
declare module '@mappedin/mappedin-js/mappedin-js/src/
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
2138
|
+
declare module '@mappedin/mappedin-js/mappedin-js/src/analytics' {
|
|
2139
|
+
export { Analytics, AnalyticsInternal } from '@mappedin/mappedin-js/mappedin-js/src/analytics/customer';
|
|
2140
|
+
export type { AnalyticsUpdateOptions, AnalyticState, TAnalyticsUpdateState } from '@mappedin/mappedin-js/mappedin-js/src/analytics/customer';
|
|
2141
|
+
}
|
|
2142
|
+
|
|
2143
|
+
declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/category' {
|
|
2144
|
+
import type { EnterpriseCategory as MVFEnterpriseCategory } from '@mappedin/mvf';
|
|
2145
|
+
import type { MapDataInternal, EnterpriseLocation } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
2146
|
+
import BaseMapData from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/base-object';
|
|
2147
|
+
/**
|
|
2148
|
+
* An EnterpriseCategory is a collection of similar EnterpriseLocations.
|
|
2149
|
+
*
|
|
2150
|
+
*/
|
|
2151
|
+
class EnterpriseCategory extends BaseMapData implements Omit<MVFEnterpriseCategory, 'children' | 'locations'> {
|
|
2152
|
+
#private;
|
|
2153
|
+
/**
|
|
2154
|
+
* @internal
|
|
2155
|
+
*/
|
|
2156
|
+
static readonly __type = "enterprise-category";
|
|
2157
|
+
/**
|
|
2158
|
+
* @internal
|
|
2159
|
+
*/
|
|
2160
|
+
readonly __type = "enterprise-category";
|
|
2161
|
+
name: string;
|
|
2162
|
+
color?: string | undefined;
|
|
2163
|
+
externalId: string;
|
|
2164
|
+
extra?: Record<string, unknown> | undefined;
|
|
2165
|
+
icon?: string | undefined;
|
|
2166
|
+
iconFromDefaultList?: string | null | undefined;
|
|
2167
|
+
sortOrder: number;
|
|
2168
|
+
/**
|
|
2169
|
+
* Checks if the provided instance is of type EnterpriseCategory.
|
|
2170
|
+
*
|
|
2171
|
+
* @param instance The instance to check.
|
|
2172
|
+
* @returns {boolean} True if the instance is a EnterpriseCategory, false otherwise.
|
|
2173
|
+
*/
|
|
2174
|
+
static is(instance: object): instance is EnterpriseCategory;
|
|
2175
|
+
/**
|
|
2176
|
+
* @internal
|
|
2177
|
+
*/
|
|
2178
|
+
constructor(data: MapDataInternal, options: {
|
|
2179
|
+
mvfData: MVFEnterpriseCategory;
|
|
2180
|
+
});
|
|
2181
|
+
get children(): EnterpriseCategory[];
|
|
2182
|
+
get locations(): EnterpriseLocation[];
|
|
2183
|
+
/**
|
|
2184
|
+
* Serializes the EnterpriseCategory data to JSON.
|
|
2185
|
+
*
|
|
2186
|
+
* @returns An object representing the EnterpriseCategory.
|
|
2187
|
+
*/
|
|
2188
|
+
toJSON(): {
|
|
2189
|
+
id: string;
|
|
2190
|
+
name: string;
|
|
2191
|
+
};
|
|
2192
|
+
/**
|
|
2193
|
+
* Cleans up resources used by the instance.
|
|
2194
|
+
*
|
|
2195
|
+
* @internal
|
|
2196
|
+
*/
|
|
2197
|
+
destroy(): void;
|
|
2198
|
+
}
|
|
2199
|
+
export default EnterpriseCategory;
|
|
2200
|
+
}
|
|
2201
|
+
|
|
2202
|
+
declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/location' {
|
|
2203
|
+
import type { EnterpriseLocation as MVFEnterpriseLocation, LocationState, OperationHours, SiblingGroup } from '@mappedin/mvf';
|
|
2204
|
+
import type { Coordinate, MapDataInternal, Space } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
2205
|
+
import BaseMapData from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/base-object';
|
|
2206
|
+
import type Node from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/node';
|
|
2207
|
+
/**
|
|
2208
|
+
* A class representing enterprise location data within the map.
|
|
2209
|
+
*
|
|
2210
|
+
* An EnterpriseLocation is something like a store, or a washroom on a map.
|
|
2211
|
+
*/
|
|
2212
|
+
class EnterpriseLocation extends BaseMapData implements Omit<MVFEnterpriseLocation, 'polygons' | 'nodes' | 'links'> {
|
|
2213
|
+
#private;
|
|
2214
|
+
/**
|
|
2215
|
+
* @internal
|
|
2216
|
+
*/
|
|
2217
|
+
static readonly __type = "enterprise-location";
|
|
2218
|
+
/**
|
|
2219
|
+
* @internal
|
|
2220
|
+
*/
|
|
2221
|
+
readonly __type = "enterprise-location";
|
|
2222
|
+
description?: string | undefined;
|
|
2223
|
+
name: string;
|
|
2224
|
+
amenity?: string | undefined;
|
|
2225
|
+
externalId: string;
|
|
2226
|
+
extra?: Record<string, unknown> | undefined;
|
|
2227
|
+
gallery?: {
|
|
2228
|
+
caption?: string | null;
|
|
2229
|
+
image: string;
|
|
2230
|
+
embeddedUrl?: string | null;
|
|
2231
|
+
}[] | undefined;
|
|
2232
|
+
logo?: string | undefined;
|
|
2233
|
+
operationHours?: OperationHours[] | undefined;
|
|
2234
|
+
phone?: {
|
|
2235
|
+
number: string;
|
|
2236
|
+
extension?: string;
|
|
2237
|
+
} | undefined;
|
|
2238
|
+
picture?: string | undefined;
|
|
2239
|
+
shortName?: string | undefined;
|
|
2240
|
+
showFloatingLabelWhenImagePresent?: boolean | undefined;
|
|
2241
|
+
showLogo?: boolean | undefined;
|
|
2242
|
+
siblingGroups?: SiblingGroup[] | undefined;
|
|
2243
|
+
social?: {
|
|
2244
|
+
facebook?: string;
|
|
2245
|
+
instagram?: string;
|
|
2246
|
+
twitter?: string;
|
|
2247
|
+
website?: string;
|
|
2248
|
+
} | undefined;
|
|
2249
|
+
sortOrder: number;
|
|
2250
|
+
states?: LocationState[] | undefined;
|
|
2251
|
+
tags?: string[] | undefined;
|
|
2252
|
+
type: string;
|
|
2253
|
+
/**
|
|
2254
|
+
* Checks if the provided instance is of type EnterpriseLocation.
|
|
2255
|
+
*
|
|
2256
|
+
* @param instance The instance to check.
|
|
2257
|
+
* @returns {boolean} True if the instance is a EnterpriseLocation, false otherwise.
|
|
2258
|
+
*/
|
|
2259
|
+
static is(instance: object): instance is EnterpriseLocation;
|
|
2260
|
+
/**
|
|
2261
|
+
* @internal
|
|
2262
|
+
*/
|
|
2263
|
+
constructor(data: MapDataInternal, options: {
|
|
2264
|
+
mvfData: MVFEnterpriseLocation;
|
|
2265
|
+
});
|
|
2266
|
+
get coordinates(): Coordinate[];
|
|
2267
|
+
get nodes(): Node[];
|
|
2268
|
+
get spaces(): Space[];
|
|
2269
|
+
/**
|
|
2270
|
+
* Serializes the EnterpriseLocation data to JSON.
|
|
2271
|
+
*
|
|
2272
|
+
* @returns An object representing the EnterpriseLocation.
|
|
2273
|
+
*/
|
|
2274
|
+
toJSON(): {
|
|
2275
|
+
id: string;
|
|
2276
|
+
name: string;
|
|
2277
|
+
};
|
|
2278
|
+
/**
|
|
2279
|
+
* Cleans up resources used by the instance.
|
|
2280
|
+
*
|
|
2281
|
+
* @internal
|
|
2282
|
+
*/
|
|
2283
|
+
destroy(): void;
|
|
2284
|
+
}
|
|
2285
|
+
export default EnterpriseLocation;
|
|
2286
|
+
}
|
|
2287
|
+
|
|
2288
|
+
declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/venue' {
|
|
2289
|
+
import type { EnterpriseVenue as MVFEnterpriseVenue, Language } from '@mappedin/mvf';
|
|
2290
|
+
import type { Hyperlink, MapDataInternal } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
2291
|
+
import BaseMapData from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/base-object';
|
|
2292
|
+
/**
|
|
2293
|
+
* An EnterpriseVenue is a specific place (like a mall, office building, or stadium) with one or more Floors
|
|
2294
|
+
*/
|
|
2295
|
+
class EnterpriseVenue extends BaseMapData implements MVFEnterpriseVenue {
|
|
2296
|
+
#private;
|
|
2297
|
+
/**
|
|
2298
|
+
* @internal
|
|
2299
|
+
*/
|
|
2300
|
+
static readonly __type = "enterprise-venue";
|
|
2301
|
+
/**
|
|
2302
|
+
* @internal
|
|
2303
|
+
*/
|
|
2304
|
+
readonly __type = "enterprise-venue";
|
|
2305
|
+
countrycode?: string | undefined;
|
|
2306
|
+
externalId: string;
|
|
2307
|
+
defaultLanguage: Language;
|
|
2308
|
+
defaultMap?: string | undefined;
|
|
2309
|
+
extra?: Record<string, unknown> | undefined;
|
|
2310
|
+
icon?: string | undefined;
|
|
2311
|
+
languages: Language[];
|
|
2312
|
+
links: Hyperlink[];
|
|
2313
|
+
logo?: string | undefined;
|
|
2314
|
+
mappedinWebUrl?: string | undefined;
|
|
2315
|
+
slug: string;
|
|
2316
|
+
topLocations?: string[] | undefined;
|
|
2317
|
+
tzid?: string | undefined;
|
|
2318
|
+
/**
|
|
2319
|
+
* Checks if the provided instance is of type EnterpriseVenue.
|
|
2320
|
+
*
|
|
2321
|
+
* @param instance The instance to check.
|
|
2322
|
+
* @returns {boolean} True if the instance is a EnterpriseVenue, false otherwise.
|
|
2323
|
+
*/
|
|
2324
|
+
static is(instance: object): instance is EnterpriseVenue;
|
|
2325
|
+
/**
|
|
2326
|
+
* @internal
|
|
2327
|
+
*/
|
|
2328
|
+
constructor(_data: MapDataInternal, options: {
|
|
2329
|
+
mvfData: MVFEnterpriseVenue;
|
|
2330
|
+
});
|
|
2331
|
+
/**
|
|
2332
|
+
* Gets the name of the EnterpriseVenue.
|
|
2333
|
+
*
|
|
2334
|
+
* @returns {string} The name of the EnterpriseVenue.
|
|
2335
|
+
*/
|
|
2336
|
+
get name(): string;
|
|
2337
|
+
/**
|
|
2338
|
+
* Serializes the EnterpriseVenue data to JSON.
|
|
2339
|
+
*
|
|
2340
|
+
* @returns An object representing the EnterpriseVenue.
|
|
2341
|
+
*/
|
|
2342
|
+
toJSON(): {
|
|
2343
|
+
id: string;
|
|
2344
|
+
name: string;
|
|
2345
|
+
};
|
|
2346
|
+
/**
|
|
2347
|
+
* Cleans up resources used by the instance.
|
|
2348
|
+
*
|
|
2349
|
+
* @internal
|
|
2350
|
+
*/
|
|
2351
|
+
destroy(): void;
|
|
2352
|
+
}
|
|
2353
|
+
export default EnterpriseVenue;
|
|
2354
|
+
}
|
|
2355
|
+
|
|
2356
|
+
declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/stacked-maps/stacked-maps' {
|
|
2357
|
+
import type { GeojsonApiMapObject } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/map-object';
|
|
2358
|
+
import type { RendererCore } from '@mappedin/core-sdk';
|
|
2359
|
+
import TWEEN from '@tweenjs/tween.js';
|
|
2360
|
+
import { PubSub } from '@packages/internal/common';
|
|
2361
|
+
import type { TFocusOnOptions } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
2362
|
+
export const GAP_BELOW_FLOORS = 50;
|
|
2363
|
+
export const DURATION = 1000;
|
|
2364
|
+
export type TStackedMapsEvents = {
|
|
2365
|
+
expanded: void;
|
|
2366
|
+
collapsed: void;
|
|
2367
|
+
};
|
|
2368
|
+
export type TShowStackOptions = {
|
|
2369
|
+
numFloors?: number;
|
|
2370
|
+
cameraOptions?: TFocusOnOptions;
|
|
2371
|
+
};
|
|
2372
|
+
export class StackedMaps extends PubSub<TStackedMapsEvents> {
|
|
2373
|
+
#private;
|
|
2374
|
+
constructor(api: GeojsonApiMapObject, core: RendererCore);
|
|
2375
|
+
percentExpanded: number;
|
|
2376
|
+
animateToCurrentFloorTween: TWEEN.Tween | null;
|
|
2377
|
+
expanded: boolean;
|
|
2378
|
+
handlePreRender: () => void;
|
|
2379
|
+
handleUserInteractionStart: () => void;
|
|
2380
|
+
handleUserInteractionEnd: () => void;
|
|
2381
|
+
animateToCurrentFloor(): Promise<void>;
|
|
2382
|
+
expand(opts?: {
|
|
2383
|
+
excludeFloorIds: string[];
|
|
2384
|
+
}): Promise<void>;
|
|
2385
|
+
collapse(): Promise<void>;
|
|
2386
|
+
showStack(opts?: TShowStackOptions): Promise<void>;
|
|
2387
|
+
animate(direction: 'expand' | 'collapse', options?: {
|
|
2388
|
+
duration: number;
|
|
2389
|
+
}): Promise<void>;
|
|
2390
|
+
}
|
|
2391
|
+
}
|
|
2392
|
+
|
|
2393
|
+
declare module '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/camera-transform' {
|
|
2394
|
+
import type { Camera } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson';
|
|
2395
|
+
/**
|
|
2396
|
+
* Class representing camera transformation data.
|
|
1815
2397
|
*/
|
|
1816
2398
|
export class CameraTransform {
|
|
1817
2399
|
#private;
|
|
@@ -2017,9 +2599,10 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/door' {
|
|
|
2017
2599
|
declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/space' {
|
|
2018
2600
|
import type { Image, SpaceCollection } from '@mappedin/mvf';
|
|
2019
2601
|
import Coordinate from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/coordinate';
|
|
2020
|
-
import type { MapDataInternal } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
2602
|
+
import type { EnterpriseLocation, MapDataInternal } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
2021
2603
|
import type Floor from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/floor';
|
|
2022
2604
|
import BaseMapData from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/base-object';
|
|
2605
|
+
import type Door from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/door';
|
|
2023
2606
|
/**
|
|
2024
2607
|
* Represents the various types of spaces that can be defined within a map.
|
|
2025
2608
|
* - 'room': A standard room or enclosed area.
|
|
@@ -2074,6 +2657,10 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/space' {
|
|
|
2074
2657
|
get type(): TSpaceType;
|
|
2075
2658
|
get description(): string;
|
|
2076
2659
|
get images(): Image[];
|
|
2660
|
+
/**
|
|
2661
|
+
* @internal
|
|
2662
|
+
*/
|
|
2663
|
+
get locations(): EnterpriseLocation[];
|
|
2077
2664
|
/**
|
|
2078
2665
|
* Gets the {@link Floor} object associated with the space.
|
|
2079
2666
|
*
|
|
@@ -2081,6 +2668,12 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/space' {
|
|
|
2081
2668
|
* @throws Will throw an error if the floor is not found.
|
|
2082
2669
|
*/
|
|
2083
2670
|
get floor(): Floor;
|
|
2671
|
+
/**
|
|
2672
|
+
* Gets the array of {@link Door}s associated with the space.
|
|
2673
|
+
*
|
|
2674
|
+
* @returns {Door[]} The doors array.
|
|
2675
|
+
*/
|
|
2676
|
+
get doors(): Door[];
|
|
2084
2677
|
/**
|
|
2085
2678
|
* Gets the center {@link Coordinate} of the space.
|
|
2086
2679
|
*
|
|
@@ -2119,8 +2712,8 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/space' {
|
|
|
2119
2712
|
}
|
|
2120
2713
|
|
|
2121
2714
|
declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/floor' {
|
|
2122
|
-
import type {
|
|
2123
|
-
import type { Annotation, Connection, Door, MapDataInternal, PointOfInterest, Space, MapObject } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
2715
|
+
import type { FloorProperties as MVFFloor } from '@mappedin/mvf';
|
|
2716
|
+
import type { Annotation, Connection, Door, MapDataInternal, PointOfInterest, Space, MapObject, FloorStack } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
2124
2717
|
import BaseMapData from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/base-object';
|
|
2125
2718
|
/**
|
|
2126
2719
|
* A class representing floor data within the map.
|
|
@@ -2148,7 +2741,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/floor' {
|
|
|
2148
2741
|
* @internal
|
|
2149
2742
|
*/
|
|
2150
2743
|
constructor(data: MapDataInternal, options: {
|
|
2151
|
-
mvfData:
|
|
2744
|
+
mvfData: MVFFloor;
|
|
2152
2745
|
});
|
|
2153
2746
|
/**
|
|
2154
2747
|
* Gets the name of the floor.
|
|
@@ -2198,6 +2791,12 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/floor' {
|
|
|
2198
2791
|
* @returns {PointOfInterest[]} An array of PointOfInterest objects on this floor.
|
|
2199
2792
|
*/
|
|
2200
2793
|
get pois(): PointOfInterest[];
|
|
2794
|
+
/**
|
|
2795
|
+
* Gets the FloorStack ({@link FloorStack}) that this floor belongs to.
|
|
2796
|
+
*
|
|
2797
|
+
* @returns {FloorStack} The FloorStack that this floor belongs to.
|
|
2798
|
+
*/
|
|
2799
|
+
get floorStack(): FloorStack;
|
|
2201
2800
|
/**
|
|
2202
2801
|
* Serializes the floor data to JSON.
|
|
2203
2802
|
*
|
|
@@ -2265,6 +2864,8 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/connectio
|
|
|
2265
2864
|
get name(): string;
|
|
2266
2865
|
get description(): string;
|
|
2267
2866
|
get images(): Image[];
|
|
2867
|
+
get externalId(): string;
|
|
2868
|
+
/**
|
|
2268
2869
|
/**
|
|
2269
2870
|
* Gets the type of the connection.
|
|
2270
2871
|
*
|
|
@@ -2292,6 +2893,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/connectio
|
|
|
2292
2893
|
id: string;
|
|
2293
2894
|
name: string;
|
|
2294
2895
|
type: string;
|
|
2896
|
+
externalId: string;
|
|
2295
2897
|
coordinates: {
|
|
2296
2898
|
latitude: number;
|
|
2297
2899
|
longitude: number;
|
|
@@ -2759,16 +3361,191 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/image' {
|
|
|
2759
3361
|
export default Image;
|
|
2760
3362
|
}
|
|
2761
3363
|
|
|
3364
|
+
declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/floor-stack' {
|
|
3365
|
+
import type { FloorStack as MVFFloorStack } from '@mappedin/mvf';
|
|
3366
|
+
import type { MapDataInternal, Floor } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
3367
|
+
import BaseMapData from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/base-object';
|
|
3368
|
+
/**
|
|
3369
|
+
* A class representing floor stack data within the map.
|
|
3370
|
+
*
|
|
3371
|
+
* FloorStacks are used to represent a group of floors that are part of a single entity.
|
|
3372
|
+
*/
|
|
3373
|
+
class FloorStack extends BaseMapData {
|
|
3374
|
+
#private;
|
|
3375
|
+
/**
|
|
3376
|
+
* @internal
|
|
3377
|
+
*/
|
|
3378
|
+
static readonly __type = "floor-stack";
|
|
3379
|
+
/**
|
|
3380
|
+
* @internal
|
|
3381
|
+
*/
|
|
3382
|
+
readonly __type = "floor-stack";
|
|
3383
|
+
/**
|
|
3384
|
+
* Checks if the provided instance is of type FloorStack.
|
|
3385
|
+
*
|
|
3386
|
+
* @param instance The instance to check.
|
|
3387
|
+
* @returns {boolean} True if the instance is a FloorStack, false otherwise.
|
|
3388
|
+
*/
|
|
3389
|
+
static is(instance: object): instance is FloorStack;
|
|
3390
|
+
/**
|
|
3391
|
+
* @internal
|
|
3392
|
+
*/
|
|
3393
|
+
constructor(data: MapDataInternal, options: {
|
|
3394
|
+
mvfData: MVFFloorStack;
|
|
3395
|
+
});
|
|
3396
|
+
/**
|
|
3397
|
+
* Gets the type of FloorStack.
|
|
3398
|
+
*/
|
|
3399
|
+
get type(): MVFFloorStack['type'];
|
|
3400
|
+
/**
|
|
3401
|
+
* Gets the name of the FloorStack.
|
|
3402
|
+
*
|
|
3403
|
+
* @returns {string} The name of the FloorStack.
|
|
3404
|
+
*/
|
|
3405
|
+
get name(): string;
|
|
3406
|
+
/**
|
|
3407
|
+
* Gets the floors ({@link Floor}) included in this FloorStack.
|
|
3408
|
+
*
|
|
3409
|
+
* @returns {Floor[]} An array of Floor objects in this FloorStack.
|
|
3410
|
+
*/
|
|
3411
|
+
get floors(): Floor[];
|
|
3412
|
+
/**
|
|
3413
|
+
* Serializes the FloorStack data to JSON.
|
|
3414
|
+
*
|
|
3415
|
+
* @returns An object representing the FloorStack.
|
|
3416
|
+
*/
|
|
3417
|
+
toJSON(): {
|
|
3418
|
+
id: string;
|
|
3419
|
+
name: string;
|
|
3420
|
+
type: "Building" | "Outdoor" | undefined;
|
|
3421
|
+
floors: string[];
|
|
3422
|
+
};
|
|
3423
|
+
/**
|
|
3424
|
+
* Cleans up resources used by the instance.
|
|
3425
|
+
*
|
|
3426
|
+
* @internal
|
|
3427
|
+
*/
|
|
3428
|
+
destroy(): void;
|
|
3429
|
+
}
|
|
3430
|
+
export default FloorStack;
|
|
3431
|
+
}
|
|
3432
|
+
|
|
3433
|
+
declare module '@mappedin/mappedin-js/mappedin-js/src/utils/data-creation' {
|
|
3434
|
+
import type { Feature, FloorProperties as MVFFloor, FloorStack as MVFFloorStack, NodeCollection, ObstructionCollection, Point, SpaceCollection, SpaceProperties, Connection as MVFConnection, EntranceCollection, AnnotationCollection, ParsedMVF, EnterpriseLocation as MVFEnterpriseLocation, EnterpriseLocationId as MVFEnterpriseLocationId, EnterpriseCategoryId as MVFEnterpriseCategoryId, EnterpriseCategory as MVFEnterpriseCategory, EnterpriseVenue as MVFEnterpriseVenue } from '@mappedin/mvf';
|
|
3435
|
+
import type { MapDataInternal } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
3436
|
+
import { Annotation, Connection, Door, Floor, MapObject, PointOfInterest, Space } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
3437
|
+
import Node from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/node';
|
|
3438
|
+
import EnterpriseLocation from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/location';
|
|
3439
|
+
import EnterpriseCategory from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/category';
|
|
3440
|
+
import FloorStack from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/floor-stack';
|
|
3441
|
+
export type MapDataRecords = {
|
|
3442
|
+
spacesById: Record<string, Space>;
|
|
3443
|
+
nodesById: Record<string, Node>;
|
|
3444
|
+
objectsById: Record<string, MapObject>;
|
|
3445
|
+
floorsById: Record<string, Floor>;
|
|
3446
|
+
floorStacksById: Record<string, FloorStack>;
|
|
3447
|
+
connectionsById: Record<string, Connection>;
|
|
3448
|
+
doorsById: Record<string, Door>;
|
|
3449
|
+
doorsByNodeId: Record<string, Door>;
|
|
3450
|
+
poisById: Record<string, PointOfInterest>;
|
|
3451
|
+
annotationsById: Record<string, Annotation>;
|
|
3452
|
+
locationsById: Record<MVFEnterpriseLocationId, EnterpriseLocation>;
|
|
3453
|
+
categoriesById: Record<MVFEnterpriseCategoryId, EnterpriseCategory>;
|
|
3454
|
+
venue: MVFEnterpriseVenue;
|
|
3455
|
+
spaceIdsByDestinationNodeId: Record<string, string[]>;
|
|
3456
|
+
objectEntranceNodeIdsByObstructionId: Record<string, string[]>;
|
|
3457
|
+
obstructionIdByEntranceId: Record<string, string>;
|
|
3458
|
+
connectionIdsByLatLon: Record<string, string[]>;
|
|
3459
|
+
mvfSpacesById: Record<string, SpaceCollection['features'][number]>;
|
|
3460
|
+
mvfNodesById: Record<string, NodeCollection['features'][number]>;
|
|
3461
|
+
mvfObstructionById: Record<string, ObstructionCollection['features'][number]>;
|
|
3462
|
+
mvfFloorsById: Record<string, MVFFloor>;
|
|
3463
|
+
mvfFloorStacksById: Record<string, MVFFloorStack>;
|
|
3464
|
+
mvfConnectionsById: Record<string, MVFConnection>;
|
|
3465
|
+
mvfConnectionsByNodeId: Record<string, MVFConnection>;
|
|
3466
|
+
mvfEntrancesById: Record<string, EntranceCollection['features'][number]>;
|
|
3467
|
+
mvfAnnotationsById: Record<string, AnnotationCollection['features'][number]>;
|
|
3468
|
+
mvfCategoriesById: Record<string, MVFEnterpriseCategory>;
|
|
3469
|
+
mvfLocationsById: Record<string, MVFEnterpriseLocation>;
|
|
3470
|
+
mvfLocationsBySpaceId: Record<string, MVFEnterpriseLocation[]>;
|
|
3471
|
+
};
|
|
3472
|
+
export const processMVFFloors: (mvf: ParsedMVF, data: MapDataInternal) => Pick<MapDataRecords, "floorsById" | "mvfFloorsById">;
|
|
3473
|
+
export const processMVFFloorStacks: (mvf: ParsedMVF, data: MapDataInternal) => Pick<MapDataRecords, "floorStacksById" | "mvfFloorStacksById">;
|
|
3474
|
+
/**
|
|
3475
|
+
* @internal
|
|
3476
|
+
*/
|
|
3477
|
+
export const createEnterpriseDataFromMVF: (mvf: ParsedMVF, data: MapDataInternal) => {
|
|
3478
|
+
locationsBySpaceId: Record<string, MVFEnterpriseLocation[]>;
|
|
3479
|
+
mvfLocationsById: Record<string, MVFEnterpriseLocation>;
|
|
3480
|
+
mvfCategoriesById: Record<string, MVFEnterpriseCategory>;
|
|
3481
|
+
locationsById: Record<string, EnterpriseLocation>;
|
|
3482
|
+
categoriesById: Record<string, EnterpriseCategory>;
|
|
3483
|
+
venue: MVFEnterpriseVenue;
|
|
3484
|
+
};
|
|
3485
|
+
/**
|
|
3486
|
+
* @internal
|
|
3487
|
+
*/
|
|
3488
|
+
export const createDataFromMVF: (mvf: ParsedMVF, data: MapDataInternal) => {
|
|
3489
|
+
spacesById: Record<string, Space>;
|
|
3490
|
+
nodesById: Record<string, Node>;
|
|
3491
|
+
objectsById: Record<string, MapObject>;
|
|
3492
|
+
floorsById: Record<string, Floor>;
|
|
3493
|
+
floorStacksById: Record<string, FloorStack>;
|
|
3494
|
+
connectionsById: Record<string, Connection>;
|
|
3495
|
+
doorsById: Record<string, Door>;
|
|
3496
|
+
doorsByNodeId: Record<string, Door>;
|
|
3497
|
+
poisById: Record<string, PointOfInterest>;
|
|
3498
|
+
annotationsById: Record<string, Annotation>;
|
|
3499
|
+
spaceIdsByDestinationNodeId: Record<string, string[]>;
|
|
3500
|
+
objectEntranceNodeIdsByObstructionId: Record<string, string[]>;
|
|
3501
|
+
obstructionIdByEntranceId: Record<string, string>;
|
|
3502
|
+
connectionIdsByLatLon: Record<string, string[]>;
|
|
3503
|
+
mvfSpacesById: Record<string, Feature<Point | import("@mappedin/mvf").LineString | import("@mappedin/mvf").Polygon, SpaceProperties>>;
|
|
3504
|
+
mvfNodesById: Record<string, Feature<Point, import("@mappedin/mvf").NodeProperties>>;
|
|
3505
|
+
mvfObstructionById: Record<string, Feature<import("@mappedin/mvf").LineString | import("@mappedin/mvf").Polygon, import("@mappedin/mvf").ObstructionProperties>>;
|
|
3506
|
+
mvfFloorsById: Record<string, MVFFloor>;
|
|
3507
|
+
mvfFloorStacksById: Record<string, MVFFloorStack>;
|
|
3508
|
+
mvfConnectionsById: Record<string, MVFConnection>;
|
|
3509
|
+
mvfConnectionsByNodeId: Record<string, MVFConnection>;
|
|
3510
|
+
mvfEntrancesById: Record<string, Feature<import("@mappedin/mvf").LineString, import("@mappedin/mvf").EntranceProperties>>;
|
|
3511
|
+
mvfAnnotationsById: Record<string, {
|
|
3512
|
+
type: import("@mappedin/mvf").FeatureType;
|
|
3513
|
+
geometry: Point;
|
|
3514
|
+
properties: import("@mappedin/mvf").AnnotationProperties;
|
|
3515
|
+
}>;
|
|
3516
|
+
};
|
|
3517
|
+
}
|
|
3518
|
+
|
|
2762
3519
|
declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/types' {
|
|
2763
3520
|
import type Door from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/door';
|
|
2764
3521
|
import type Floor from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/floor';
|
|
2765
|
-
import type Node from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/node';
|
|
2766
3522
|
import type Space from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/space';
|
|
2767
3523
|
import type PointOfInterest from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/poi';
|
|
2768
3524
|
import type Annotation from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/annotation';
|
|
2769
3525
|
import type Connection from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/connection';
|
|
2770
3526
|
import type MapObject from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/object';
|
|
2771
|
-
|
|
3527
|
+
import type { EnterpriseLocation as MvfEnterpriseLocation, EnterpriseCategory as MvfEnterpriseCategory, ParsedMVFLocalePack } from '@mappedin/mvf';
|
|
3528
|
+
import type { PartialExcept } from '@mappedin/mvf/dist/locale';
|
|
3529
|
+
/**
|
|
3530
|
+
* Places are the main objects that can be searched for.
|
|
3531
|
+
*/
|
|
3532
|
+
export type Places = Space | Floor | Door | Connection | MapObject | PointOfInterest | Annotation;
|
|
3533
|
+
export type LocationWithLocale = PartialExcept<MvfEnterpriseLocation, 'id'>;
|
|
3534
|
+
export type CategoryWithLocale = PartialExcept<MvfEnterpriseCategory, 'id'>;
|
|
3535
|
+
export type LanguagePack = {
|
|
3536
|
+
type: 'downloaded';
|
|
3537
|
+
data: ParsedMVFLocalePack;
|
|
3538
|
+
optimized: {
|
|
3539
|
+
locations: Record<string, LocationWithLocale> | undefined;
|
|
3540
|
+
categories: Record<string, CategoryWithLocale> | undefined;
|
|
3541
|
+
};
|
|
3542
|
+
} | {
|
|
3543
|
+
type: 'initial';
|
|
3544
|
+
optimized: {
|
|
3545
|
+
locations: Record<string, MvfEnterpriseLocation>;
|
|
3546
|
+
categories: Record<string, MvfEnterpriseCategory>;
|
|
3547
|
+
};
|
|
3548
|
+
};
|
|
2772
3549
|
}
|
|
2773
3550
|
|
|
2774
3551
|
declare module '@mappedin/mappedin-js/mappedin-js/src' {
|
|
@@ -2779,11 +3556,11 @@ declare module '@mappedin/mappedin-js/mappedin-js/src' {
|
|
|
2779
3556
|
import type { Floor } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
2780
3557
|
import type { ParsedMVF as TMVF, StyleCollection as TMVFStyleCollection, Style as TMVFStyle, LineStringStyle as TMVFLineStringStyle, PolygonStyle as TMVFPolygonStyle, PointStyle as TMVFPointStyle } from '@mappedin/mvf';
|
|
2781
3558
|
import { MapView } from '@mappedin/mappedin-js/mappedin-js/src/map-view';
|
|
2782
|
-
import type { Shading, PaintStyle, LineStyle, WatermarkOptions
|
|
3559
|
+
import type { Shading, PaintStyle, LineStyle, WatermarkOptions } from '@mappedin/mappedin-js/geojson/src';
|
|
2783
3560
|
import { enableTestMode } from '@mappedin/mappedin-js/geojson/src';
|
|
2784
3561
|
export type { PubSub } from '@packages/internal/common/pubsub';
|
|
2785
|
-
import {
|
|
2786
|
-
import {
|
|
3562
|
+
import { MappedinMapLibreOverlay } from '@mappedin/mappedin-js/mappedin-js/src/maplibre-overlay';
|
|
3563
|
+
import type { LanguagePackHydrationItem } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
2787
3564
|
export { setLoggerLevel, E_SDK_LOG_LEVEL } from '@packages/internal/common/Mappedin.Logger';
|
|
2788
3565
|
/**
|
|
2789
3566
|
* Represents all the available antialiasing options.
|
|
@@ -2888,6 +3665,11 @@ declare module '@mappedin/mappedin-js/mappedin-js/src' {
|
|
|
2888
3665
|
*/
|
|
2889
3666
|
autoRenderBeauty?: boolean;
|
|
2890
3667
|
};
|
|
3668
|
+
/**
|
|
3669
|
+
* @interface
|
|
3670
|
+
* Options for the watermark.
|
|
3671
|
+
*/
|
|
3672
|
+
export type TWatermarkOptions = Omit<WatermarkOptions, 'visible'>;
|
|
2891
3673
|
/**
|
|
2892
3674
|
* Options for showing a 3D map.
|
|
2893
3675
|
*
|
|
@@ -2961,18 +3743,22 @@ declare module '@mappedin/mappedin-js/mappedin-js/src' {
|
|
|
2961
3743
|
*
|
|
2962
3744
|
* @hidden
|
|
2963
3745
|
*/
|
|
2964
|
-
watermark?:
|
|
3746
|
+
watermark?: TWatermarkOptions;
|
|
2965
3747
|
/**
|
|
2966
3748
|
* Options for the attribution control.
|
|
2967
3749
|
*
|
|
2968
3750
|
* @hidden
|
|
2969
3751
|
*/
|
|
2970
3752
|
attribution?: {
|
|
3753
|
+
/**
|
|
3754
|
+
* Custom attribution content.
|
|
3755
|
+
*/
|
|
3756
|
+
custom?: string[];
|
|
2971
3757
|
/**
|
|
2972
3758
|
* Attribution position.
|
|
2973
3759
|
* @default 'bottom-right'
|
|
2974
3760
|
*/
|
|
2975
|
-
position
|
|
3761
|
+
position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
2976
3762
|
};
|
|
2977
3763
|
/**
|
|
2978
3764
|
* First floor to be rendered.
|
|
@@ -2995,6 +3781,14 @@ declare module '@mappedin/mappedin-js/mappedin-js/src' {
|
|
|
2995
3781
|
* @experimental
|
|
2996
3782
|
*/
|
|
2997
3783
|
style?: {
|
|
3784
|
+
/**
|
|
3785
|
+
* Background color. Only relevant if outdoor map is disabled.
|
|
3786
|
+
*/
|
|
3787
|
+
backgroundColor?: string;
|
|
3788
|
+
/**
|
|
3789
|
+
* Background alpha value. Only relevant if outdoor map is disabled.
|
|
3790
|
+
*/
|
|
3791
|
+
backgroundAlpha?: number;
|
|
2998
3792
|
/**
|
|
2999
3793
|
* Set the global shading for all elements. True will use default values, false will disable shading.
|
|
3000
3794
|
* @default true
|
|
@@ -3016,10 +3810,12 @@ declare module '@mappedin/mappedin-js/mappedin-js/src' {
|
|
|
3016
3810
|
*
|
|
3017
3811
|
* Returns a {@link MapData} instance from a parsed MVF object.
|
|
3018
3812
|
*/
|
|
3019
|
-
export const hydrateMapDataFromMVF: (mvf: TMVF, options?: TGetMapDataWithCredentialsOptions
|
|
3020
|
-
|
|
3813
|
+
export const hydrateMapDataFromMVF: (mvf: TMVF, options?: TGetMapDataWithCredentialsOptions & {
|
|
3814
|
+
languagePacks?: LanguagePackHydrationItem[];
|
|
3815
|
+
}) => Promise<MapData>;
|
|
3021
3816
|
/**
|
|
3022
|
-
* @internal
|
|
3817
|
+
* @internal
|
|
3818
|
+
* @deprecated Use {@link getMapData} and enterprise will be inferred from key/secret.
|
|
3023
3819
|
*/
|
|
3024
3820
|
export function setUseEnterpriseAPI(value: boolean): void;
|
|
3025
3821
|
/**
|
|
@@ -3032,26 +3828,11 @@ declare module '@mappedin/mappedin-js/mappedin-js/src' {
|
|
|
3032
3828
|
* const data = await getMapData({ key: 'api_key', secret: 'api_secret', mapId: 'id' });
|
|
3033
3829
|
*/
|
|
3034
3830
|
export const getMapData: (userOptions: TGetMapDataOptions) => Promise<MapData>;
|
|
3035
|
-
|
|
3036
|
-
|
|
3037
|
-
|
|
3038
|
-
|
|
3039
|
-
|
|
3040
|
-
/**
|
|
3041
|
-
* MapView instance
|
|
3042
|
-
*/
|
|
3043
|
-
mapView: MapView;
|
|
3044
|
-
/**
|
|
3045
|
-
* MapData instance
|
|
3046
|
-
*/
|
|
3047
|
-
mapData: MapData;
|
|
3048
|
-
};
|
|
3049
|
-
}> {
|
|
3050
|
-
#private;
|
|
3051
|
-
static instance: MappedinMapLibreOverlay;
|
|
3052
|
-
constructor(origin: Position | undefined, mapData: MapData, options?: TShow3DMapOptions);
|
|
3053
|
-
onAdd(map: any): HTMLDivElement;
|
|
3054
|
-
}
|
|
3831
|
+
/**
|
|
3832
|
+
* @internal
|
|
3833
|
+
* @deprecated Use {@link getMapData} and enterprise will be inferred from key/secret.
|
|
3834
|
+
*/
|
|
3835
|
+
export const getMapDataEnterprise: (userOptions: TGetMapDataOptions) => Promise<MapData>;
|
|
3055
3836
|
/**
|
|
3056
3837
|
* Create a MapLibre overlay with a Map to render it within existing MapLibre projects.
|
|
3057
3838
|
* @experimental
|
|
@@ -3062,38 +3843,32 @@ declare module '@mappedin/mappedin-js/mappedin-js/src' {
|
|
|
3062
3843
|
export { parseMVF, unzipMVF, enableTestMode };
|
|
3063
3844
|
export type { MapView, MapData, MappedinMapLibreOverlay, TEvents, TEventPayload, TClickPayload, THoverPayload, TShow3DMapOptions, TGetMapDataOptions, TGetMapDataWithAccessTokenOptions, TGetMapDataWithCredentialsOptions, TGetMapDataSharedOptions, TAmbientOcclusionOptions, TAntialiasingOptions, TMVF, PaintStyle, LineStyle, Shading, TMVFStyleCollection, TMVFStyle, TMVFLineStringStyle, TMVFPolygonStyle, TMVFPointStyle, };
|
|
3064
3845
|
export type * from 'geojson';
|
|
3065
|
-
export type { TUpdateState, TLabelState, TGeometryState, TCameraAnimationOptions, TAnimationOptions, TFocusOnOptions, TEasingFunction, TCameraTarget, TNavigationTarget, TDirectionZone, TCameraFocusOnTarget, TAddMarkerOptions, TAddPathOptions, TLabelAppearance, TAddLabelOptions, TAddModelOptions, TAddModel, TGetDirectionsOptions, TCollisionRankingTier, TMarkerAnchor, TDirectionInstruction, TDirectionInstructionAction, TGetState, TMarkerState, } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
3846
|
+
export type { TUpdateState, TLabelState, TGeometryState, TCameraAnimationOptions, TAnimationOptions, TFocusOnOptions, TEasingFunction, TCameraTarget, TNavigationTarget, TDirectionZone, TCameraFocusOnTarget, TAddMarkerOptions, TAddPathOptions, TLabelAppearance, TAddLabelOptions, TAddModelOptions, TAddModel, TGetDirectionsOptions, TCollisionRankingTier, TMarkerAnchor, TDirectionInstruction, TDirectionInstructionAction, TGetState, TMarkerState, TBlueDotOptions, } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
3847
|
+
export { WALLS, DOORS } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
3066
3848
|
export type { Label, Marker, Path, Shape, CameraTransform, Model } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
|
|
3067
3849
|
export type { Navigation, TNavigationOptions } from '@mappedin/mappedin-js/mappedin-js/src/navigation';
|
|
3068
3850
|
export type { TSpaceType } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
3069
|
-
export { Coordinate, Annotation, Connection, Door, Floor, MapObject, PointOfInterest, Space, Image, Hyperlink, } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
3070
|
-
export type { Camera, Models, Labels, Markers, Paths, Exporter, Directions, Style, Shapes, Outdoor, } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson';
|
|
3071
|
-
export {
|
|
3851
|
+
export { Coordinate, Annotation, Connection, Door, Floor, FloorStack, MapObject, PointOfInterest, Space, Image, Hyperlink, EnterpriseLocation, EnterpriseCategory, EnterpriseVenue, type Places, } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
3852
|
+
export type { Camera, Models, Labels, Markers, Paths, Exporter, Directions, Style, Shapes, Outdoor, Images, } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson';
|
|
3853
|
+
export type { SearchResult, SearchResultItem, SearchResultEnterpriseCategory, SearchResultEnterpriseLocations, SearchResultPlaces, SearchOptions, Search, Suggestion, MatchInfo, } from '@mappedin/mappedin-js/mappedin-js/src/search';
|
|
3854
|
+
export type { Analytics, TAnalyticsUpdateState } from '@mappedin/mappedin-js/mappedin-js/src/analytics';
|
|
3072
3855
|
}
|
|
3073
3856
|
|
|
3074
3857
|
declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/blue-dot/blue-dot' {
|
|
3075
3858
|
import type { RendererCore } from '@mappedin/core-sdk';
|
|
3076
3859
|
import { PubSub } from '@packages/internal/common';
|
|
3077
3860
|
import type { GeoJsonApi } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/api';
|
|
3861
|
+
import type { TBlueDotOptions } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
3078
3862
|
export type TBlueDotEvents = {
|
|
3079
3863
|
'floor-change': {
|
|
3080
3864
|
reason: 'blue-dot-floor-change';
|
|
3081
3865
|
floorId: string;
|
|
3082
3866
|
};
|
|
3083
3867
|
};
|
|
3084
|
-
export const POSITION_ANIMATION_DURATION = 500;
|
|
3085
|
-
export const SCALE_ANIMATION_DURATION = 150;
|
|
3086
|
-
export const ROTATION_ANIMATION_DURATION = 150;
|
|
3087
|
-
export const MIN_AURA_RADIUS = 0;
|
|
3088
|
-
export const MAX_AURA_RADIUS = 5;
|
|
3089
|
-
export const MIN_ACCURACY = 5;
|
|
3090
|
-
export const MAX_ACCURACY = 30;
|
|
3091
|
-
export const CONE_START_RADIUS = 0.4;
|
|
3092
|
-
export const CONE_DISTANCE = 1.25;
|
|
3093
|
-
export const BLUE_DOT_RADIUS = 0.35;
|
|
3094
3868
|
export class BlueDot extends PubSub<TBlueDotEvents> {
|
|
3869
|
+
#private;
|
|
3095
3870
|
constructor(core: RendererCore, geoJSONApi: GeoJsonApi);
|
|
3096
|
-
enable(): void;
|
|
3871
|
+
enable(options?: TBlueDotOptions): void;
|
|
3097
3872
|
disable(): void;
|
|
3098
3873
|
}
|
|
3099
3874
|
}
|
|
@@ -3133,12 +3908,12 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/shapes' {
|
|
|
3133
3908
|
*/
|
|
3134
3909
|
add<T extends FeatureCollection<Polygon | MultiPolygon | LineString, any>>(geometry: T, style: T extends FeatureCollection<LineString, any> ? LineStyle : PaintStyle, floor?: Floor): Shape;
|
|
3135
3910
|
/**
|
|
3136
|
-
* Removes a specific
|
|
3137
|
-
* @param
|
|
3911
|
+
* Removes a specific shape ({@link Shape}) from the map.
|
|
3912
|
+
* @param shape The shape to be removed.
|
|
3138
3913
|
* @example
|
|
3139
3914
|
* map.Shapes.remove(geo);
|
|
3140
3915
|
*/
|
|
3141
|
-
remove(
|
|
3916
|
+
remove(shape: Shape): void;
|
|
3142
3917
|
/**
|
|
3143
3918
|
* Removes all Shapes ({@link Shape}) from the map.
|
|
3144
3919
|
*
|
|
@@ -3155,8 +3930,9 @@ declare module '@mappedin/mappedin-js/geojson/src/components/marker' {
|
|
|
3155
3930
|
import './marker.scss';
|
|
3156
3931
|
import { Vector2 } from 'three';
|
|
3157
3932
|
import type { Entity2DHTMLDivElement, EntityId, Position } from '@mappedin/mappedin-js/geojson/src/types';
|
|
3158
|
-
import type { GroupContainerState } from '@mappedin/mappedin-js/geojson/src/entities/
|
|
3933
|
+
import type { GroupContainerState } from '@mappedin/mappedin-js/geojson/src/entities/group-container';
|
|
3159
3934
|
import type { CollisionRankingTier } from '@mappedin/mappedin-js/geojson/src/utils/collision-ranking-tier';
|
|
3935
|
+
import { z } from 'zod';
|
|
3160
3936
|
/**
|
|
3161
3937
|
* State reprsenting a Marker
|
|
3162
3938
|
*/
|
|
@@ -3203,6 +3979,26 @@ declare module '@mappedin/mappedin-js/geojson/src/components/marker' {
|
|
|
3203
3979
|
interactive?: boolean;
|
|
3204
3980
|
};
|
|
3205
3981
|
};
|
|
3982
|
+
export const addMarkerOptionsSchema: z.ZodObject<{
|
|
3983
|
+
rank: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["low", "medium", "high", "always-visible"]>, z.ZodNumber]>>;
|
|
3984
|
+
interactive: z.ZodOptional<z.ZodBoolean>;
|
|
3985
|
+
id: z.ZodOptional<z.ZodString>;
|
|
3986
|
+
anchor: z.ZodOptional<z.ZodEnum<["top", "bottom", "left", "right", "center"]>>;
|
|
3987
|
+
dynamicResize: z.ZodOptional<z.ZodBoolean>;
|
|
3988
|
+
}, "strip", z.ZodTypeAny, {
|
|
3989
|
+
interactive?: boolean | undefined;
|
|
3990
|
+
id?: string | undefined;
|
|
3991
|
+
anchor?: "center" | "left" | "right" | "bottom" | "top" | undefined;
|
|
3992
|
+
rank?: number | "high" | "low" | "medium" | "always-visible" | undefined;
|
|
3993
|
+
dynamicResize?: boolean | undefined;
|
|
3994
|
+
}, {
|
|
3995
|
+
interactive?: boolean | undefined;
|
|
3996
|
+
id?: string | undefined;
|
|
3997
|
+
anchor?: "center" | "left" | "right" | "bottom" | "top" | undefined;
|
|
3998
|
+
rank?: number | "high" | "low" | "medium" | "always-visible" | undefined;
|
|
3999
|
+
dynamicResize?: boolean | undefined;
|
|
4000
|
+
}>;
|
|
4001
|
+
export function validateMarker(coordinate: Position, contentHTML: string, options: AddMarkerOptions): void;
|
|
3206
4002
|
/**
|
|
3207
4003
|
* Options for creating a new Marker
|
|
3208
4004
|
*/
|
|
@@ -3286,10 +4082,18 @@ declare module '@mappedin/mappedin-js/geojson/src/components/marker' {
|
|
|
3286
4082
|
}
|
|
3287
4083
|
|
|
3288
4084
|
declare module '@mappedin/mappedin-js/geojson/src/components/path' {
|
|
3289
|
-
import {
|
|
3290
|
-
import type {
|
|
3291
|
-
import {
|
|
4085
|
+
import { Vector3 } from 'three';
|
|
4086
|
+
import type { Mesh, ShaderMaterial, BufferGeometry } from 'three';
|
|
4087
|
+
import type { EntityId, Position } from '@mappedin/mappedin-js/geojson/src/types';
|
|
4088
|
+
import { Geometry3DObject3D } from '@mappedin/mappedin-js/geojson/src/entities/geometry3d';
|
|
3292
4089
|
import type { FeatureCollection, Point } from 'geojson';
|
|
4090
|
+
import type { GroupContainerState } from '@mappedin/mappedin-js/geojson/src/entities/group-container';
|
|
4091
|
+
export type PathProperties = {
|
|
4092
|
+
/**
|
|
4093
|
+
* The parentId of the point. The point will be anchored to the altitude of this parent group container.
|
|
4094
|
+
*/
|
|
4095
|
+
parentId?: EntityId<GroupContainerState> | string | null;
|
|
4096
|
+
};
|
|
3293
4097
|
/**
|
|
3294
4098
|
* State representing a Path
|
|
3295
4099
|
*/
|
|
@@ -3361,7 +4165,7 @@ declare module '@mappedin/mappedin-js/geojson/src/components/path' {
|
|
|
3361
4165
|
material?: ShaderMaterial;
|
|
3362
4166
|
geometry?: BufferGeometry;
|
|
3363
4167
|
outline?: Mesh;
|
|
3364
|
-
feature: FeatureCollection<Point>;
|
|
4168
|
+
feature: FeatureCollection<Point, PathProperties>;
|
|
3365
4169
|
options: AddPathOptions;
|
|
3366
4170
|
nearRadius: number;
|
|
3367
4171
|
farRadius: number;
|
|
@@ -3370,8 +4174,12 @@ declare module '@mappedin/mappedin-js/geojson/src/components/path' {
|
|
|
3370
4174
|
altitudeAdjustment: number;
|
|
3371
4175
|
displayArrowsOnPath: boolean;
|
|
3372
4176
|
animateArrowsOnPath: boolean;
|
|
4177
|
+
/**
|
|
4178
|
+
* If the path is vertical it will be rebuilt whenever altitudeDirty = true. This will be set during the first render of the path.
|
|
4179
|
+
*/
|
|
4180
|
+
isVertical: boolean;
|
|
3373
4181
|
dirty: boolean;
|
|
3374
|
-
constructor(feature: FeatureCollection<Point,
|
|
4182
|
+
constructor(feature: FeatureCollection<Point, PathProperties>, options?: AddPathOptions);
|
|
3375
4183
|
setColor(): void;
|
|
3376
4184
|
setOpacity(): void;
|
|
3377
4185
|
set completeFraction(value: number);
|
|
@@ -3389,9 +4197,175 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
|
|
|
3389
4197
|
import { Vector2 } from 'three';
|
|
3390
4198
|
import type { TDrawFn } from '@packages/internal/shave-text/shave-text';
|
|
3391
4199
|
import type { EntityId, Position } from '@mappedin/mappedin-js/geojson/src/types';
|
|
3392
|
-
import type { GroupContainerState } from '@mappedin/mappedin-js/geojson/src/entities/
|
|
4200
|
+
import type { GroupContainerState } from '@mappedin/mappedin-js/geojson/src/entities/group-container';
|
|
3393
4201
|
import type { RendererState } from '@mappedin/mappedin-js/geojson/src/renderer';
|
|
3394
4202
|
import type { CollisionRankingTier } from '@mappedin/mappedin-js/geojson/src';
|
|
4203
|
+
import { z } from 'zod';
|
|
4204
|
+
export const addLabelOptionsSchema: z.ZodObject<{
|
|
4205
|
+
rank: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["low", "medium", "high", "always-visible"]>, z.ZodNumber]>>;
|
|
4206
|
+
interactive: z.ZodOptional<z.ZodBoolean>;
|
|
4207
|
+
appearance: z.ZodOptional<z.ZodObject<{
|
|
4208
|
+
margin: z.ZodOptional<z.ZodNumber>;
|
|
4209
|
+
text: z.ZodOptional<z.ZodObject<{
|
|
4210
|
+
numLines: z.ZodOptional<z.ZodNumber>;
|
|
4211
|
+
lineHeight: z.ZodOptional<z.ZodNumber>;
|
|
4212
|
+
size: z.ZodOptional<z.ZodNumber>;
|
|
4213
|
+
maxWidth: z.ZodOptional<z.ZodNumber>;
|
|
4214
|
+
foregroundColor: z.ZodOptional<z.ZodString>;
|
|
4215
|
+
backgroundColor: z.ZodOptional<z.ZodString>;
|
|
4216
|
+
}, "strip", z.ZodTypeAny, {
|
|
4217
|
+
size?: number | undefined;
|
|
4218
|
+
maxWidth?: number | undefined;
|
|
4219
|
+
lineHeight?: number | undefined;
|
|
4220
|
+
numLines?: number | undefined;
|
|
4221
|
+
foregroundColor?: string | undefined;
|
|
4222
|
+
backgroundColor?: string | undefined;
|
|
4223
|
+
}, {
|
|
4224
|
+
size?: number | undefined;
|
|
4225
|
+
maxWidth?: number | undefined;
|
|
4226
|
+
lineHeight?: number | undefined;
|
|
4227
|
+
numLines?: number | undefined;
|
|
4228
|
+
foregroundColor?: string | undefined;
|
|
4229
|
+
backgroundColor?: string | undefined;
|
|
4230
|
+
}>>;
|
|
4231
|
+
marker: z.ZodOptional<z.ZodObject<{
|
|
4232
|
+
size: z.ZodOptional<z.ZodNumber>;
|
|
4233
|
+
foregroundColor: z.ZodOptional<z.ZodObject<{
|
|
4234
|
+
active: z.ZodOptional<z.ZodString>;
|
|
4235
|
+
inactive: z.ZodOptional<z.ZodString>;
|
|
4236
|
+
}, "strip", z.ZodTypeAny, {
|
|
4237
|
+
active?: string | undefined;
|
|
4238
|
+
inactive?: string | undefined;
|
|
4239
|
+
}, {
|
|
4240
|
+
active?: string | undefined;
|
|
4241
|
+
inactive?: string | undefined;
|
|
4242
|
+
}>>;
|
|
4243
|
+
backgroundColor: z.ZodOptional<z.ZodObject<{
|
|
4244
|
+
active: z.ZodOptional<z.ZodString>;
|
|
4245
|
+
inactive: z.ZodOptional<z.ZodString>;
|
|
4246
|
+
}, "strip", z.ZodTypeAny, {
|
|
4247
|
+
active?: string | undefined;
|
|
4248
|
+
inactive?: string | undefined;
|
|
4249
|
+
}, {
|
|
4250
|
+
active?: string | undefined;
|
|
4251
|
+
inactive?: string | undefined;
|
|
4252
|
+
}>>;
|
|
4253
|
+
}, "strip", z.ZodTypeAny, {
|
|
4254
|
+
size?: number | undefined;
|
|
4255
|
+
foregroundColor?: {
|
|
4256
|
+
active?: string | undefined;
|
|
4257
|
+
inactive?: string | undefined;
|
|
4258
|
+
} | undefined;
|
|
4259
|
+
backgroundColor?: {
|
|
4260
|
+
active?: string | undefined;
|
|
4261
|
+
inactive?: string | undefined;
|
|
4262
|
+
} | undefined;
|
|
4263
|
+
}, {
|
|
4264
|
+
size?: number | undefined;
|
|
4265
|
+
foregroundColor?: {
|
|
4266
|
+
active?: string | undefined;
|
|
4267
|
+
inactive?: string | undefined;
|
|
4268
|
+
} | undefined;
|
|
4269
|
+
backgroundColor?: {
|
|
4270
|
+
active?: string | undefined;
|
|
4271
|
+
inactive?: string | undefined;
|
|
4272
|
+
} | undefined;
|
|
4273
|
+
}>>;
|
|
4274
|
+
}, "strip", z.ZodTypeAny, {
|
|
4275
|
+
text?: {
|
|
4276
|
+
size?: number | undefined;
|
|
4277
|
+
maxWidth?: number | undefined;
|
|
4278
|
+
lineHeight?: number | undefined;
|
|
4279
|
+
numLines?: number | undefined;
|
|
4280
|
+
foregroundColor?: string | undefined;
|
|
4281
|
+
backgroundColor?: string | undefined;
|
|
4282
|
+
} | undefined;
|
|
4283
|
+
marker?: {
|
|
4284
|
+
size?: number | undefined;
|
|
4285
|
+
foregroundColor?: {
|
|
4286
|
+
active?: string | undefined;
|
|
4287
|
+
inactive?: string | undefined;
|
|
4288
|
+
} | undefined;
|
|
4289
|
+
backgroundColor?: {
|
|
4290
|
+
active?: string | undefined;
|
|
4291
|
+
inactive?: string | undefined;
|
|
4292
|
+
} | undefined;
|
|
4293
|
+
} | undefined;
|
|
4294
|
+
margin?: number | undefined;
|
|
4295
|
+
}, {
|
|
4296
|
+
text?: {
|
|
4297
|
+
size?: number | undefined;
|
|
4298
|
+
maxWidth?: number | undefined;
|
|
4299
|
+
lineHeight?: number | undefined;
|
|
4300
|
+
numLines?: number | undefined;
|
|
4301
|
+
foregroundColor?: string | undefined;
|
|
4302
|
+
backgroundColor?: string | undefined;
|
|
4303
|
+
} | undefined;
|
|
4304
|
+
marker?: {
|
|
4305
|
+
size?: number | undefined;
|
|
4306
|
+
foregroundColor?: {
|
|
4307
|
+
active?: string | undefined;
|
|
4308
|
+
inactive?: string | undefined;
|
|
4309
|
+
} | undefined;
|
|
4310
|
+
backgroundColor?: {
|
|
4311
|
+
active?: string | undefined;
|
|
4312
|
+
inactive?: string | undefined;
|
|
4313
|
+
} | undefined;
|
|
4314
|
+
} | undefined;
|
|
4315
|
+
margin?: number | undefined;
|
|
4316
|
+
}>>;
|
|
4317
|
+
}, "strip", z.ZodTypeAny, {
|
|
4318
|
+
interactive?: boolean | undefined;
|
|
4319
|
+
rank?: number | "high" | "low" | "medium" | "always-visible" | undefined;
|
|
4320
|
+
appearance?: {
|
|
4321
|
+
text?: {
|
|
4322
|
+
size?: number | undefined;
|
|
4323
|
+
maxWidth?: number | undefined;
|
|
4324
|
+
lineHeight?: number | undefined;
|
|
4325
|
+
numLines?: number | undefined;
|
|
4326
|
+
foregroundColor?: string | undefined;
|
|
4327
|
+
backgroundColor?: string | undefined;
|
|
4328
|
+
} | undefined;
|
|
4329
|
+
marker?: {
|
|
4330
|
+
size?: number | undefined;
|
|
4331
|
+
foregroundColor?: {
|
|
4332
|
+
active?: string | undefined;
|
|
4333
|
+
inactive?: string | undefined;
|
|
4334
|
+
} | undefined;
|
|
4335
|
+
backgroundColor?: {
|
|
4336
|
+
active?: string | undefined;
|
|
4337
|
+
inactive?: string | undefined;
|
|
4338
|
+
} | undefined;
|
|
4339
|
+
} | undefined;
|
|
4340
|
+
margin?: number | undefined;
|
|
4341
|
+
} | undefined;
|
|
4342
|
+
}, {
|
|
4343
|
+
interactive?: boolean | undefined;
|
|
4344
|
+
rank?: number | "high" | "low" | "medium" | "always-visible" | undefined;
|
|
4345
|
+
appearance?: {
|
|
4346
|
+
text?: {
|
|
4347
|
+
size?: number | undefined;
|
|
4348
|
+
maxWidth?: number | undefined;
|
|
4349
|
+
lineHeight?: number | undefined;
|
|
4350
|
+
numLines?: number | undefined;
|
|
4351
|
+
foregroundColor?: string | undefined;
|
|
4352
|
+
backgroundColor?: string | undefined;
|
|
4353
|
+
} | undefined;
|
|
4354
|
+
marker?: {
|
|
4355
|
+
size?: number | undefined;
|
|
4356
|
+
foregroundColor?: {
|
|
4357
|
+
active?: string | undefined;
|
|
4358
|
+
inactive?: string | undefined;
|
|
4359
|
+
} | undefined;
|
|
4360
|
+
backgroundColor?: {
|
|
4361
|
+
active?: string | undefined;
|
|
4362
|
+
inactive?: string | undefined;
|
|
4363
|
+
} | undefined;
|
|
4364
|
+
} | undefined;
|
|
4365
|
+
margin?: number | undefined;
|
|
4366
|
+
} | undefined;
|
|
4367
|
+
}>;
|
|
4368
|
+
export function validateLabel(coordinate: Position, text: string, options: AddLabelOptions): void;
|
|
3395
4369
|
export const labelThemes: {
|
|
3396
4370
|
lightOnDark: {
|
|
3397
4371
|
text: {
|
|
@@ -3727,18 +4701,18 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
|
|
|
3727
4701
|
export default LabelComponent;
|
|
3728
4702
|
}
|
|
3729
4703
|
|
|
3730
|
-
declare module '@mappedin/mappedin-js/geojson/src/entities/
|
|
4704
|
+
declare module '@mappedin/mappedin-js/geojson/src/entities/group-container' {
|
|
3731
4705
|
import { Object3D } from 'three';
|
|
3732
|
-
import type { GeometryGroupState } from '@mappedin/mappedin-js/geojson/src/entities/
|
|
3733
|
-
import { GeometryGroupObject3D } from '@mappedin/mappedin-js/geojson/src/entities/
|
|
3734
|
-
import { Geometry2D } from '@mappedin/mappedin-js/geojson/src/entities/
|
|
4706
|
+
import type { GeometryGroupState } from '@mappedin/mappedin-js/geojson/src/entities/geometry-group';
|
|
4707
|
+
import { GeometryGroupObject3D } from '@mappedin/mappedin-js/geojson/src/entities/geometry-group';
|
|
4708
|
+
import { Geometry2D } from '@mappedin/mappedin-js/geojson/src/entities/geometry2d';
|
|
3735
4709
|
import type { StackComponent } from '@mappedin/mappedin-js/geojson/src/components/stack';
|
|
3736
4710
|
import type { MarkerState } from '@mappedin/mappedin-js/geojson/src/components/marker';
|
|
3737
4711
|
import type { LabelState } from '@mappedin/mappedin-js/geojson/src/components/label';
|
|
3738
|
-
import { Geometry3D } from '@mappedin/mappedin-js/geojson/src/entities/
|
|
4712
|
+
import { Geometry3D } from '@mappedin/mappedin-js/geojson/src/entities/geometry3d';
|
|
3739
4713
|
import type { PathState } from '@mappedin/mappedin-js/geojson/src/components/path';
|
|
3740
|
-
import { InteractionComponent } from '@mappedin/mappedin-js/geojson/src/components/interaction';
|
|
3741
|
-
export enum
|
|
4714
|
+
import type { InteractionComponent } from '@mappedin/mappedin-js/geojson/src/components/interaction';
|
|
4715
|
+
export enum GroupContainerComponents {
|
|
3742
4716
|
Stack = 0,
|
|
3743
4717
|
Interaction = 1
|
|
3744
4718
|
}
|
|
@@ -3780,13 +4754,13 @@ declare module '@mappedin/mappedin-js/geojson/src/entities/entity-group-containe
|
|
|
3780
4754
|
}
|
|
3781
4755
|
}
|
|
3782
4756
|
|
|
3783
|
-
declare module '@mappedin/mappedin-js/geojson/src/entities/
|
|
4757
|
+
declare module '@mappedin/mappedin-js/geojson/src/entities/geometry-group' {
|
|
3784
4758
|
import type { LineStyle, PaintStyle, Shading } from '@mappedin/mappedin-js/geojson/src/types';
|
|
3785
4759
|
import { Object3D } from 'three';
|
|
3786
|
-
import type
|
|
4760
|
+
import { type GeometryState } from '@mappedin/mappedin-js/geojson/src/components/mesh';
|
|
3787
4761
|
import type { ModelState } from '@mappedin/mappedin-js/geojson/src/components/model';
|
|
3788
4762
|
import { GeometryGroupStyleComponent } from '@mappedin/mappedin-js/geojson/src/components/geometry-group-style';
|
|
3789
|
-
export enum
|
|
4763
|
+
export enum GeometryGroupComponents {
|
|
3790
4764
|
GeometryGroupStyle = 0
|
|
3791
4765
|
}
|
|
3792
4766
|
/**
|
|
@@ -3833,6 +4807,14 @@ declare module '@mappedin/mappedin-js/geojson/src/entities/entity-group' {
|
|
|
3833
4807
|
* Whether the geometry and its children are outlined. This will affect all children of the geometry group and override their outline state.
|
|
3834
4808
|
*/
|
|
3835
4809
|
outline?: boolean;
|
|
4810
|
+
/**
|
|
4811
|
+
* The texture URL of the geometry
|
|
4812
|
+
*/
|
|
4813
|
+
texture?: string;
|
|
4814
|
+
/**
|
|
4815
|
+
* The top texture URL of the geometry
|
|
4816
|
+
*/
|
|
4817
|
+
topTexture?: string;
|
|
3836
4818
|
};
|
|
3837
4819
|
export type ChildUpdatable<T> = T extends LineStyle ? Partial<Pick<LineStyle, 'color' | 'opacity' | 'visible'>> : Partial<Pick<PaintStyle, 'color' | 'opacity' | 'visible'>>;
|
|
3838
4820
|
export class GeometryGroupObject3D extends Object3D {
|
|
@@ -3853,6 +4835,11 @@ declare module '@mappedin/mappedin-js/geojson/src/entities/entity-group' {
|
|
|
3853
4835
|
setOpacity(opacity: number): void;
|
|
3854
4836
|
removeEntity(): void;
|
|
3855
4837
|
constructor(id: string, style?: GeometryGroupStyleComponent);
|
|
4838
|
+
/**
|
|
4839
|
+
* Get first child entity of a group if it's a batched mesh
|
|
4840
|
+
* We use this logic a lot for getting the material of the group. since group does not have material and batched mesh does
|
|
4841
|
+
*/
|
|
4842
|
+
getfirstChildEntityId(): string | number | undefined;
|
|
3856
4843
|
}
|
|
3857
4844
|
}
|
|
3858
4845
|
|
|
@@ -3862,20 +4849,22 @@ declare module '@mappedin/mappedin-js/geojson/src/types/geometry' {
|
|
|
3862
4849
|
|
|
3863
4850
|
declare module '@mappedin/mappedin-js/geojson/src/types' {
|
|
3864
4851
|
import { Mesh, Object3D, InstancedMesh } from 'three';
|
|
3865
|
-
import type { Geometry2D } from '@mappedin/mappedin-js/geojson/src/entities/
|
|
4852
|
+
import type { Geometry2D } from '@mappedin/mappedin-js/geojson/src/entities/geometry2d';
|
|
3866
4853
|
import type { Position } from '@mappedin/mappedin-js/geojson/src/types/geometry';
|
|
3867
4854
|
import type { GeometryState } from '@mappedin/mappedin-js/geojson/src/components/mesh';
|
|
3868
|
-
import type { GeometryGroupState } from '@mappedin/mappedin-js/geojson/src/entities/
|
|
3869
|
-
import type { GroupContainerState } from '@mappedin/mappedin-js/geojson/src/entities/
|
|
4855
|
+
import type { GeometryGroupObject3D, GeometryGroupState } from '@mappedin/mappedin-js/geojson/src/entities/geometry-group';
|
|
4856
|
+
import type { GroupContainerObject3D, GroupContainerState } from '@mappedin/mappedin-js/geojson/src/entities/group-container';
|
|
3870
4857
|
import type { PathState } from '@mappedin/mappedin-js/geojson/src/components/path';
|
|
3871
4858
|
import type { ModelState } from '@mappedin/mappedin-js/geojson/src/components/model';
|
|
3872
4859
|
import type { LabelState } from '@mappedin/mappedin-js/geojson/src/components/label';
|
|
3873
4860
|
import type { MarkerState } from '@mappedin/mappedin-js/geojson/src/components/marker';
|
|
4861
|
+
import type { ImageState } from '@mappedin/mappedin-js/geojson/src/components/image';
|
|
3874
4862
|
import type { ShapeState } from '@mappedin/mappedin-js/geojson/src/components/custom';
|
|
4863
|
+
import type { Geometry3D } from '@mappedin/mappedin-js/geojson/src/entities';
|
|
3875
4864
|
/**
|
|
3876
4865
|
* The state of an entity, which can be a geometry, geometry group, group container, path, model, label, or marker.
|
|
3877
4866
|
*/
|
|
3878
|
-
export type EntityState = GeometryState | GeometryGroupState | GroupContainerState | PathState | ModelState | LabelState | MarkerState | ShapeState;
|
|
4867
|
+
export type EntityState = GeometryState | GeometryGroupState | GroupContainerState | PathState | ModelState | LabelState | MarkerState | ImageState | ShapeState;
|
|
3879
4868
|
/**
|
|
3880
4869
|
* A wrapper object that contains the ID and type of an entity. This is returned when adding entities to the scene, and can be used
|
|
3881
4870
|
* to `getState` and `setState` of the entity.
|
|
@@ -3924,9 +4913,9 @@ declare module '@mappedin/mappedin-js/geojson/src/types' {
|
|
|
3924
4913
|
texture?: string;
|
|
3925
4914
|
shading?: Shading;
|
|
3926
4915
|
outline?: boolean;
|
|
4916
|
+
showImage?: boolean;
|
|
4917
|
+
flipImageToFaceCamera?: boolean;
|
|
3927
4918
|
};
|
|
3928
|
-
export type Cap = 'round' | 'square' | 'butt';
|
|
3929
|
-
export type Join = 'round' | 'bevel' | 'miter';
|
|
3930
4919
|
export type Shading = {
|
|
3931
4920
|
start?: number;
|
|
3932
4921
|
end?: number;
|
|
@@ -3940,8 +4929,8 @@ declare module '@mappedin/mappedin-js/geojson/src/types' {
|
|
|
3940
4929
|
height?: number;
|
|
3941
4930
|
altitude?: number;
|
|
3942
4931
|
visible?: boolean;
|
|
3943
|
-
cap?:
|
|
3944
|
-
join?:
|
|
4932
|
+
cap?: 'round' | 'square' | 'butt';
|
|
4933
|
+
join?: 'round' | 'bevel' | 'miter';
|
|
3945
4934
|
shading?: Shading;
|
|
3946
4935
|
outline?: boolean;
|
|
3947
4936
|
};
|
|
@@ -3957,6 +4946,12 @@ declare module '@mappedin/mappedin-js/geojson/src/types' {
|
|
|
3957
4946
|
};
|
|
3958
4947
|
source: string;
|
|
3959
4948
|
};
|
|
4949
|
+
export type PolygonImage = {
|
|
4950
|
+
width: number;
|
|
4951
|
+
height: number;
|
|
4952
|
+
verticalOffset?: number;
|
|
4953
|
+
rotation?: number;
|
|
4954
|
+
};
|
|
3960
4955
|
export type PolygonSource = {
|
|
3961
4956
|
features: {
|
|
3962
4957
|
type: 'Feature';
|
|
@@ -4103,6 +5098,10 @@ declare module '@mappedin/mappedin-js/geojson/src/types' {
|
|
|
4103
5098
|
* Geometries can be added to the focus listener via `mapView.setState(.., { focusable: true })`.
|
|
4104
5099
|
*/
|
|
4105
5100
|
'geometry-in-focus': string | number | null;
|
|
5101
|
+
/**
|
|
5102
|
+
* Fired before the scene is rendered. Use this to modify the scene before it is rendered.
|
|
5103
|
+
*/
|
|
5104
|
+
'pre-render': undefined;
|
|
4106
5105
|
};
|
|
4107
5106
|
/**
|
|
4108
5107
|
* The payload of an event. See also {@link MapEvent}.
|
|
@@ -4110,6 +5109,21 @@ declare module '@mappedin/mappedin-js/geojson/src/types' {
|
|
|
4110
5109
|
export type MapEventPayload<EventName extends keyof MapEvent> = MapEvent[EventName] extends {
|
|
4111
5110
|
data: null;
|
|
4112
5111
|
} ? MapEvent[EventName]['data'] : MapEvent[EventName];
|
|
5112
|
+
export type Geometry3DTypes = Geometry3D | GeometryGroupObject3D | GroupContainerObject3D;
|
|
5113
|
+
export type RendererState = {
|
|
5114
|
+
geometry3DMap: Map<string | number, Geometry3DTypes>;
|
|
5115
|
+
geometry2DMap: Map<string | number, Geometry2D>;
|
|
5116
|
+
geometry2DIdsInScene: Set<Geometry2D['id']>;
|
|
5117
|
+
geometry3DIdsInScene: Set<Geometry3DTypes['id']>;
|
|
5118
|
+
entityScene: GroupContainerObject3D;
|
|
5119
|
+
hoverColor: string;
|
|
5120
|
+
center?: Position;
|
|
5121
|
+
insetsPadding: InsetPadding;
|
|
5122
|
+
shouldMeasureCanvas: boolean;
|
|
5123
|
+
pixelRatio: number;
|
|
5124
|
+
canvasWidth: number;
|
|
5125
|
+
canvasHeight: number;
|
|
5126
|
+
};
|
|
4113
5127
|
}
|
|
4114
5128
|
|
|
4115
5129
|
declare module '@mappedin/mappedin-js/geojson/src/components/mesh' {
|
|
@@ -4124,6 +5138,7 @@ declare module '@mappedin/mappedin-js/geojson/src/components/mesh' {
|
|
|
4124
5138
|
entities: {
|
|
4125
5139
|
[key: number]: string | number;
|
|
4126
5140
|
};
|
|
5141
|
+
detached?: boolean;
|
|
4127
5142
|
};
|
|
4128
5143
|
}
|
|
4129
5144
|
/**
|
|
@@ -4169,21 +5184,49 @@ declare module '@mappedin/mappedin-js/geojson/src/components/mesh' {
|
|
|
4169
5184
|
* Whether the geometry is outlined with a 30% darkened color. This effect adds lines around the geometry to make it stand out.
|
|
4170
5185
|
*/
|
|
4171
5186
|
outline: boolean;
|
|
5187
|
+
/**
|
|
5188
|
+
* Show geometry image if present
|
|
5189
|
+
*/
|
|
5190
|
+
showImage: boolean;
|
|
5191
|
+
/**
|
|
5192
|
+
* Attempt to keep the image facing the camera as much as possible
|
|
5193
|
+
*/
|
|
5194
|
+
flipImageToFaceCamera: boolean;
|
|
4172
5195
|
/**
|
|
4173
5196
|
* Whether the geometry should emit an event when focused on by the center of the camera
|
|
4174
5197
|
*/
|
|
4175
5198
|
focusable: boolean;
|
|
5199
|
+
/**
|
|
5200
|
+
* The opacity of the geometry
|
|
5201
|
+
*/
|
|
5202
|
+
opacity: number;
|
|
5203
|
+
/**
|
|
5204
|
+
* The height of the geometry
|
|
5205
|
+
*/
|
|
5206
|
+
height: number;
|
|
5207
|
+
/**
|
|
5208
|
+
* The texture URL of the geometry
|
|
5209
|
+
*/
|
|
5210
|
+
texture?: string;
|
|
5211
|
+
/**
|
|
5212
|
+
* The top texture URL of the geometry
|
|
5213
|
+
*/
|
|
5214
|
+
topTexture?: string;
|
|
4176
5215
|
};
|
|
4177
5216
|
export class MeshComponent {
|
|
4178
5217
|
#private;
|
|
4179
5218
|
mesh?: EntityBatchedMesh;
|
|
4180
5219
|
focusMesh?: Mesh;
|
|
4181
5220
|
outline?: LineSegments;
|
|
5221
|
+
imageMesh?: Mesh;
|
|
4182
5222
|
readonly type = "geometry";
|
|
5223
|
+
dirty: boolean;
|
|
5224
|
+
detached: boolean;
|
|
4183
5225
|
instanceIndex: number;
|
|
4184
5226
|
geometry?: BufferGeometry;
|
|
4185
5227
|
material?: BatchedStandardMaterial;
|
|
4186
5228
|
feature: Feature<Polygon | LineString | MultiPolygon | MultiLineString>;
|
|
5229
|
+
currentHeight: number;
|
|
4187
5230
|
constructor(feature: Feature<Polygon | LineString | MultiPolygon | MultiLineString>);
|
|
4188
5231
|
get visible(): boolean;
|
|
4189
5232
|
set visible(visible: boolean);
|
|
@@ -4192,6 +5235,10 @@ declare module '@mappedin/mappedin-js/geojson/src/components/mesh' {
|
|
|
4192
5235
|
color: Color;
|
|
4193
5236
|
topColor: Color;
|
|
4194
5237
|
setColor(color: string, topColor: string): void;
|
|
5238
|
+
getColor(): {
|
|
5239
|
+
color: Color;
|
|
5240
|
+
topColor: Color;
|
|
5241
|
+
} | undefined;
|
|
4195
5242
|
position: Vector3;
|
|
4196
5243
|
get altitude(): number;
|
|
4197
5244
|
set altitude(value: number);
|
|
@@ -4199,12 +5246,16 @@ declare module '@mappedin/mappedin-js/geojson/src/components/mesh' {
|
|
|
4199
5246
|
set opacity(value: number);
|
|
4200
5247
|
get texture(): string;
|
|
4201
5248
|
set texture(texture: Texture);
|
|
5249
|
+
get textureInstance(): Texture | undefined;
|
|
4202
5250
|
set topTexture(texture: Texture);
|
|
4203
5251
|
get topTexture(): string;
|
|
5252
|
+
get topTextureInstance(): Texture | undefined;
|
|
4204
5253
|
get featureBbox(): BBox;
|
|
4205
5254
|
texturesVisible: boolean;
|
|
4206
5255
|
showTextures(): void;
|
|
4207
5256
|
hideTextures(): void;
|
|
5257
|
+
removeSideTexture(): void;
|
|
5258
|
+
removeTopTexture(): void;
|
|
4208
5259
|
}
|
|
4209
5260
|
}
|
|
4210
5261
|
|
|
@@ -4212,8 +5263,8 @@ declare module '@mappedin/mappedin-js/geojson/src/components/custom' {
|
|
|
4212
5263
|
import { Color, type Object3D, type LineSegments } from 'three';
|
|
4213
5264
|
import type { EntityId, Position } from '@mappedin/mappedin-js/geojson/src/types';
|
|
4214
5265
|
import type { Feature, Point } from 'geojson';
|
|
4215
|
-
import { Geometry3DObject3D } from '@mappedin/mappedin-js/geojson/src/entities/
|
|
4216
|
-
import type { GroupContainerState } from '@mappedin/mappedin-js/geojson/src/entities/
|
|
5266
|
+
import { Geometry3DObject3D } from '@mappedin/mappedin-js/geojson/src/entities/geometry3d';
|
|
5267
|
+
import type { GroupContainerState } from '@mappedin/mappedin-js/geojson/src/entities/group-container';
|
|
4217
5268
|
/**
|
|
4218
5269
|
* State representing a Custom Geometry
|
|
4219
5270
|
*/
|
|
@@ -4268,10 +5319,11 @@ declare module '@mappedin/mappedin-js/geojson/src/components/model' {
|
|
|
4268
5319
|
import type { LineSegments, Object3D } from 'three';
|
|
4269
5320
|
import { Color, Vector3 } from 'three';
|
|
4270
5321
|
import type { BatchedStandardMaterial } from '@mappedin/mappedin-js/geojson/src/systems/mesh-creation-and-optimization/batched-material';
|
|
4271
|
-
import type { Position, EntityId } from '@mappedin/mappedin-js/geojson/src/types';
|
|
4272
|
-
import type { Feature, Point } from 'geojson';
|
|
4273
|
-
import type { Geometry3DObject3D } from '@mappedin/mappedin-js/geojson/src/entities/
|
|
4274
|
-
import type { GeometryGroupState } from '@mappedin/mappedin-js/geojson/src/entities/
|
|
5322
|
+
import type { Position, EntityId, ModelProperties, ModelStyle } from '@mappedin/mappedin-js/geojson/src/types';
|
|
5323
|
+
import type { Feature, FeatureCollection, Point } from 'geojson';
|
|
5324
|
+
import type { Geometry3DObject3D } from '@mappedin/mappedin-js/geojson/src/entities/geometry3d';
|
|
5325
|
+
import type { GeometryGroupState } from '@mappedin/mappedin-js/geojson/src/entities/geometry-group';
|
|
5326
|
+
import { z } from 'zod';
|
|
4275
5327
|
/**
|
|
4276
5328
|
* State representing a Model, typically loaded via a URL
|
|
4277
5329
|
*/
|
|
@@ -4296,6 +5348,190 @@ declare module '@mappedin/mappedin-js/geojson/src/components/model' {
|
|
|
4296
5348
|
*/
|
|
4297
5349
|
interactive: boolean;
|
|
4298
5350
|
};
|
|
5351
|
+
export const modelPropertiesSchema: z.ZodObject<{
|
|
5352
|
+
rotation: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
|
|
5353
|
+
altitude: z.ZodOptional<z.ZodNumber>;
|
|
5354
|
+
scale: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
|
|
5355
|
+
interactive: z.ZodOptional<z.ZodBoolean>;
|
|
5356
|
+
id: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
5357
|
+
}, "strip", z.ZodTypeAny, {
|
|
5358
|
+
rotation?: number[] | undefined;
|
|
5359
|
+
altitude?: number | undefined;
|
|
5360
|
+
scale?: number[] | undefined;
|
|
5361
|
+
interactive?: boolean | undefined;
|
|
5362
|
+
id?: string | number | undefined;
|
|
5363
|
+
}, {
|
|
5364
|
+
rotation?: number[] | undefined;
|
|
5365
|
+
altitude?: number | undefined;
|
|
5366
|
+
scale?: number[] | undefined;
|
|
5367
|
+
interactive?: boolean | undefined;
|
|
5368
|
+
id?: string | number | undefined;
|
|
5369
|
+
}>;
|
|
5370
|
+
export const featureSchema: z.ZodObject<{
|
|
5371
|
+
type: z.ZodEnum<["Feature"]>;
|
|
5372
|
+
geometry: z.ZodObject<{
|
|
5373
|
+
type: z.ZodEnum<["Point"]>;
|
|
5374
|
+
coordinates: z.ZodArray<z.ZodNumber, "many">;
|
|
5375
|
+
}, "strip", z.ZodTypeAny, {
|
|
5376
|
+
type: "Point";
|
|
5377
|
+
coordinates: number[];
|
|
5378
|
+
}, {
|
|
5379
|
+
type: "Point";
|
|
5380
|
+
coordinates: number[];
|
|
5381
|
+
}>;
|
|
5382
|
+
properties: z.ZodObject<{
|
|
5383
|
+
rotation: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
|
|
5384
|
+
altitude: z.ZodOptional<z.ZodNumber>;
|
|
5385
|
+
scale: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
|
|
5386
|
+
interactive: z.ZodOptional<z.ZodBoolean>;
|
|
5387
|
+
id: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
5388
|
+
}, "strip", z.ZodTypeAny, {
|
|
5389
|
+
rotation?: number[] | undefined;
|
|
5390
|
+
altitude?: number | undefined;
|
|
5391
|
+
scale?: number[] | undefined;
|
|
5392
|
+
interactive?: boolean | undefined;
|
|
5393
|
+
id?: string | number | undefined;
|
|
5394
|
+
}, {
|
|
5395
|
+
rotation?: number[] | undefined;
|
|
5396
|
+
altitude?: number | undefined;
|
|
5397
|
+
scale?: number[] | undefined;
|
|
5398
|
+
interactive?: boolean | undefined;
|
|
5399
|
+
id?: string | number | undefined;
|
|
5400
|
+
}>;
|
|
5401
|
+
}, "strip", z.ZodTypeAny, {
|
|
5402
|
+
type: "Feature";
|
|
5403
|
+
geometry: {
|
|
5404
|
+
type: "Point";
|
|
5405
|
+
coordinates: number[];
|
|
5406
|
+
};
|
|
5407
|
+
properties: {
|
|
5408
|
+
rotation?: number[] | undefined;
|
|
5409
|
+
altitude?: number | undefined;
|
|
5410
|
+
scale?: number[] | undefined;
|
|
5411
|
+
interactive?: boolean | undefined;
|
|
5412
|
+
id?: string | number | undefined;
|
|
5413
|
+
};
|
|
5414
|
+
}, {
|
|
5415
|
+
type: "Feature";
|
|
5416
|
+
geometry: {
|
|
5417
|
+
type: "Point";
|
|
5418
|
+
coordinates: number[];
|
|
5419
|
+
};
|
|
5420
|
+
properties: {
|
|
5421
|
+
rotation?: number[] | undefined;
|
|
5422
|
+
altitude?: number | undefined;
|
|
5423
|
+
scale?: number[] | undefined;
|
|
5424
|
+
interactive?: boolean | undefined;
|
|
5425
|
+
id?: string | number | undefined;
|
|
5426
|
+
};
|
|
5427
|
+
}>;
|
|
5428
|
+
export const addModelFeatureSchema: z.ZodObject<{
|
|
5429
|
+
type: z.ZodEnum<["FeatureCollection"]>;
|
|
5430
|
+
features: z.ZodArray<z.ZodObject<{
|
|
5431
|
+
type: z.ZodEnum<["Feature"]>;
|
|
5432
|
+
geometry: z.ZodObject<{
|
|
5433
|
+
type: z.ZodEnum<["Point"]>;
|
|
5434
|
+
coordinates: z.ZodArray<z.ZodNumber, "many">;
|
|
5435
|
+
}, "strip", z.ZodTypeAny, {
|
|
5436
|
+
type: "Point";
|
|
5437
|
+
coordinates: number[];
|
|
5438
|
+
}, {
|
|
5439
|
+
type: "Point";
|
|
5440
|
+
coordinates: number[];
|
|
5441
|
+
}>;
|
|
5442
|
+
properties: z.ZodObject<{
|
|
5443
|
+
rotation: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
|
|
5444
|
+
altitude: z.ZodOptional<z.ZodNumber>;
|
|
5445
|
+
scale: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
|
|
5446
|
+
interactive: z.ZodOptional<z.ZodBoolean>;
|
|
5447
|
+
id: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
5448
|
+
}, "strip", z.ZodTypeAny, {
|
|
5449
|
+
rotation?: number[] | undefined;
|
|
5450
|
+
altitude?: number | undefined;
|
|
5451
|
+
scale?: number[] | undefined;
|
|
5452
|
+
interactive?: boolean | undefined;
|
|
5453
|
+
id?: string | number | undefined;
|
|
5454
|
+
}, {
|
|
5455
|
+
rotation?: number[] | undefined;
|
|
5456
|
+
altitude?: number | undefined;
|
|
5457
|
+
scale?: number[] | undefined;
|
|
5458
|
+
interactive?: boolean | undefined;
|
|
5459
|
+
id?: string | number | undefined;
|
|
5460
|
+
}>;
|
|
5461
|
+
}, "strip", z.ZodTypeAny, {
|
|
5462
|
+
type: "Feature";
|
|
5463
|
+
geometry: {
|
|
5464
|
+
type: "Point";
|
|
5465
|
+
coordinates: number[];
|
|
5466
|
+
};
|
|
5467
|
+
properties: {
|
|
5468
|
+
rotation?: number[] | undefined;
|
|
5469
|
+
altitude?: number | undefined;
|
|
5470
|
+
scale?: number[] | undefined;
|
|
5471
|
+
interactive?: boolean | undefined;
|
|
5472
|
+
id?: string | number | undefined;
|
|
5473
|
+
};
|
|
5474
|
+
}, {
|
|
5475
|
+
type: "Feature";
|
|
5476
|
+
geometry: {
|
|
5477
|
+
type: "Point";
|
|
5478
|
+
coordinates: number[];
|
|
5479
|
+
};
|
|
5480
|
+
properties: {
|
|
5481
|
+
rotation?: number[] | undefined;
|
|
5482
|
+
altitude?: number | undefined;
|
|
5483
|
+
scale?: number[] | undefined;
|
|
5484
|
+
interactive?: boolean | undefined;
|
|
5485
|
+
id?: string | number | undefined;
|
|
5486
|
+
};
|
|
5487
|
+
}>, "many">;
|
|
5488
|
+
}, "strip", z.ZodTypeAny, {
|
|
5489
|
+
type: "FeatureCollection";
|
|
5490
|
+
features: {
|
|
5491
|
+
type: "Feature";
|
|
5492
|
+
geometry: {
|
|
5493
|
+
type: "Point";
|
|
5494
|
+
coordinates: number[];
|
|
5495
|
+
};
|
|
5496
|
+
properties: {
|
|
5497
|
+
rotation?: number[] | undefined;
|
|
5498
|
+
altitude?: number | undefined;
|
|
5499
|
+
scale?: number[] | undefined;
|
|
5500
|
+
interactive?: boolean | undefined;
|
|
5501
|
+
id?: string | number | undefined;
|
|
5502
|
+
};
|
|
5503
|
+
}[];
|
|
5504
|
+
}, {
|
|
5505
|
+
type: "FeatureCollection";
|
|
5506
|
+
features: {
|
|
5507
|
+
type: "Feature";
|
|
5508
|
+
geometry: {
|
|
5509
|
+
type: "Point";
|
|
5510
|
+
coordinates: number[];
|
|
5511
|
+
};
|
|
5512
|
+
properties: {
|
|
5513
|
+
rotation?: number[] | undefined;
|
|
5514
|
+
altitude?: number | undefined;
|
|
5515
|
+
scale?: number[] | undefined;
|
|
5516
|
+
interactive?: boolean | undefined;
|
|
5517
|
+
id?: string | number | undefined;
|
|
5518
|
+
};
|
|
5519
|
+
}[];
|
|
5520
|
+
}>;
|
|
5521
|
+
export const modelStyleSchema: z.ZodObject<{
|
|
5522
|
+
url: z.ZodString;
|
|
5523
|
+
color: z.ZodOptional<z.ZodString>;
|
|
5524
|
+
opacity: z.ZodOptional<z.ZodNumber>;
|
|
5525
|
+
}, "strip", z.ZodTypeAny, {
|
|
5526
|
+
url: string;
|
|
5527
|
+
color?: string | undefined;
|
|
5528
|
+
opacity?: number | undefined;
|
|
5529
|
+
}, {
|
|
5530
|
+
url: string;
|
|
5531
|
+
color?: string | undefined;
|
|
5532
|
+
opacity?: number | undefined;
|
|
5533
|
+
}>;
|
|
5534
|
+
export function validateModelGroup(id: string | number, geometry: FeatureCollection<Point, ModelProperties>, style: ModelStyle): void;
|
|
4299
5535
|
export class ModelComponent {
|
|
4300
5536
|
#private;
|
|
4301
5537
|
mesh?: Geometry3DObject3D;
|
|
@@ -4320,13 +5556,10 @@ declare module '@mappedin/mappedin-js/geojson/src/components/model' {
|
|
|
4320
5556
|
|
|
4321
5557
|
declare module '@mappedin/mappedin-js/geojson/src/renderer' {
|
|
4322
5558
|
import './utils/object-this-polyfill';
|
|
4323
|
-
import type { Position as GeoJsonPosition } from 'geojson';
|
|
4324
5559
|
import { Vector3, Raycaster, Camera as ThreeCamera } from 'three';
|
|
4325
|
-
import type { GroupContainerState } from '@mappedin/mappedin-js/geojson/src/entities/
|
|
4326
|
-
import { GroupContainerObject3D } from '@mappedin/mappedin-js/geojson/src/entities/
|
|
5560
|
+
import type { GroupContainerState } from '@mappedin/mappedin-js/geojson/src/entities/group-container';
|
|
5561
|
+
import { GroupContainerObject3D } from '@mappedin/mappedin-js/geojson/src/entities/group-container';
|
|
4327
5562
|
import { PubSub } from '@mappedin/mappedin-js/packages/common/pubsub';
|
|
4328
|
-
import { Geometry3D } from '@mappedin/mappedin-js/geojson/src/entities/three-d';
|
|
4329
|
-
import { Geometry2D } from '@mappedin/mappedin-js/geojson/src/entities/two-d';
|
|
4330
5563
|
import { CollisionSystem } from '@mappedin/mappedin-js/geojson/src/systems/collisions/system';
|
|
4331
5564
|
import { InteractionSystem } from '@mappedin/mappedin-js/geojson/src/systems/interactions';
|
|
4332
5565
|
import { ZoomInterpolationSystem } from '@mappedin/mappedin-js/geojson/src/systems/zoom-interpolation/zoom-interpolation';
|
|
@@ -4334,7 +5567,7 @@ declare module '@mappedin/mappedin-js/geojson/src/renderer' {
|
|
|
4334
5567
|
import type { GLTFExportOptions } from '@mappedin/mappedin-js/geojson/src/systems/exporter';
|
|
4335
5568
|
import { ExporterSystem } from '@mappedin/mappedin-js/geojson/src/systems/exporter';
|
|
4336
5569
|
import type { AddLabelOptions, LabelState } from '@mappedin/mappedin-js/geojson/src/components/label';
|
|
4337
|
-
import type { LineStyle, PaintStyle, RendererCoreOptions, Position, ModelProperties, ModelStyle,
|
|
5570
|
+
import type { LineStyle, PaintStyle, RendererCoreOptions, Position, ModelProperties, ModelStyle, EntityState, EntityId, MapEvent, MapEventPayload, RendererState } from '@mappedin/mappedin-js/geojson/src/types';
|
|
4338
5571
|
import { MeshCreationAndOptimizationSystem } from '@mappedin/mappedin-js/geojson/src/systems/mesh-creation-and-optimization/system';
|
|
4339
5572
|
import { DOMVisibilitySystem } from '@mappedin/mappedin-js/geojson/src/systems/dom-visiblity/system';
|
|
4340
5573
|
import { TwoDProjectionSystem } from '@mappedin/mappedin-js/geojson/src/systems/2d-projection/system';
|
|
@@ -4342,34 +5575,33 @@ declare module '@mappedin/mappedin-js/geojson/src/renderer' {
|
|
|
4342
5575
|
import { DrawSystem } from '@mappedin/mappedin-js/geojson/src/systems/draw/system';
|
|
4343
5576
|
import { TwoDVisibilitySystem } from '@mappedin/mappedin-js/geojson/src/systems/2d-visibility/system';
|
|
4344
5577
|
import { RenderSystem } from '@mappedin/mappedin-js/geojson/src/systems/render/system';
|
|
4345
|
-
import type { FeatureCollection, LineString, MultiPolygon, Polygon, Point, Feature } from 'geojson';
|
|
4346
|
-
import type { AddPathOptions, PathState } from '@mappedin/mappedin-js/geojson/src/components/path';
|
|
5578
|
+
import type { Position as GeoJsonPosition, FeatureCollection, LineString, MultiPolygon, Polygon, Point, Feature } from 'geojson';
|
|
5579
|
+
import type { AddPathOptions, PathProperties, PathState } from '@mappedin/mappedin-js/geojson/src/components/path';
|
|
4347
5580
|
import { StackSystem } from '@mappedin/mappedin-js/geojson/src/systems/stack/system';
|
|
4348
5581
|
import { CameraSystem } from '@mappedin/mappedin-js/geojson/src/systems/camera';
|
|
4349
5582
|
import { DOMDrawSystem } from '@mappedin/mappedin-js/geojson/src/systems/dom-draw/system';
|
|
4350
5583
|
import { type Map as MapLibreMap } from '@mappedin/mappedin-js/packages/outdoor-context-v4';
|
|
4351
5584
|
import type { GeometryState } from '@mappedin/mappedin-js/geojson/src/components/mesh';
|
|
4352
5585
|
import type { ModelState } from '@mappedin/mappedin-js/geojson/src/components/model';
|
|
4353
|
-
import type { GeometryGroupState } from '@mappedin/mappedin-js/geojson/src/entities/
|
|
4354
|
-
import { GeometryGroupObject3D } from '@mappedin/mappedin-js/geojson/src/entities/entity-group';
|
|
5586
|
+
import type { GeometryGroupState } from '@mappedin/mappedin-js/geojson/src/entities/geometry-group';
|
|
4355
5587
|
import { DOMResizeSystem } from '@mappedin/mappedin-js/geojson/src/systems/dom-resize/system';
|
|
4356
5588
|
import { Camera } from '@mappedin/mappedin-js/geojson/src/camera';
|
|
4357
|
-
import { type
|
|
5589
|
+
import { type WatermarkUpdateOptions, WatermarkSystem } from '@mappedin/mappedin-js/geojson/src/systems/watermark/system';
|
|
4358
5590
|
import { PanBoundsSystem } from '@mappedin/mappedin-js/geojson/src/systems/pan-bounds/system';
|
|
4359
5591
|
import { HTMLControlsSystem } from '@mappedin/mappedin-js/geojson/src/systems/html-controls/system';
|
|
4360
5592
|
import { type CustomGeometryBuilder, type ShapeState } from '@mappedin/mappedin-js/geojson/src/components/custom';
|
|
4361
5593
|
import { CustomGeometrySystem } from '@mappedin/mappedin-js/geojson/src/systems/custom-geometry/system';
|
|
4362
5594
|
import { OutlineInterpolationSystem } from '@mappedin/mappedin-js/geojson/src/systems/outline-interpolation/system';
|
|
5595
|
+
import { ImageSystem } from '@mappedin/mappedin-js/geojson/src/systems/image/system';
|
|
4363
5596
|
import { GeometryInFocusSystem } from '@mappedin/mappedin-js/geojson/src/systems/geometry-in-focus/system';
|
|
4364
5597
|
import { OutdoorLayers } from '@mappedin/mappedin-js/geojson/src/systems/outdoor-layers/system';
|
|
4365
5598
|
import { PathSystem } from '@mappedin/mappedin-js/geojson/src/systems/path';
|
|
5599
|
+
import { type ImageProperties, type ImageState, type ImageStyle } from '@mappedin/mappedin-js/geojson/src/components/image';
|
|
5600
|
+
import { MeshDetachmentSystem } from '@mappedin/mappedin-js/geojson/src/systems/mesh-detachment/system';
|
|
5601
|
+
import { MeshModificationSystem } from '@mappedin/mappedin-js/geojson/src/systems/mesh-modification/system';
|
|
5602
|
+
import { PreRenderSystem } from '@mappedin/mappedin-js/geojson/src/systems/pre-render/system';
|
|
4366
5603
|
export type * from '@mappedin/mappedin-js/geojson/src/types';
|
|
4367
5604
|
export const raycaster: Raycaster;
|
|
4368
|
-
export const DEFAULT_ZOOM_LEVEL = 18;
|
|
4369
|
-
export const DEFAULT_MIN_ZOOM_LEVEL = 12;
|
|
4370
|
-
export const DEFAULT_MAX_ZOOM_LEVEL = 22;
|
|
4371
|
-
export const DEFAULT_PITCH = 0;
|
|
4372
|
-
export const DEFAULT_BEARING = 0;
|
|
4373
5605
|
/**
|
|
4374
5606
|
* Some preset orderings for updates.
|
|
4375
5607
|
*/
|
|
@@ -4381,21 +5613,7 @@ declare module '@mappedin/mappedin-js/geojson/src/renderer' {
|
|
|
4381
5613
|
AFTER_RENDER: number;
|
|
4382
5614
|
AFTER_ALL_UPDATES: number;
|
|
4383
5615
|
};
|
|
4384
|
-
export
|
|
4385
|
-
export type RendererState = {
|
|
4386
|
-
entity3DMap: Map<string | number, Entity3DTypes>;
|
|
4387
|
-
entity2DMap: Map<string | number, Geometry2D>;
|
|
4388
|
-
entity2DIds: Set<Geometry2D['id']>;
|
|
4389
|
-
threeDEntities: (string | number)[];
|
|
4390
|
-
entityScene: GroupContainerObject3D;
|
|
4391
|
-
hoverColor: string;
|
|
4392
|
-
center?: Position;
|
|
4393
|
-
insetsPadding: InsetPadding;
|
|
4394
|
-
shouldMeasureCanvas: boolean;
|
|
4395
|
-
pixelRatio: number;
|
|
4396
|
-
canvasWidth: number;
|
|
4397
|
-
canvasHeight: number;
|
|
4398
|
-
};
|
|
5616
|
+
export const DEFAULT_PITCH: number, DEFAULT_BEARING: number, DEFAULT_ZOOM_LEVEL: number, DEFAULT_MIN_ZOOM_LEVEL: number, DEFAULT_MAX_ZOOM_LEVEL: number;
|
|
4399
5617
|
export type Systems = {
|
|
4400
5618
|
cameraSystem: CameraSystem;
|
|
4401
5619
|
panBoundsSystem: PanBoundsSystem;
|
|
@@ -4419,7 +5637,11 @@ declare module '@mappedin/mappedin-js/geojson/src/renderer' {
|
|
|
4419
5637
|
outlineInterpolationSystem: OutlineInterpolationSystem;
|
|
4420
5638
|
outdoorLayersSystem: OutdoorLayers;
|
|
4421
5639
|
pathSystem: PathSystem;
|
|
5640
|
+
imageSystem: ImageSystem;
|
|
4422
5641
|
geometryInFocusSystem: GeometryInFocusSystem;
|
|
5642
|
+
meshDetachmentSystem: MeshDetachmentSystem;
|
|
5643
|
+
meshModificationSystem: MeshModificationSystem;
|
|
5644
|
+
preRenderSystem: PreRenderSystem;
|
|
4423
5645
|
};
|
|
4424
5646
|
export type MapViewState = {
|
|
4425
5647
|
readonly type: 'map-view';
|
|
@@ -4465,6 +5687,7 @@ declare module '@mappedin/mappedin-js/geojson/src/renderer' {
|
|
|
4465
5687
|
id: string;
|
|
4466
5688
|
type: string;
|
|
4467
5689
|
};
|
|
5690
|
+
getParentContainer: (parent?: EntityId<GroupContainerState> | string | number | null, defaultToScene?: boolean) => GroupContainerObject3D | undefined;
|
|
4468
5691
|
/**
|
|
4469
5692
|
* Add a custom THREE.js entity to the map. The geometry is placed at the GeoJSON coordinate and includes a `setup` and `update` methods.
|
|
4470
5693
|
* Setup is called when the first time the geometry visible, and update is called every render frame.
|
|
@@ -4477,36 +5700,29 @@ declare module '@mappedin/mappedin-js/geojson/src/renderer' {
|
|
|
4477
5700
|
* Add a geometry group from GeoJSON data
|
|
4478
5701
|
*/
|
|
4479
5702
|
addGeometryGroup<T extends FeatureCollection<Polygon | MultiPolygon | LineString, any>>(id: string, geometry: T, style?: T extends FeatureCollection<LineString, any> ? LineStyle : PaintStyle, parent?: EntityId<GroupContainerState> | string | number | null): EntityId<GeometryGroupState>;
|
|
5703
|
+
addImage(id: string, geometry: Feature<Point, ImageProperties>, style: ImageStyle, parent?: EntityId<GroupContainerState> | string | null): EntityId<ImageState> | undefined;
|
|
4480
5704
|
/**
|
|
4481
5705
|
* Add a group of models from GeoJSON data. These will be instanced automatically for better performance.
|
|
4482
5706
|
*/
|
|
4483
|
-
addModelGroup(id: string, geometry: FeatureCollection<Point, ModelProperties>, style: ModelStyle, parent?: EntityId<GroupContainerState> | string | null): EntityId<GeometryGroupState
|
|
5707
|
+
addModelGroup(id: string, geometry: FeatureCollection<Point, ModelProperties>, style: ModelStyle, parent?: EntityId<GroupContainerState> | string | null): EntityId<GeometryGroupState> | undefined;
|
|
4484
5708
|
/**
|
|
4485
5709
|
* Add an HTML Marker at a GeoJSON coordinate.
|
|
4486
5710
|
*/
|
|
4487
|
-
addMarker2D(coordinate: Position, contentHTML: string, options?: AddMarkerOptions, parent?: EntityId<GroupContainerState> | string | number | null): EntityId<MarkerState
|
|
5711
|
+
addMarker2D(coordinate: Position, contentHTML: string, options?: AddMarkerOptions, parent?: EntityId<GroupContainerState> | string | number | null): EntityId<MarkerState> | undefined;
|
|
4488
5712
|
/**
|
|
4489
5713
|
* Add a 2D label at a GeoJSON coordinate.
|
|
4490
5714
|
*/
|
|
4491
|
-
addLabel2D(coordinate: Position, text: string, options?: AddLabelOptions, parent?: EntityId<GroupContainerState> | string | number | null): EntityId<LabelState
|
|
5715
|
+
addLabel2D(coordinate: Position, text: string, options?: AddLabelOptions, parent?: EntityId<GroupContainerState> | string | number | null): EntityId<LabelState> | undefined;
|
|
4492
5716
|
/**
|
|
4493
5717
|
* Add a Path along a set of GeoJSON coordinates that can be animated.
|
|
4494
5718
|
*/
|
|
4495
|
-
addPath(geometry: FeatureCollection<Point,
|
|
5719
|
+
addPath(geometry: FeatureCollection<Point, PathProperties>, options?: AddPathOptions, parent?: EntityId<GroupContainerState> | string | null): EntityId<PathState>;
|
|
4496
5720
|
/**
|
|
4497
5721
|
* Updates the watermark on the map.
|
|
4498
5722
|
*
|
|
4499
|
-
* @param options {
|
|
4500
|
-
*/
|
|
4501
|
-
updateWatermark(options: Omit<WatermarkOptions, 'onClick'>): void;
|
|
4502
|
-
/**
|
|
4503
|
-
* @deprecated
|
|
4504
|
-
* @TODO: remove this method and do this in setstate instead
|
|
5723
|
+
* @param options {WatermarkUpdateOptions}
|
|
4505
5724
|
*/
|
|
4506
|
-
|
|
4507
|
-
expandedFactor?: number;
|
|
4508
|
-
activeId?: string;
|
|
4509
|
-
}): void;
|
|
5725
|
+
updateWatermark(options: WatermarkUpdateOptions): void;
|
|
4510
5726
|
/**
|
|
4511
5727
|
* Remove an entity from the renderer and release associated resources.
|
|
4512
5728
|
*/
|
|
@@ -4535,9 +5751,9 @@ declare module '@mappedin/mappedin-js/geojson/src/renderer' {
|
|
|
4535
5751
|
* Get the current state of the map view, or any entity that was added, regardless of whether it is visible in the scene
|
|
4536
5752
|
*/
|
|
4537
5753
|
getState(): MapViewState;
|
|
4538
|
-
getState<T extends EntityId<EntityState>>(geometryOrGeometryId: T): T extends EntityId<LabelState> ? LabelState : T extends EntityId<GeometryState> ? GeometryState : T extends EntityId<MarkerState> ? MarkerState : T extends EntityId<GeometryGroupState> ? GeometryGroupState : T extends EntityId<GroupContainerState> ? GroupContainerState : T extends EntityId<ModelState> ? ModelState : T extends EntityId<PathState> ? ShapeState : T extends EntityId<ShapeState> ? ShapeState : EntityState;
|
|
5754
|
+
getState<T extends EntityId<EntityState>>(geometryOrGeometryId: T): T extends EntityId<LabelState> ? LabelState : T extends EntityId<GeometryState> ? GeometryState : T extends EntityId<MarkerState> ? MarkerState : T extends EntityId<GeometryGroupState> ? GeometryGroupState : T extends EntityId<GroupContainerState> ? GroupContainerState : T extends EntityId<ModelState> ? ModelState : T extends EntityId<PathState> ? ShapeState : T extends EntityId<ShapeState> ? ShapeState : T extends EntityId<ImageState> ? ImageState : EntityState;
|
|
4539
5755
|
getState(geometryOrGeometryId?: Record<string | number, any> | string | number): EntityState;
|
|
4540
|
-
getState<T extends EntityState>(geometryOrGeometryId: T['id']): T extends LabelState ? LabelState : T extends GeometryState ? GeometryState : T extends MarkerState ? MarkerState : T extends GeometryGroupState ? GeometryGroupState : T extends GroupContainerState ? GroupContainerState : T extends ModelState ? ModelState : T extends PathState ? ShapeState : T extends ShapeState ? PathState : EntityState;
|
|
5756
|
+
getState<T extends EntityState>(geometryOrGeometryId: T['id']): T extends LabelState ? LabelState : T extends GeometryState ? GeometryState : T extends MarkerState ? MarkerState : T extends GeometryGroupState ? GeometryGroupState : T extends GroupContainerState ? GroupContainerState : T extends ModelState ? ModelState : T extends PathState ? ShapeState : T extends ShapeState ? PathState : T extends ImageState ? ImageState : EntityState;
|
|
4541
5757
|
/**
|
|
4542
5758
|
* Set the state of the map view or any entity that was added, regardless of whether it is visible in the scene.
|
|
4543
5759
|
*/
|
|
@@ -4550,6 +5766,7 @@ declare module '@mappedin/mappedin-js/geojson/src/renderer' {
|
|
|
4550
5766
|
setState<T extends EntityId<ShapeState>>(object: T | T['id'], state: Partial<ShapeState>): void;
|
|
4551
5767
|
setState<T extends EntityId<PathState>>(object: T | T['id'], state: Partial<PathState>): void;
|
|
4552
5768
|
setState<T extends EntityId<ModelState>>(object: T | T['id'], state: Partial<ModelState>): void;
|
|
5769
|
+
setState<T extends EntityId<ImageState>>(object: T | T['id'], state: Partial<ImageState>): void;
|
|
4553
5770
|
setState<T extends EntityState>(object: T | T['id'], state: Partial<T>): void;
|
|
4554
5771
|
/**
|
|
4555
5772
|
* Project a screen coordinate to a geographic coordinate
|
|
@@ -4588,6 +5805,14 @@ declare module '@mappedin/mappedin-js/geojson/src/renderer' {
|
|
|
4588
5805
|
* Sets the background color of the renderer. Only applies to "standalone mode"
|
|
4589
5806
|
*/
|
|
4590
5807
|
setBackgroundColor: (color: any, alpha: any) => void;
|
|
5808
|
+
/**
|
|
5809
|
+
* Returns the background color of the renderer. Only applies to "standalone mode"
|
|
5810
|
+
*/
|
|
5811
|
+
get backgroundColor(): import("three").Color;
|
|
5812
|
+
/**
|
|
5813
|
+
* Returns the current scale of the map in metres per pixel.
|
|
5814
|
+
*/
|
|
5815
|
+
getMetresPerPixel: () => number | undefined;
|
|
4591
5816
|
/**
|
|
4592
5817
|
* @internal
|
|
4593
5818
|
* Filters out layers at a certain point on the outdoor map. This can be used to hide the outdoor building footprint underneath the 3D geometry.
|
|
@@ -4738,13 +5963,23 @@ declare module '@mappedin/mappedin-js/geojson/src/camera' {
|
|
|
4738
5963
|
* How far the camera can zoom out away from the ground
|
|
4739
5964
|
*/
|
|
4740
5965
|
get minZoomLevel(): number;
|
|
5966
|
+
/**
|
|
5967
|
+
* Toggle the mode of the camera to automatically set the minimum zoom level based on the size of the scene.
|
|
5968
|
+
* It will be automatically disabled when the minimum zoom level is set manually.
|
|
5969
|
+
* @param value The new value for the auto min zoom level mode.
|
|
5970
|
+
*/
|
|
5971
|
+
setAutoMinZoomLevel(value: boolean): void;
|
|
5972
|
+
/**
|
|
5973
|
+
* The mode of the camera to automatically set the minimum zoom level based on the size of the scene.
|
|
5974
|
+
*/
|
|
5975
|
+
get autoMinZoomLevel(): boolean;
|
|
4741
5976
|
/**
|
|
4742
5977
|
* How far out the camera can zoom
|
|
4743
5978
|
*
|
|
4744
5979
|
* @param zoomLevel The minimum zoom level in mercator zoom level units.
|
|
4745
5980
|
* @default 0
|
|
4746
5981
|
*/
|
|
4747
|
-
setMinZoomLevel(zoomLevel: number): void;
|
|
5982
|
+
setMinZoomLevel(zoomLevel: number, disableAutoMinZoomLevel?: boolean): void;
|
|
4748
5983
|
/**
|
|
4749
5984
|
* How far in the camera can zoom
|
|
4750
5985
|
*
|
|
@@ -4857,40 +6092,40 @@ declare module '@mappedin/mappedin-js/geojson/src/utils' {
|
|
|
4857
6092
|
import { Box2 } from 'three';
|
|
4858
6093
|
import { MercatorCoordinate } from '@mappedin/mappedin-js/packages/outdoor-context-v4';
|
|
4859
6094
|
import type { CustomLayerInterface } from '@mappedin/mappedin-js/packages/outdoor-context-v4';
|
|
4860
|
-
import type { GeometryGroupObject3D } from '@mappedin/mappedin-js/geojson/src/entities/
|
|
4861
|
-
import type { GroupContainerObject3D } from '@mappedin/mappedin-js/geojson/src/entities/
|
|
4862
|
-
import type { Geometry2D } from '@mappedin/mappedin-js/geojson/src/entities/
|
|
4863
|
-
import type { Geometry3D } from '@mappedin/mappedin-js/geojson/src/entities/
|
|
6095
|
+
import type { GeometryGroupObject3D } from '@mappedin/mappedin-js/geojson/src/entities/geometry-group';
|
|
6096
|
+
import type { GroupContainerObject3D } from '@mappedin/mappedin-js/geojson/src/entities/group-container';
|
|
6097
|
+
import type { Geometry2D } from '@mappedin/mappedin-js/geojson/src/entities/geometry2d';
|
|
6098
|
+
import type { Geometry3D } from '@mappedin/mappedin-js/geojson/src/entities/geometry3d';
|
|
4864
6099
|
import type { Position, RendererState } from '@mappedin/mappedin-js/geojson/src/renderer';
|
|
4865
6100
|
import type { Camera } from '@mappedin/mappedin-js/geojson/src/camera';
|
|
4866
6101
|
export function cartesianToGeographic(centerLat: number, centerLon: number, x: number, y: number): {
|
|
4867
|
-
|
|
4868
|
-
|
|
6102
|
+
lat: number;
|
|
6103
|
+
lon: number;
|
|
4869
6104
|
};
|
|
4870
6105
|
export function geographicToCartesian(centerLat: number, centerLon: number, targetLat: number, targetLon: number): {
|
|
4871
|
-
|
|
4872
|
-
|
|
6106
|
+
x: number;
|
|
6107
|
+
y: number;
|
|
4873
6108
|
};
|
|
4874
|
-
export const
|
|
4875
|
-
export const
|
|
6109
|
+
export const populateGeometry3DIdsInScene: (tree: any, entities: RendererState["geometry3DIdsInScene"]) => Set<string | number>;
|
|
6110
|
+
export const populateGeometry2DIdsInScene: (tree: any, entities: Set<Geometry2D["id"]>) => Set<string | number>;
|
|
4876
6111
|
export function convertMapLibreStylePaintProps(paint: any): {
|
|
4877
|
-
|
|
4878
|
-
|
|
4879
|
-
|
|
4880
|
-
|
|
4881
|
-
|
|
6112
|
+
color: any;
|
|
6113
|
+
height: any;
|
|
6114
|
+
altitude: any;
|
|
6115
|
+
opacity: any;
|
|
6116
|
+
outline: any;
|
|
4882
6117
|
};
|
|
4883
6118
|
export function convertMapLibreLineStylePaintProps(paint: any): {
|
|
4884
|
-
|
|
4885
|
-
|
|
4886
|
-
|
|
4887
|
-
|
|
4888
|
-
|
|
6119
|
+
color: any;
|
|
6120
|
+
join: any;
|
|
6121
|
+
opacity: any;
|
|
6122
|
+
width: any;
|
|
6123
|
+
cap: any;
|
|
4889
6124
|
};
|
|
4890
6125
|
export function mergeObjects<T extends Record<string, any>>(obj1: T, obj2: T): T;
|
|
4891
6126
|
export function createCustomLayer(modelAsMercatorCoordinate: MercatorCoordinate, viewCamera: THREECamera, camera: Camera, onRender: () => void): CustomLayerInterface;
|
|
4892
6127
|
export function getRequestHeaders(authURL: string): Promise<{
|
|
4893
|
-
|
|
6128
|
+
'x-mappedin-tiles-key': string;
|
|
4894
6129
|
}>;
|
|
4895
6130
|
export function cyrb53(str: string, seed?: number): number;
|
|
4896
6131
|
export const linearEase: (t: number) => number;
|
|
@@ -4902,38 +6137,53 @@ declare module '@mappedin/mappedin-js/geojson/src/utils' {
|
|
|
4902
6137
|
/* getProjectionScaleFactor()
|
|
4903
6138
|
/* finds the scale ratio between screen coordinates and 3D coordinates (in X-Z plane)
|
|
4904
6139
|
/*
|
|
4905
|
-
|
|
4906
|
-
|
|
4907
|
-
|
|
4908
|
-
|
|
4909
|
-
|
|
4910
|
-
|
|
4911
|
-
|
|
4912
|
-
|
|
4913
|
-
|
|
4914
|
-
|
|
4915
|
-
|
|
4916
|
-
|
|
4917
|
-
|
|
4918
|
-
|
|
4919
|
-
|
|
4920
|
-
|
|
4921
|
-
|
|
4922
|
-
|
|
4923
|
-
|
|
4924
|
-
|
|
4925
|
-
|
|
4926
|
-
|
|
4927
|
-
|
|
6140
|
+
* R
|
|
6141
|
+
* /|
|
|
6142
|
+
* C : Camera / |
|
|
6143
|
+
* PQ : Projection Plane / |
|
|
6144
|
+
* OR : Origin / |
|
|
6145
|
+
* F : FOV / |
|
|
6146
|
+
* Q / |
|
|
6147
|
+
* /| |
|
|
6148
|
+
* / | |
|
|
6149
|
+
* / | |
|
|
6150
|
+
* / | |
|
|
6151
|
+
* / | |
|
|
6152
|
+
* / F/2 | |
|
|
6153
|
+
* C ------------P------------ O
|
|
6154
|
+
*
|
|
6155
|
+
*
|
|
6156
|
+
* ProjectionScaleFactor = ( OR / PQ )
|
|
6157
|
+
* PQ = canvasHeight / 2
|
|
6158
|
+
* CQ = zoom
|
|
6159
|
+
*
|
|
6160
|
+
* OR / C0 = tan(F/2)
|
|
6161
|
+
* so OR = CO * tan(F/2)
|
|
6162
|
+
*/
|
|
4928
6163
|
export function getProjectionScaleFactor(FOV: number, canvasHeight: number, zoom: number): number;
|
|
4929
6164
|
export function getGeometryByGeometryId(state: RendererState, geometryOrGeometryId?: string | number | Record<string, any>): Geometry3D | GroupContainerObject3D | GeometryGroupObject3D | Geometry2D | undefined;
|
|
4930
6165
|
export function getBoundingBoxCenter(bbox: Position[]): [number, number];
|
|
6166
|
+
export function toRadians(degrees: number): number;
|
|
6167
|
+
/**
|
|
6168
|
+
* Calculates the approximate distance between two geographic coordinates on Earth's surface.
|
|
6169
|
+
*
|
|
6170
|
+
* This function uses the equirectangular approximation method to compute the distance, which simplifies
|
|
6171
|
+
* the math and speeds up calculations, but is less accurate over long distances compared to other methods
|
|
6172
|
+
* like the haversine formula.
|
|
6173
|
+
*
|
|
6174
|
+
* @param {Position} point1 - The first point's longitude and latitude as [longitude, latitude].
|
|
6175
|
+
* @param {Position} point1 - The second point's longitude and latitude as [longitude, latitude].
|
|
6176
|
+
* @return
|
|
6177
|
+
* @return {number} The approximate distance between the two points in meters.
|
|
6178
|
+
*/
|
|
6179
|
+
export function haversineDistance(point1: Position, point2: Position): number;
|
|
4931
6180
|
export { getCornersOfBoundingBox } from '@mappedin/mappedin-js/geojson/src/utils/bounding-box';
|
|
4932
6181
|
export function isFiniteBox(box: Box2 | Box3): boolean;
|
|
4933
6182
|
export { getPixelRatio } from '@mappedin/mappedin-js/geojson/src/utils/get-pixel-ratio';
|
|
4934
6183
|
export { debounce } from '@mappedin/mappedin-js/geojson/src/utils/async';
|
|
4935
6184
|
export { shouldDisableOffscreenCanvas } from '@mappedin/mappedin-js/geojson/src/utils/browser';
|
|
4936
6185
|
export { noop } from '@mappedin/mappedin-js/geojson/src/utils/fp';
|
|
6186
|
+
export { transformRequest } from '@mappedin/mappedin-js/geojson/src/utils/tranform-request';
|
|
4937
6187
|
}
|
|
4938
6188
|
|
|
4939
6189
|
declare module '@mappedin/mappedin-js/geojson/src/utils/constants' {
|
|
@@ -5002,6 +6252,7 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/watermark/system' {
|
|
|
5002
6252
|
import { PubSub } from '@packages/internal/common';
|
|
5003
6253
|
import type { Geometry2D } from '@mappedin/mappedin-js/geojson/src/entities';
|
|
5004
6254
|
import type { QuadTree } from '@packages/internal/quad-tree';
|
|
6255
|
+
import type { RendererState } from '@mappedin/mappedin-js/geojson/src/renderer';
|
|
5005
6256
|
export type WatermarkPosition = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'center' | 'top' | 'bottom' | 'left' | 'right';
|
|
5006
6257
|
export type WatermarkOptions = {
|
|
5007
6258
|
/**
|
|
@@ -5036,18 +6287,26 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/watermark/system' {
|
|
|
5036
6287
|
scale?: number;
|
|
5037
6288
|
/**
|
|
5038
6289
|
* Callback when the watermark is clicked.
|
|
6290
|
+
* @hidden
|
|
5039
6291
|
*/
|
|
5040
6292
|
onClick?: () => void;
|
|
6293
|
+
/**
|
|
6294
|
+
* Whether the watermark should be visible.
|
|
6295
|
+
* @hidden
|
|
6296
|
+
* @default true
|
|
6297
|
+
*/
|
|
6298
|
+
visible?: boolean;
|
|
5041
6299
|
};
|
|
6300
|
+
export type WatermarkUpdateOptions = Omit<WatermarkOptions, 'onClick' | 'visible'>;
|
|
5042
6301
|
export class WatermarkSystem extends PubSub<{
|
|
5043
6302
|
'texture-loaded': void;
|
|
5044
6303
|
}> {
|
|
5045
6304
|
#private;
|
|
5046
6305
|
dirty: boolean;
|
|
5047
|
-
get options(): WatermarkOptions
|
|
5048
|
-
set options(options:
|
|
6306
|
+
get options(): Required<WatermarkOptions>;
|
|
6307
|
+
set options(options: WatermarkUpdateOptions);
|
|
5049
6308
|
get icon(): string;
|
|
5050
|
-
constructor(cameraObject: PerspectiveCamera,
|
|
6309
|
+
constructor(cameraObject: PerspectiveCamera, rendererState: RendererState, options?: Partial<WatermarkOptions>);
|
|
5051
6310
|
get width(): number;
|
|
5052
6311
|
get height(): number;
|
|
5053
6312
|
getPositionAlignedOffset(width: number, height: number): {
|
|
@@ -5069,6 +6328,7 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/watermark/system' {
|
|
|
5069
6328
|
}>): void;
|
|
5070
6329
|
resize(canvasWidth: number, canvasHeight: number): void;
|
|
5071
6330
|
update(): void;
|
|
6331
|
+
destroy(): void;
|
|
5072
6332
|
}
|
|
5073
6333
|
}
|
|
5074
6334
|
|
|
@@ -5085,7 +6345,8 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/html-controls/system'
|
|
|
5085
6345
|
export const ATTRIBUTION_POSITIONS: readonly ["top-left", "top-right", "bottom-left", "bottom-right"];
|
|
5086
6346
|
export type AttributionPosition = (typeof ATTRIBUTION_POSITIONS)[number];
|
|
5087
6347
|
export type AttributionControlOptions = {
|
|
5088
|
-
|
|
6348
|
+
custom?: string[];
|
|
6349
|
+
position?: AttributionPosition;
|
|
5089
6350
|
};
|
|
5090
6351
|
export class HTMLControlsSystem {
|
|
5091
6352
|
controlContainerEl: HTMLDivElement;
|
|
@@ -5096,6 +6357,7 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/html-controls/system'
|
|
|
5096
6357
|
attribButtonEl?: HTMLElement;
|
|
5097
6358
|
feedbackLinkEl?: HTMLAnchorElement;
|
|
5098
6359
|
attribHTML: string;
|
|
6360
|
+
customAttributions: string[];
|
|
5099
6361
|
constructor(container: HTMLElement);
|
|
5100
6362
|
addAttributionControl(options?: AttributionControlOptions): void;
|
|
5101
6363
|
toggleAttribution: (e: MouseEvent) => void;
|
|
@@ -5109,124 +6371,21 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/html-controls/system'
|
|
|
5109
6371
|
}
|
|
5110
6372
|
}
|
|
5111
6373
|
|
|
5112
|
-
declare module '@mappedin/mappedin-js/
|
|
5113
|
-
|
|
5114
|
-
|
|
5115
|
-
|
|
5116
|
-
|
|
5117
|
-
export
|
|
5118
|
-
|
|
5119
|
-
|
|
5120
|
-
|
|
5121
|
-
|
|
5122
|
-
|
|
5123
|
-
|
|
5124
|
-
|
|
5125
|
-
|
|
5126
|
-
* Reset state and options
|
|
5127
|
-
*/
|
|
5128
|
-
reset(): void;
|
|
5129
|
-
updateState(update: UpdateStateParam): void;
|
|
5130
|
-
get authReady(): boolean;
|
|
5131
|
-
getState(): AnalyticState;
|
|
5132
|
-
capture<T extends keyof CaptureEventsPayloadMap>(eventName: T, query: CaptureEventsPayloadMap[T]): Promise<Response> | Promise<void>;
|
|
5133
|
-
capture<T extends keyof CaptureEventsPayloadMap | (string & NonNullable<unknown>)>(target: T, query: T extends keyof CaptureEventsPayloadMap ? CaptureEventsPayloadMap[T] : Record<string, any>): Promise<Response> | Promise<void>;
|
|
5134
|
-
/**
|
|
5135
|
-
* @internal
|
|
5136
|
-
*/
|
|
5137
|
-
sendGetMapDataEvent(payload: {
|
|
5138
|
-
parseDuration: string;
|
|
5139
|
-
downloadDuration: string;
|
|
5140
|
-
viewId?: string;
|
|
5141
|
-
}): Promise<void> | Promise<Response>;
|
|
5142
|
-
sendWatchPositionDenied(): Promise<void> | Promise<Response>;
|
|
5143
|
-
/**
|
|
5144
|
-
* @internal
|
|
5145
|
-
*/
|
|
5146
|
-
sendMapViewLoadedEvent({ firstRenderDuration, dimension, }: {
|
|
5147
|
-
firstRenderDuration: string;
|
|
5148
|
-
dimension: {
|
|
5149
|
-
height: number;
|
|
5150
|
-
width: number;
|
|
5151
|
-
};
|
|
5152
|
-
}): Promise<void> | Promise<Response>;
|
|
5153
|
-
/**
|
|
5154
|
-
* @internal
|
|
5155
|
-
*/
|
|
5156
|
-
sendGetDirectionsEvent: (start: string, end: string) => void;
|
|
6374
|
+
declare module '@mappedin/mappedin-js/geojson/src/maplibre-overlay' {
|
|
6375
|
+
import type { IControl, Map as MapLibreMap, CustomLayerInterface } from '@packages/internal/outdoor-context-v4';
|
|
6376
|
+
import type { Position } from '@mappedin/mappedin-js/geojson/src/types';
|
|
6377
|
+
import RendererCore from '@mappedin/mappedin-js/geojson/src/renderer';
|
|
6378
|
+
import { PubSub } from '@packages/internal/common';
|
|
6379
|
+
export class MapLibreOverlay<T> extends PubSub<T> implements IControl {
|
|
6380
|
+
el: HTMLDivElement;
|
|
6381
|
+
core: RendererCore;
|
|
6382
|
+
origin?: Position;
|
|
6383
|
+
map?: MapLibreMap;
|
|
6384
|
+
layer?: CustomLayerInterface;
|
|
6385
|
+
constructor(origin: Position | undefined);
|
|
6386
|
+
onAdd(map: MapLibreMap): HTMLDivElement;
|
|
6387
|
+
onRemove(): void;
|
|
5157
6388
|
}
|
|
5158
|
-
type AnalyticsUserPosition = {
|
|
5159
|
-
bluedotTimestamp: number;
|
|
5160
|
-
latitude: number;
|
|
5161
|
-
longitude: number;
|
|
5162
|
-
floorLevel?: number;
|
|
5163
|
-
accuracy: number;
|
|
5164
|
-
};
|
|
5165
|
-
export type AnalyticsOptions = {
|
|
5166
|
-
key?: string;
|
|
5167
|
-
secret?: string;
|
|
5168
|
-
accessToken?: string;
|
|
5169
|
-
noAuth?: boolean;
|
|
5170
|
-
mapId?: string;
|
|
5171
|
-
logEvents?: boolean;
|
|
5172
|
-
sendEvents?: boolean;
|
|
5173
|
-
context?: string;
|
|
5174
|
-
platformString?: string;
|
|
5175
|
-
};
|
|
5176
|
-
export type AnalyticState = {
|
|
5177
|
-
accessToken?: string | undefined;
|
|
5178
|
-
version: string;
|
|
5179
|
-
platformString: string;
|
|
5180
|
-
baseUrl: string;
|
|
5181
|
-
noAuth: boolean;
|
|
5182
|
-
geolocationMode: boolean;
|
|
5183
|
-
mi_uuid: string;
|
|
5184
|
-
mi_session: string;
|
|
5185
|
-
context: ValidContext;
|
|
5186
|
-
userPosition?: AnalyticsUserPosition;
|
|
5187
|
-
mapId?: string;
|
|
5188
|
-
key?: string;
|
|
5189
|
-
secret?: string;
|
|
5190
|
-
logEvents: boolean;
|
|
5191
|
-
sendEvents: boolean;
|
|
5192
|
-
};
|
|
5193
|
-
type UpdateStateParam = Partial<Pick<AnalyticState, 'geolocationMode' | 'context' | 'logEvents' | 'userPosition' | 'mapId' | 'sendEvents' | 'logEvents' | 'accessToken'>>;
|
|
5194
|
-
type CaptureEventsPayloadMap = {
|
|
5195
|
-
'$select-location': {
|
|
5196
|
-
id: string;
|
|
5197
|
-
};
|
|
5198
|
-
'$select-category': {
|
|
5199
|
-
id: string;
|
|
5200
|
-
};
|
|
5201
|
-
'$query-suggest': Record<string, any>;
|
|
5202
|
-
'$query-search': Record<string, any>;
|
|
5203
|
-
};
|
|
5204
|
-
export const analyticsInternal: CustomerAnalytics;
|
|
5205
|
-
export const analytics: {
|
|
5206
|
-
/**
|
|
5207
|
-
* Initializes the analytics with the provided options.
|
|
5208
|
-
* @param args - The options to initialize the analytics.
|
|
5209
|
-
*/
|
|
5210
|
-
init(options?: AnalyticsOptions | undefined): void;
|
|
5211
|
-
/**
|
|
5212
|
-
* Captures an analytic event with a custom target and query payload.
|
|
5213
|
-
*
|
|
5214
|
-
* @param target - The event name or target can be .
|
|
5215
|
-
* @param query - The payload associated with the event.
|
|
5216
|
-
* @returns A promise that resolves to the server response or void.
|
|
5217
|
-
*/
|
|
5218
|
-
capture(target: keyof CaptureEventsPayloadMap | (string & {}), query: Record<string, any> | {
|
|
5219
|
-
id: string;
|
|
5220
|
-
} | {
|
|
5221
|
-
id: string;
|
|
5222
|
-
}): Promise<void> | Promise<Response>;
|
|
5223
|
-
/**
|
|
5224
|
-
* Updates the analytics state with the provided parameters.
|
|
5225
|
-
* @param update - The state parameters to update.
|
|
5226
|
-
*/
|
|
5227
|
-
updateState(update: Partial<Pick<AnalyticState, "logEvents" | "sendEvents" | "logEvents" | "accessToken">>): void;
|
|
5228
|
-
};
|
|
5229
|
-
export {};
|
|
5230
6389
|
}
|
|
5231
6390
|
|
|
5232
6391
|
declare module '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/label' {
|
|
@@ -5300,11 +6459,47 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/marker' {
|
|
|
5300
6459
|
}
|
|
5301
6460
|
}
|
|
5302
6461
|
|
|
5303
|
-
declare module '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/
|
|
6462
|
+
declare module '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/image' {
|
|
5304
6463
|
/**
|
|
5305
|
-
* Class representing
|
|
6464
|
+
* Class representing an Image on the {@link MapView}.
|
|
5306
6465
|
*/
|
|
5307
|
-
export class
|
|
6466
|
+
export class Image {
|
|
6467
|
+
#private;
|
|
6468
|
+
/**
|
|
6469
|
+
* @internal
|
|
6470
|
+
*/
|
|
6471
|
+
static readonly __type = "Image";
|
|
6472
|
+
/**
|
|
6473
|
+
* @internal
|
|
6474
|
+
*/
|
|
6475
|
+
readonly __type = "Image";
|
|
6476
|
+
/**
|
|
6477
|
+
* Checks if the provided instance is of type Marker"
|
|
6478
|
+
*
|
|
6479
|
+
* @param instance The instance to check.
|
|
6480
|
+
* @returns {boolean} True if the instance is a Marker, false otherwise.
|
|
6481
|
+
*/
|
|
6482
|
+
static is(instance: object): instance is Image;
|
|
6483
|
+
/**
|
|
6484
|
+
* @internal
|
|
6485
|
+
*/
|
|
6486
|
+
constructor(id: string, url: string);
|
|
6487
|
+
/**
|
|
6488
|
+
* The image's id
|
|
6489
|
+
*/
|
|
6490
|
+
get id(): string;
|
|
6491
|
+
/**
|
|
6492
|
+
* The image's url
|
|
6493
|
+
*/
|
|
6494
|
+
get url(): string;
|
|
6495
|
+
}
|
|
6496
|
+
}
|
|
6497
|
+
|
|
6498
|
+
declare module '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/model' {
|
|
6499
|
+
/**
|
|
6500
|
+
* Class representing a 3D model on the {@link MapView}.
|
|
6501
|
+
*/
|
|
6502
|
+
export class Model {
|
|
5308
6503
|
/**
|
|
5309
6504
|
* The model's id
|
|
5310
6505
|
*/
|
|
@@ -5346,6 +6541,10 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/path' {
|
|
|
5346
6541
|
* The label's id
|
|
5347
6542
|
*/
|
|
5348
6543
|
id: string;
|
|
6544
|
+
/**
|
|
6545
|
+
* The promise that resolves when the current path animation is complete.
|
|
6546
|
+
*/
|
|
6547
|
+
animation: Promise<void>;
|
|
5349
6548
|
/**
|
|
5350
6549
|
* @internal
|
|
5351
6550
|
*/
|
|
@@ -5353,7 +6552,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/path' {
|
|
|
5353
6552
|
/**
|
|
5354
6553
|
* @internal
|
|
5355
6554
|
*/
|
|
5356
|
-
constructor(id: string);
|
|
6555
|
+
constructor(id: string, drawAnimation: Promise<void>);
|
|
5357
6556
|
}
|
|
5358
6557
|
}
|
|
5359
6558
|
|
|
@@ -5389,14 +6588,97 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/shape' {
|
|
|
5389
6588
|
}
|
|
5390
6589
|
}
|
|
5391
6590
|
|
|
6591
|
+
declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/map-object' {
|
|
6592
|
+
import type { ParsedMVF } from '@mappedin/mvf';
|
|
6593
|
+
import type { FeatureCollection, LineString, MultiPolygon, Polygon } from 'geojson';
|
|
6594
|
+
import { PubSub } from '@packages/internal/common';
|
|
6595
|
+
import type { Position, AddLabelOptions, RendererCore, PathState, MarkerState, LineStyle, PaintStyle, EntityId } from '@mappedin/core-sdk';
|
|
6596
|
+
import { FloorObject } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/floor-object';
|
|
6597
|
+
import type { Coordinate, TAddMarkerOptions, TAddPathOptions, TShow3DMapOptions } from '@mappedin/mappedin-js/mappedin-js/src';
|
|
6598
|
+
import type { GLTFExportOptions, TAnimationOptions, TAddModelOptions, TAddModel, TAddImageOptions } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
6599
|
+
import { type AggregatedStyleMap } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/utils';
|
|
6600
|
+
import { StackedMaps } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/stacked-maps/stacked-maps';
|
|
6601
|
+
import type { TFloorChangeReason } from '@mappedin/mappedin-js/mappedin-js/src/events';
|
|
6602
|
+
import type { Shape } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
|
|
6603
|
+
export class GeojsonApiMapObject extends PubSub<{
|
|
6604
|
+
'floor-change': {
|
|
6605
|
+
reason?: TFloorChangeReason;
|
|
6606
|
+
floorId: string;
|
|
6607
|
+
};
|
|
6608
|
+
'floor-change-start': {
|
|
6609
|
+
floorId: string;
|
|
6610
|
+
};
|
|
6611
|
+
}> {
|
|
6612
|
+
floors: FloorObject[];
|
|
6613
|
+
currentFloorId: string;
|
|
6614
|
+
id: string;
|
|
6615
|
+
renderer: RendererCore;
|
|
6616
|
+
mvf: ParsedMVF;
|
|
6617
|
+
styleMap: AggregatedStyleMap;
|
|
6618
|
+
StackedMaps: StackedMaps;
|
|
6619
|
+
get currentFloor(): FloorObject;
|
|
6620
|
+
setFloor(floorId: string, reason?: TFloorChangeReason): Promise<void> | undefined;
|
|
6621
|
+
Models: {
|
|
6622
|
+
add: (id: string, targets: TAddModel[], opts: TAddModelOptions & {
|
|
6623
|
+
floorId?: string;
|
|
6624
|
+
}) => (import("@mappedin/core-sdk").GeometryState | import("@mappedin/core-sdk").ModelState)[];
|
|
6625
|
+
remove: (_id: string, _groupId: string) => void;
|
|
6626
|
+
};
|
|
6627
|
+
Images: {
|
|
6628
|
+
add: (target: Position, url: string, opts: TAddImageOptions & {
|
|
6629
|
+
floorId?: string;
|
|
6630
|
+
}) => EntityId<import("@mappedin/core-sdk/src/components/image").ImageState> | undefined;
|
|
6631
|
+
remove: (id: string) => void;
|
|
6632
|
+
removeAll: () => void;
|
|
6633
|
+
};
|
|
6634
|
+
Markers: {
|
|
6635
|
+
add: (coordinate: Coordinate, html: string, opts: TAddMarkerOptions) => EntityId<MarkerState> | undefined;
|
|
6636
|
+
remove: (id: string) => void;
|
|
6637
|
+
getContentEl: (id: string) => HTMLElement | undefined;
|
|
6638
|
+
removeAll: () => void;
|
|
6639
|
+
setPosition: (id: string, coordinate: Position, targetFloorId: string) => void;
|
|
6640
|
+
animateTo: (id: string, coordinate: Position, targetFloorId: string, options?: TAnimationOptions) => Promise<void>;
|
|
6641
|
+
};
|
|
6642
|
+
Exporter: {
|
|
6643
|
+
getCurrentSceneGLTF: (options: GLTFExportOptions) => Promise<Blob>;
|
|
6644
|
+
};
|
|
6645
|
+
Shapes: {
|
|
6646
|
+
add: <T extends FeatureCollection<Polygon | MultiPolygon | LineString, any>>(geometry: T, style: T extends FeatureCollection<LineString, any> ? LineStyle : PaintStyle, opts: {
|
|
6647
|
+
floorId?: string;
|
|
6648
|
+
}) => string;
|
|
6649
|
+
remove: (customGeometry: Shape) => string;
|
|
6650
|
+
};
|
|
6651
|
+
Labels: {
|
|
6652
|
+
all: ({ onCreate }: {
|
|
6653
|
+
onCreate: (labelId: string | number, text: string) => void;
|
|
6654
|
+
}) => void;
|
|
6655
|
+
add: (coordinate: Position, text: string, opts?: AddLabelOptions & {
|
|
6656
|
+
floorId?: string;
|
|
6657
|
+
}) => {
|
|
6658
|
+
id: string | number;
|
|
6659
|
+
};
|
|
6660
|
+
remove: (targetId: string) => void;
|
|
6661
|
+
removeAll: () => void;
|
|
6662
|
+
};
|
|
6663
|
+
Paths: {
|
|
6664
|
+
add: (coordinates: Coordinate[], options?: TAddPathOptions) => {
|
|
6665
|
+
paths: EntityId<PathState>[];
|
|
6666
|
+
animation: Promise<void>;
|
|
6667
|
+
};
|
|
6668
|
+
remove: (entityIds: string[]) => void;
|
|
6669
|
+
};
|
|
6670
|
+
constructor(id: string, mvf: any, styleMap: AggregatedStyleMap, options: TShow3DMapOptions | undefined, renderer: RendererCore);
|
|
6671
|
+
}
|
|
6672
|
+
}
|
|
6673
|
+
|
|
5392
6674
|
declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/api' {
|
|
5393
6675
|
import type { Position, RendererCore, WatermarkOptions } from '@mappedin/core-sdk';
|
|
5394
6676
|
import { type TShow3DMapOptions } from '@mappedin/mappedin-js/mappedin-js/src';
|
|
6677
|
+
import { WALLS, DOORS } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
5395
6678
|
import type MapData from '@mappedin/mappedin-js/mappedin-js/src/map-data';
|
|
5396
|
-
import { Floor } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
5397
|
-
import { Coordinate, MapObject, Space } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
6679
|
+
import { Coordinate, MapObject, Space, Floor, type MapDataInternal, Door } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
5398
6680
|
import type { MapView } from '@mappedin/mappedin-js/mappedin-js/src/map-view';
|
|
5399
|
-
import { Label, Marker, type Model } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
|
|
6681
|
+
import { Label, Marker, type Model, type Image } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
|
|
5400
6682
|
import { Navigation } from '@mappedin/mappedin-js/mappedin-js/src/navigation';
|
|
5401
6683
|
import type { TGetDirectionsOptions, TGetState, TNavigationTarget, TUpdateState } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
5402
6684
|
import { Camera } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/camera';
|
|
@@ -5405,6 +6687,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/api' {
|
|
|
5405
6687
|
import { Labels } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/labels';
|
|
5406
6688
|
import { GeojsonApiMapObject } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/map-object';
|
|
5407
6689
|
import { Markers } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/markers';
|
|
6690
|
+
import { Images } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/images';
|
|
5408
6691
|
import { Models } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/models';
|
|
5409
6692
|
import { Paths } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/paths';
|
|
5410
6693
|
import { BlueDot } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/blue-dot/blue-dot';
|
|
@@ -5412,6 +6695,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/api' {
|
|
|
5412
6695
|
import { Shapes } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/shapes';
|
|
5413
6696
|
import { Style } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/style';
|
|
5414
6697
|
import Outdoor from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/outdoor';
|
|
6698
|
+
import type { TShowStackOptions } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/stacked-maps/stacked-maps';
|
|
5415
6699
|
export class GeoJsonApi {
|
|
5416
6700
|
core: RendererCore;
|
|
5417
6701
|
outdoors: GeojsonApiMapObject;
|
|
@@ -5434,20 +6718,22 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/api' {
|
|
|
5434
6718
|
BlueDot: BlueDot;
|
|
5435
6719
|
Shapes: Shapes;
|
|
5436
6720
|
Style: Style;
|
|
6721
|
+
Images: Images;
|
|
5437
6722
|
constructor(rendererCore: RendererCore, mapView: MapView);
|
|
5438
|
-
updateState<T extends Space | MapObject | Label | Marker |
|
|
6723
|
+
updateState<T extends Space | MapObject | Label | Marker | Door | WALLS | DOORS | (string & NonNullable<unknown>)>(target: T, state: TUpdateState<T>): void;
|
|
5439
6724
|
update: () => void;
|
|
5440
|
-
getMapDataInternal():
|
|
6725
|
+
getMapDataInternal(): MapDataInternal | undefined;
|
|
5441
6726
|
getMapData(): MapData | undefined;
|
|
5442
6727
|
expand(opts?: {
|
|
5443
6728
|
excludeFloors: Floor[];
|
|
5444
6729
|
}): Promise<void> | undefined;
|
|
5445
6730
|
collapse(): Promise<void> | undefined;
|
|
6731
|
+
showStack(opts?: TShowStackOptions): Promise<void> | undefined;
|
|
5446
6732
|
addMap(mapData: MapData, options?: TShow3DMapOptions): Promise<MapData>;
|
|
5447
|
-
setFloor(floor: Floor | string, reason?: TFloorChangeReason): void;
|
|
6733
|
+
setFloor(floor: Floor | string, reason?: TFloorChangeReason): Promise<void> | undefined;
|
|
5448
6734
|
updateWatermark(options: Omit<WatermarkOptions, 'onClick'>): void;
|
|
5449
6735
|
get currentFloor(): Floor;
|
|
5450
|
-
getState<T extends Space | MapObject | Label | Marker | Model | string>(target: T): TGetState<T> | undefined;
|
|
6736
|
+
getState<T extends Space | MapObject | Label | Marker | Model | Image | string>(target: T): TGetState<T> | undefined;
|
|
5451
6737
|
setHoverColor(c: string): void;
|
|
5452
6738
|
getHoverColor(): string | undefined;
|
|
5453
6739
|
getDirections: (from: TNavigationTarget | TNavigationTarget[], to: TNavigationTarget | TNavigationTarget[], opt?: TGetDirectionsOptions) => Directions | undefined;
|
|
@@ -5459,6 +6745,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/api' {
|
|
|
5459
6745
|
* @internal
|
|
5460
6746
|
*/
|
|
5461
6747
|
get __core(): RendererCore;
|
|
6748
|
+
clear(): void;
|
|
5462
6749
|
destroy(): void;
|
|
5463
6750
|
}
|
|
5464
6751
|
}
|
|
@@ -5503,6 +6790,16 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/camera' {
|
|
|
5503
6790
|
* The current center coordinate ({@link Coordinate}) of the camera.
|
|
5504
6791
|
*/
|
|
5505
6792
|
get center(): Coordinate;
|
|
6793
|
+
/**
|
|
6794
|
+
* Toggle the mode of the camera to automatically set the minimum zoom level based on the size of the scene.
|
|
6795
|
+
* It will be automatically disabled when the minimum zoom level is set manually.
|
|
6796
|
+
* @param value The new value for the auto min zoom level mode.
|
|
6797
|
+
*/
|
|
6798
|
+
setAutoMinZoomLevel(value: boolean): void;
|
|
6799
|
+
/**
|
|
6800
|
+
* The mode of the camera to automatically set the minimum zoom level based on the size of the scene.
|
|
6801
|
+
*/
|
|
6802
|
+
get autoMinZoomLevel(): boolean;
|
|
5506
6803
|
/**
|
|
5507
6804
|
* The current zoom level of the camera in mercator zoom levels.
|
|
5508
6805
|
*
|
|
@@ -5794,7 +7091,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/paths' {
|
|
|
5794
7091
|
* // Add a red path to the map
|
|
5795
7092
|
* map.Paths.add(coordinate, { color: '#ff0000' });
|
|
5796
7093
|
*/
|
|
5797
|
-
add(coordinate: Coordinate[], options?: TAddPathOptions):
|
|
7094
|
+
add(coordinate: Coordinate[], options?: TAddPathOptions): Path;
|
|
5798
7095
|
/**
|
|
5799
7096
|
* Removes a specific path ({@link Path}) from the map.
|
|
5800
7097
|
* @param path The path to be removed.
|
|
@@ -5849,7 +7146,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/directions' {
|
|
|
5849
7146
|
import type { ParsedMVF } from '@mappedin/mvf';
|
|
5850
7147
|
import type { DirectionsCollection } from '@packages/internal/geojson-navigator';
|
|
5851
7148
|
import type { MapDataInternal } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
5852
|
-
import { Coordinate } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
7149
|
+
import { Connection, Coordinate } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
5853
7150
|
import type { TDirectionInstruction, TDirectionZone, TNavigationTarget } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
5854
7151
|
/**
|
|
5855
7152
|
* Represents a set of directions between two points.
|
|
@@ -5875,14 +7172,16 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/directions' {
|
|
|
5875
7172
|
* The array of instructions ({@link TDirectionInstruction}).
|
|
5876
7173
|
*/
|
|
5877
7174
|
get instructions(): TDirectionInstruction[];
|
|
7175
|
+
lastConnectionAction?: 'take' | 'exit';
|
|
7176
|
+
lastConnection?: Connection;
|
|
5878
7177
|
}
|
|
5879
7178
|
export class DirectionsInternal {
|
|
5880
7179
|
/**
|
|
5881
7180
|
* @hidden
|
|
5882
7181
|
*/
|
|
5883
|
-
constructor({ nodes,
|
|
7182
|
+
constructor({ nodes, geojsonCollection, connections, groupBy, }: {
|
|
5884
7183
|
nodes: ParsedMVF['node.geojson'];
|
|
5885
|
-
|
|
7184
|
+
geojsonCollection: ParsedMVF['obstruction'] | ParsedMVF['space'];
|
|
5886
7185
|
connections: ParsedMVF['connection.json'];
|
|
5887
7186
|
groupBy?: string;
|
|
5888
7187
|
});
|
|
@@ -5957,100 +7256,584 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/outdoor' {
|
|
|
5957
7256
|
* Whether the outdoorView is enabled.
|
|
5958
7257
|
*/
|
|
5959
7258
|
get enabled(): boolean;
|
|
7259
|
+
/**
|
|
7260
|
+
* Whether the outdoorView is visible.
|
|
7261
|
+
*/
|
|
7262
|
+
get visible(): boolean;
|
|
7263
|
+
/**
|
|
7264
|
+
* Show the outdoor view.
|
|
7265
|
+
*/
|
|
7266
|
+
show(): void;
|
|
7267
|
+
/**
|
|
7268
|
+
* Hide the outdoor view.
|
|
7269
|
+
* @param excludedStyleLayerIds {string[]} E
|
|
7270
|
+
*/
|
|
7271
|
+
hide(excludedStyleLayerIds?: string[]): void;
|
|
5960
7272
|
}
|
|
5961
7273
|
}
|
|
5962
7274
|
|
|
5963
|
-
declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/
|
|
5964
|
-
import type {
|
|
5965
|
-
import {
|
|
5966
|
-
import type {
|
|
5967
|
-
import type {
|
|
5968
|
-
|
|
5969
|
-
|
|
5970
|
-
|
|
5971
|
-
|
|
5972
|
-
|
|
5973
|
-
|
|
5974
|
-
|
|
5975
|
-
|
|
5976
|
-
|
|
5977
|
-
|
|
5978
|
-
|
|
5979
|
-
|
|
5980
|
-
|
|
5981
|
-
|
|
5982
|
-
|
|
5983
|
-
|
|
5984
|
-
|
|
5985
|
-
|
|
5986
|
-
|
|
5987
|
-
|
|
5988
|
-
|
|
5989
|
-
|
|
5990
|
-
|
|
5991
|
-
|
|
5992
|
-
|
|
5993
|
-
|
|
5994
|
-
|
|
5995
|
-
|
|
5996
|
-
|
|
5997
|
-
|
|
5998
|
-
|
|
5999
|
-
|
|
6000
|
-
|
|
6001
|
-
|
|
6002
|
-
|
|
6003
|
-
|
|
6004
|
-
|
|
6005
|
-
|
|
6006
|
-
|
|
6007
|
-
|
|
6008
|
-
|
|
6009
|
-
|
|
6010
|
-
|
|
6011
|
-
|
|
6012
|
-
|
|
6013
|
-
|
|
6014
|
-
floorId?: string;
|
|
6015
|
-
}) => string;
|
|
6016
|
-
remove: (customGeometry: Shape) => string;
|
|
6017
|
-
};
|
|
6018
|
-
Labels: {
|
|
6019
|
-
all: ({ onCreate }: {
|
|
6020
|
-
onCreate: (labelId: string | number, text: string) => void;
|
|
6021
|
-
}) => void;
|
|
6022
|
-
add: (coordinate: Position, text: string, opts?: AddLabelOptions & {
|
|
6023
|
-
floorId?: string;
|
|
6024
|
-
}) => {
|
|
6025
|
-
id: string | number;
|
|
6026
|
-
};
|
|
6027
|
-
remove: (targetId: string) => void;
|
|
6028
|
-
removeAll: () => void;
|
|
6029
|
-
};
|
|
6030
|
-
Paths: {
|
|
6031
|
-
add: (coordinates: Coordinate[], options?: TAddPathOptions) => Promise<{
|
|
6032
|
-
id: string | number;
|
|
6033
|
-
}[]>;
|
|
6034
|
-
remove: (entityIds: string[]) => void;
|
|
6035
|
-
};
|
|
6036
|
-
constructor(id: string, mvf: any, styleMap: AggregatedStyleMap, options: TShow3DMapOptions | undefined, renderer: RendererCore);
|
|
7275
|
+
declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/images' {
|
|
7276
|
+
import type { TAddImageOptions } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
7277
|
+
import { Image } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
|
|
7278
|
+
import type { GeojsonApiMapObject } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/map-object';
|
|
7279
|
+
import type { Space, Door, Coordinate } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
7280
|
+
export class Images {
|
|
7281
|
+
#private;
|
|
7282
|
+
/**
|
|
7283
|
+
* @internal
|
|
7284
|
+
*/
|
|
7285
|
+
get currentMap(): GeojsonApiMapObject | undefined;
|
|
7286
|
+
/**
|
|
7287
|
+
* @internal
|
|
7288
|
+
*/
|
|
7289
|
+
constructor({ currentMapGetter }: {
|
|
7290
|
+
currentMapGetter: CurrentMapGetter;
|
|
7291
|
+
});
|
|
7292
|
+
/**
|
|
7293
|
+
* @internal
|
|
7294
|
+
*/
|
|
7295
|
+
getById(id: string): {
|
|
7296
|
+
image: Image;
|
|
7297
|
+
entityId: string;
|
|
7298
|
+
} | undefined;
|
|
7299
|
+
/**
|
|
7300
|
+
* Adds an image to the map.
|
|
7301
|
+
*
|
|
7302
|
+
* @param target The target object ({@link Space}, {@link Door}, or {@link Coordinate}) for the image.
|
|
7303
|
+
* @param url The URL of the image.
|
|
7304
|
+
* @param options Optional additional options for the {@link Image}.
|
|
7305
|
+
* @returns {Image | undefined} The created {@link Image}, or undefined if creation failed.
|
|
7306
|
+
* @example
|
|
7307
|
+
* // Add an interactive {@link Image} to the map with custom HTML content.
|
|
7308
|
+
* map.Images.add(coordinate, '<div>Image Content</div>', { interactive: true });
|
|
7309
|
+
*/
|
|
7310
|
+
add(target: Space | Door | Coordinate, url: string, options: TAddImageOptions): Image;
|
|
7311
|
+
/**
|
|
7312
|
+
* Removes a image from the map.
|
|
7313
|
+
*
|
|
7314
|
+
* @param image {Image} The {@link Image} which should be removed.
|
|
7315
|
+
* @example
|
|
7316
|
+
* mapView.Images.remove(image);
|
|
7317
|
+
*/
|
|
7318
|
+
remove(image: Image): void;
|
|
7319
|
+
/**
|
|
7320
|
+
* Remove all the images from the map.
|
|
7321
|
+
*
|
|
7322
|
+
* @example
|
|
7323
|
+
* map.Images.removeAll();
|
|
7324
|
+
*/
|
|
7325
|
+
removeAll(): Image[];
|
|
6037
7326
|
}
|
|
7327
|
+
type CurrentMapGetter = () => GeojsonApiMapObject | undefined;
|
|
7328
|
+
export {};
|
|
6038
7329
|
}
|
|
6039
7330
|
|
|
6040
|
-
declare module '@mappedin/mappedin-js/mappedin-js/src/
|
|
6041
|
-
import type {
|
|
6042
|
-
import type {
|
|
6043
|
-
import type
|
|
6044
|
-
import
|
|
6045
|
-
export class
|
|
6046
|
-
|
|
6047
|
-
|
|
6048
|
-
|
|
6049
|
-
|
|
6050
|
-
|
|
6051
|
-
|
|
6052
|
-
|
|
7331
|
+
declare module '@mappedin/mappedin-js/mappedin-js/src/search/internal' {
|
|
7332
|
+
import type { SearchResult as MiniSearchResult, Suggestion, MatchInfo } from 'minisearch';
|
|
7333
|
+
import type { EnterpriseLocation, EnterpriseCategory, Places } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
7334
|
+
import type MapData from '@mappedin/mappedin-js/mappedin-js/src/map-data';
|
|
7335
|
+
import { z } from 'zod';
|
|
7336
|
+
export class InternalSearch {
|
|
7337
|
+
constructor(mapData: MapData);
|
|
7338
|
+
/**
|
|
7339
|
+
* Populates the search indexes with the map data.
|
|
7340
|
+
* @returns A promise that resolves when the indexes are populated.
|
|
7341
|
+
*/
|
|
7342
|
+
populate(): Promise<any[]>;
|
|
7343
|
+
search(term: string, options?: SearchOptions): Promise<SearchResult>;
|
|
7344
|
+
suggest(term: string, options?: SuggestOptions): Promise<Suggestion[]>;
|
|
7345
|
+
}
|
|
7346
|
+
export type SearchResultItem<T extends Places | EnterpriseLocation | EnterpriseCategory> = {
|
|
7347
|
+
type: T['__type'];
|
|
7348
|
+
match: MiniSearchResult['match'];
|
|
7349
|
+
score: number;
|
|
7350
|
+
item: T;
|
|
7351
|
+
};
|
|
7352
|
+
/**
|
|
7353
|
+
* @interface
|
|
7354
|
+
*/
|
|
7355
|
+
export type SearchResultEnterpriseCategory = SearchResultItem<EnterpriseCategory>;
|
|
7356
|
+
/**
|
|
7357
|
+
* @interface
|
|
7358
|
+
*/
|
|
7359
|
+
export type SearchResultEnterpriseLocations = SearchResultItem<EnterpriseLocation>;
|
|
7360
|
+
/**
|
|
7361
|
+
* @interface
|
|
7362
|
+
*/
|
|
7363
|
+
export type SearchResultPlaces = SearchResultItem<Places>;
|
|
7364
|
+
/**
|
|
7365
|
+
* Search results
|
|
7366
|
+
*/
|
|
7367
|
+
export type SearchResult = {
|
|
7368
|
+
/**
|
|
7369
|
+
* Places search results
|
|
7370
|
+
*/
|
|
7371
|
+
places: SearchResultPlaces[];
|
|
7372
|
+
/**
|
|
7373
|
+
* Enterprise Locations search results
|
|
7374
|
+
*/
|
|
7375
|
+
enterpriseLocations?: SearchResultEnterpriseLocations[];
|
|
7376
|
+
/**
|
|
7377
|
+
* Enterprise Categories search results
|
|
7378
|
+
*/
|
|
7379
|
+
enterpriseCategories?: SearchResultEnterpriseCategory[];
|
|
7380
|
+
};
|
|
7381
|
+
export function removeAccents(it: string): string;
|
|
7382
|
+
const searchOptionsSchema: z.ZodObject<{
|
|
7383
|
+
/**
|
|
7384
|
+
* Options for searching places.
|
|
7385
|
+
* @property {Object} [fields] - Fields to search in places.
|
|
7386
|
+
* @property {boolean} [name] - Whether to search in the name field of places.
|
|
7387
|
+
* @property {boolean} [description] - Whether to search in the description field of places.
|
|
7388
|
+
* @property {number} [limit] - Maximum number of place results to return.
|
|
7389
|
+
*/
|
|
7390
|
+
places: z.ZodOptional<z.ZodObject<{
|
|
7391
|
+
/**
|
|
7392
|
+
* Fields to search in places.
|
|
7393
|
+
* @property {boolean} [name] - Whether to search in the name field of places.
|
|
7394
|
+
* @property {boolean} [description] - Whether to search in the description field of places.
|
|
7395
|
+
*/
|
|
7396
|
+
fields: z.ZodOptional<z.ZodObject<{
|
|
7397
|
+
/** Enable searching by place name */
|
|
7398
|
+
name: z.ZodOptional<z.ZodBoolean>;
|
|
7399
|
+
/** Enable searching by place description */
|
|
7400
|
+
description: z.ZodOptional<z.ZodBoolean>;
|
|
7401
|
+
}, "strip", z.ZodTypeAny, {
|
|
7402
|
+
name?: boolean | undefined;
|
|
7403
|
+
description?: boolean | undefined;
|
|
7404
|
+
}, {
|
|
7405
|
+
name?: boolean | undefined;
|
|
7406
|
+
description?: boolean | undefined;
|
|
7407
|
+
}>>;
|
|
7408
|
+
/** Maximum number of place results to return */
|
|
7409
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
7410
|
+
}, "strip", z.ZodTypeAny, {
|
|
7411
|
+
limit?: number | undefined;
|
|
7412
|
+
fields?: {
|
|
7413
|
+
name?: boolean | undefined;
|
|
7414
|
+
description?: boolean | undefined;
|
|
7415
|
+
} | undefined;
|
|
7416
|
+
}, {
|
|
7417
|
+
limit?: number | undefined;
|
|
7418
|
+
fields?: {
|
|
7419
|
+
name?: boolean | undefined;
|
|
7420
|
+
description?: boolean | undefined;
|
|
7421
|
+
} | undefined;
|
|
7422
|
+
}>>;
|
|
7423
|
+
/**
|
|
7424
|
+
* Options for searching categories.
|
|
7425
|
+
* @property {Object} [fields] - Fields to search in categories.
|
|
7426
|
+
* @property {boolean} [name] - Whether to search in the name field of categories.
|
|
7427
|
+
* @property {boolean} [description] - Whether to search in the description field of categories.
|
|
7428
|
+
* @property {boolean} ['locations.name'] - Whether to search in the locations' names of categories.
|
|
7429
|
+
* @property {number} [limit] - Maximum number of category results to return.
|
|
7430
|
+
*/
|
|
7431
|
+
enterpriseCategories: z.ZodOptional<z.ZodObject<{
|
|
7432
|
+
/**
|
|
7433
|
+
* Fields to search in categories.
|
|
7434
|
+
* @property {boolean} [name] - Whether to search in the name field of categories.
|
|
7435
|
+
* @property {boolean} [description] - Whether to search in the description field of categories.
|
|
7436
|
+
* @property {boolean} ['locations.name'] - Whether to search in the locations' names of categories.
|
|
7437
|
+
*/
|
|
7438
|
+
fields: z.ZodOptional<z.ZodObject<{
|
|
7439
|
+
/** Enable searching by category name */
|
|
7440
|
+
name: z.ZodOptional<z.ZodBoolean>;
|
|
7441
|
+
/** Enable searching by category description */
|
|
7442
|
+
description: z.ZodOptional<z.ZodBoolean>;
|
|
7443
|
+
/** Enable searching by names of locations within the category */
|
|
7444
|
+
'locations.name': z.ZodOptional<z.ZodBoolean>;
|
|
7445
|
+
}, "strip", z.ZodTypeAny, {
|
|
7446
|
+
name?: boolean | undefined;
|
|
7447
|
+
description?: boolean | undefined;
|
|
7448
|
+
'locations.name'?: boolean | undefined;
|
|
7449
|
+
}, {
|
|
7450
|
+
name?: boolean | undefined;
|
|
7451
|
+
description?: boolean | undefined;
|
|
7452
|
+
'locations.name'?: boolean | undefined;
|
|
7453
|
+
}>>;
|
|
7454
|
+
/** Maximum number of category results to return */
|
|
7455
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
7456
|
+
}, "strip", z.ZodTypeAny, {
|
|
7457
|
+
limit?: number | undefined;
|
|
7458
|
+
fields?: {
|
|
7459
|
+
name?: boolean | undefined;
|
|
7460
|
+
description?: boolean | undefined;
|
|
7461
|
+
'locations.name'?: boolean | undefined;
|
|
7462
|
+
} | undefined;
|
|
7463
|
+
}, {
|
|
7464
|
+
limit?: number | undefined;
|
|
7465
|
+
fields?: {
|
|
7466
|
+
name?: boolean | undefined;
|
|
7467
|
+
description?: boolean | undefined;
|
|
7468
|
+
'locations.name'?: boolean | undefined;
|
|
7469
|
+
} | undefined;
|
|
7470
|
+
}>>;
|
|
7471
|
+
/**
|
|
7472
|
+
* Options for searching locations.
|
|
7473
|
+
* @property {Object} [fields] - Fields to search in locations.
|
|
7474
|
+
* @property {boolean} [name] - Whether to search in the name field of locations.
|
|
7475
|
+
* @property {boolean} [tags] - Whether to search in the tags field of locations.
|
|
7476
|
+
* @property {boolean} [description] - Whether to search in the description field of locations.
|
|
7477
|
+
* @property {number} [limit] - Maximum number of location results to return.
|
|
7478
|
+
*/
|
|
7479
|
+
enterpriseLocations: z.ZodOptional<z.ZodObject<{
|
|
7480
|
+
/**
|
|
7481
|
+
* Fields to search in locations.
|
|
7482
|
+
* @property {boolean} [name] - Whether to search in the name field of locations.
|
|
7483
|
+
* @property {boolean} [tags] - Whether to search in the tags field of locations.
|
|
7484
|
+
* @property {boolean} [description] - Whether to search in the description field of locations.
|
|
7485
|
+
*/
|
|
7486
|
+
fields: z.ZodOptional<z.ZodObject<{
|
|
7487
|
+
/** Enable searching by location name */
|
|
7488
|
+
name: z.ZodOptional<z.ZodBoolean>;
|
|
7489
|
+
/** Enable searching by location tags */
|
|
7490
|
+
tags: z.ZodOptional<z.ZodBoolean>;
|
|
7491
|
+
/** Enable searching by location description */
|
|
7492
|
+
description: z.ZodOptional<z.ZodBoolean>;
|
|
7493
|
+
}, "strip", z.ZodTypeAny, {
|
|
7494
|
+
name?: boolean | undefined;
|
|
7495
|
+
description?: boolean | undefined;
|
|
7496
|
+
tags?: boolean | undefined;
|
|
7497
|
+
}, {
|
|
7498
|
+
name?: boolean | undefined;
|
|
7499
|
+
description?: boolean | undefined;
|
|
7500
|
+
tags?: boolean | undefined;
|
|
7501
|
+
}>>;
|
|
7502
|
+
/** Maximum number of location results to return */
|
|
7503
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
7504
|
+
}, "strip", z.ZodTypeAny, {
|
|
7505
|
+
limit?: number | undefined;
|
|
7506
|
+
fields?: {
|
|
7507
|
+
name?: boolean | undefined;
|
|
7508
|
+
description?: boolean | undefined;
|
|
7509
|
+
tags?: boolean | undefined;
|
|
7510
|
+
} | undefined;
|
|
7511
|
+
}, {
|
|
7512
|
+
limit?: number | undefined;
|
|
7513
|
+
fields?: {
|
|
7514
|
+
name?: boolean | undefined;
|
|
7515
|
+
description?: boolean | undefined;
|
|
7516
|
+
tags?: boolean | undefined;
|
|
7517
|
+
} | undefined;
|
|
7518
|
+
}>>;
|
|
7519
|
+
}, "strip", z.ZodTypeAny, {
|
|
7520
|
+
enterpriseLocations?: {
|
|
7521
|
+
limit?: number | undefined;
|
|
7522
|
+
fields?: {
|
|
7523
|
+
name?: boolean | undefined;
|
|
7524
|
+
description?: boolean | undefined;
|
|
7525
|
+
tags?: boolean | undefined;
|
|
7526
|
+
} | undefined;
|
|
7527
|
+
} | undefined;
|
|
7528
|
+
enterpriseCategories?: {
|
|
7529
|
+
limit?: number | undefined;
|
|
7530
|
+
fields?: {
|
|
7531
|
+
name?: boolean | undefined;
|
|
7532
|
+
description?: boolean | undefined;
|
|
7533
|
+
'locations.name'?: boolean | undefined;
|
|
7534
|
+
} | undefined;
|
|
7535
|
+
} | undefined;
|
|
7536
|
+
places?: {
|
|
7537
|
+
limit?: number | undefined;
|
|
7538
|
+
fields?: {
|
|
7539
|
+
name?: boolean | undefined;
|
|
7540
|
+
description?: boolean | undefined;
|
|
7541
|
+
} | undefined;
|
|
7542
|
+
} | undefined;
|
|
7543
|
+
}, {
|
|
7544
|
+
enterpriseLocations?: {
|
|
7545
|
+
limit?: number | undefined;
|
|
7546
|
+
fields?: {
|
|
7547
|
+
name?: boolean | undefined;
|
|
7548
|
+
description?: boolean | undefined;
|
|
7549
|
+
tags?: boolean | undefined;
|
|
7550
|
+
} | undefined;
|
|
7551
|
+
} | undefined;
|
|
7552
|
+
enterpriseCategories?: {
|
|
7553
|
+
limit?: number | undefined;
|
|
7554
|
+
fields?: {
|
|
7555
|
+
name?: boolean | undefined;
|
|
7556
|
+
description?: boolean | undefined;
|
|
7557
|
+
'locations.name'?: boolean | undefined;
|
|
7558
|
+
} | undefined;
|
|
7559
|
+
} | undefined;
|
|
7560
|
+
places?: {
|
|
7561
|
+
limit?: number | undefined;
|
|
7562
|
+
fields?: {
|
|
7563
|
+
name?: boolean | undefined;
|
|
7564
|
+
description?: boolean | undefined;
|
|
7565
|
+
} | undefined;
|
|
7566
|
+
} | undefined;
|
|
7567
|
+
}>;
|
|
7568
|
+
const suggestOptionsSchema: z.ZodObject<{
|
|
7569
|
+
/**
|
|
7570
|
+
* Options for searching places.
|
|
7571
|
+
* @property {boolean} [enabled] - Whether to search in places.
|
|
7572
|
+
*/
|
|
7573
|
+
places: z.ZodOptional<z.ZodObject<{
|
|
7574
|
+
/** Enable searching by place name */
|
|
7575
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
7576
|
+
}, "strip", z.ZodTypeAny, {
|
|
7577
|
+
enabled?: boolean | undefined;
|
|
7578
|
+
}, {
|
|
7579
|
+
enabled?: boolean | undefined;
|
|
7580
|
+
}>>;
|
|
7581
|
+
/**
|
|
7582
|
+
* Options for searching locations.
|
|
7583
|
+
* @property {boolean} [enabled] - Whether to search in locations.
|
|
7584
|
+
*/
|
|
7585
|
+
enterpriseLocations: z.ZodOptional<z.ZodObject<{
|
|
7586
|
+
/** Enable searching by location name */
|
|
7587
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
7588
|
+
}, "strip", z.ZodTypeAny, {
|
|
7589
|
+
enabled?: boolean | undefined;
|
|
7590
|
+
}, {
|
|
7591
|
+
enabled?: boolean | undefined;
|
|
7592
|
+
}>>;
|
|
7593
|
+
}, "strip", z.ZodTypeAny, {
|
|
7594
|
+
enterpriseLocations?: {
|
|
7595
|
+
enabled?: boolean | undefined;
|
|
7596
|
+
} | undefined;
|
|
7597
|
+
places?: {
|
|
7598
|
+
enabled?: boolean | undefined;
|
|
7599
|
+
} | undefined;
|
|
7600
|
+
}, {
|
|
7601
|
+
enterpriseLocations?: {
|
|
7602
|
+
enabled?: boolean | undefined;
|
|
7603
|
+
} | undefined;
|
|
7604
|
+
places?: {
|
|
7605
|
+
enabled?: boolean | undefined;
|
|
7606
|
+
} | undefined;
|
|
7607
|
+
}>;
|
|
7608
|
+
export type SearchOptions = z.infer<typeof searchOptionsSchema>;
|
|
7609
|
+
export type SuggestOptions = z.infer<typeof suggestOptionsSchema>;
|
|
7610
|
+
export { Suggestion, MatchInfo };
|
|
7611
|
+
}
|
|
7612
|
+
|
|
7613
|
+
declare module '@mappedin/mappedin-js/mappedin-js/src/search/external' {
|
|
7614
|
+
import type MapData from '@mappedin/mappedin-js/mappedin-js/src/map-data';
|
|
7615
|
+
import type { InternalSearch, SearchOptions, SuggestOptions } from '@mappedin/mappedin-js/mappedin-js/src/search/internal';
|
|
7616
|
+
import type { MapDataInternal } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
7617
|
+
export class Search {
|
|
7618
|
+
#private;
|
|
7619
|
+
/**
|
|
7620
|
+
* Whether the search is enabled.
|
|
7621
|
+
* @default false
|
|
7622
|
+
*/
|
|
7623
|
+
enabled: boolean;
|
|
7624
|
+
constructor(mapData: MapData, mapDataInternal: MapDataInternal, { enabled }?: {
|
|
7625
|
+
enabled?: boolean;
|
|
7626
|
+
});
|
|
7627
|
+
/**
|
|
7628
|
+
* Searches for places, locations, and categories.
|
|
7629
|
+
* @param term - The search term.
|
|
7630
|
+
* @param options - The search options.
|
|
7631
|
+
* @returns The search results.
|
|
7632
|
+
* @example
|
|
7633
|
+
* ```ts
|
|
7634
|
+
* const results = await search.query('Coffee Shop');
|
|
7635
|
+
* console.log(results.locations);
|
|
7636
|
+
* ```
|
|
7637
|
+
*/
|
|
7638
|
+
query(term: string, options?: SearchOptions): ReturnType<typeof InternalSearch.prototype.search>;
|
|
7639
|
+
/**
|
|
7640
|
+
* Suggests the names of places, locations, and categories.
|
|
7641
|
+
* @param term - The search term.
|
|
7642
|
+
* @param options - The suggest options.
|
|
7643
|
+
* @returns The search suggestions.
|
|
7644
|
+
* @example
|
|
7645
|
+
* ```ts
|
|
7646
|
+
* const suggestions = await search.suggest('Coffee');
|
|
7647
|
+
* console.log(suggestions);
|
|
7648
|
+
* ```
|
|
7649
|
+
*/
|
|
7650
|
+
suggest(term: string, options?: SuggestOptions): Promise<import("minisearch").Suggestion[]>;
|
|
7651
|
+
/**
|
|
7652
|
+
* Enables the search.
|
|
7653
|
+
*/
|
|
7654
|
+
enable(): Promise<void>;
|
|
7655
|
+
}
|
|
7656
|
+
export type SearchState = {
|
|
7657
|
+
/**
|
|
7658
|
+
* Whether the search is enabled.
|
|
7659
|
+
*/
|
|
7660
|
+
enabled: boolean;
|
|
7661
|
+
};
|
|
7662
|
+
}
|
|
7663
|
+
|
|
7664
|
+
declare module '@mappedin/mappedin-js/mappedin-js/src/analytics/customer' {
|
|
7665
|
+
/**
|
|
7666
|
+
* Valid track-analytics API contexts. These should match the expected values of that endpoint or the requests will fail.
|
|
7667
|
+
* If a set context is not in this list, it will default to the first VALID_CONTEXTS value.
|
|
7668
|
+
*/
|
|
7669
|
+
export const VALID_CONTEXTS: readonly ["websdk", "web", "webv2", "kiosk-v2", "mobile", "iossdk", "androidsdk", "reactnativesdk", "gen7", "bespoke"];
|
|
7670
|
+
type ValidContext = (typeof VALID_CONTEXTS)[number];
|
|
7671
|
+
export const DEFAULT_CONTEXT: "websdk";
|
|
7672
|
+
export const ANALYTICS_URL = "https://api-gateway.mappedin.com/track-analytics/a/";
|
|
7673
|
+
export const FOUND_POSITION = "found-position";
|
|
7674
|
+
export const FOUND_FLOOR = "found-floor";
|
|
7675
|
+
type BlueDotEvents = typeof FOUND_FLOOR | typeof FOUND_POSITION;
|
|
7676
|
+
export class AnalyticsInternal {
|
|
7677
|
+
#private;
|
|
7678
|
+
constructor();
|
|
7679
|
+
init(options: AnalyticsUpdateOptions): void;
|
|
7680
|
+
/**
|
|
7681
|
+
* Reset state and options
|
|
7682
|
+
*/
|
|
7683
|
+
reset(): void;
|
|
7684
|
+
updateState(update: UpdateStateParam): void;
|
|
7685
|
+
get authReady(): boolean;
|
|
7686
|
+
getState(): AnalyticState;
|
|
7687
|
+
capture<T extends keyof CaptureEventsPayloadMap>(eventName: T, query: CaptureEventsPayloadMap[T]): Promise<Response> | Promise<void>;
|
|
7688
|
+
capture<T extends keyof CaptureEventsPayloadMap | (string & NonNullable<unknown>)>(target: T, query: T extends keyof CaptureEventsPayloadMap ? CaptureEventsPayloadMap[T] : Record<string, any>): Promise<Response> | Promise<void>;
|
|
7689
|
+
/**
|
|
7690
|
+
* @internal
|
|
7691
|
+
*/
|
|
7692
|
+
sendGetMapDataEvent(payload: {
|
|
7693
|
+
parseDuration: number;
|
|
7694
|
+
downloadDuration: number;
|
|
7695
|
+
viewId?: string;
|
|
7696
|
+
}): void | Promise<Response> | Promise<void>;
|
|
7697
|
+
sendChangeLanguageEvent(payload: {
|
|
7698
|
+
fromLanguage: string;
|
|
7699
|
+
}): void | Promise<Response> | Promise<void>;
|
|
7700
|
+
sendWatchPositionDenied(): void | Promise<Response> | Promise<void>;
|
|
7701
|
+
/**
|
|
7702
|
+
* @internal
|
|
7703
|
+
*/
|
|
7704
|
+
sendMapViewLoadedEvent({ firstRenderDuration, dimension, }: {
|
|
7705
|
+
firstRenderDuration: number;
|
|
7706
|
+
dimension: {
|
|
7707
|
+
height: number;
|
|
7708
|
+
width: number;
|
|
7709
|
+
};
|
|
7710
|
+
}): void | Promise<Response> | Promise<void>;
|
|
7711
|
+
/**
|
|
7712
|
+
* @internal
|
|
7713
|
+
*/
|
|
7714
|
+
sendGetDirectionsEvent: (start: string, end: string) => void;
|
|
7715
|
+
sendBlueDotEvents(event: BlueDotEvents): void | Promise<Response> | Promise<void>;
|
|
7716
|
+
}
|
|
7717
|
+
type UpdateStateParam = Partial<Pick<AnalyticState, 'geolocationMode' | 'context' | 'logEvents' | 'userPosition' | 'mapId' | 'sendEvents' | 'logEvents' | 'accessToken' | 'sessionId'>>;
|
|
7718
|
+
type CaptureEventsPayloadMap = {
|
|
7719
|
+
'$select-location': {
|
|
7720
|
+
id: string;
|
|
7721
|
+
};
|
|
7722
|
+
'$select-category': {
|
|
7723
|
+
id: string;
|
|
7724
|
+
};
|
|
7725
|
+
'$query-suggest': {
|
|
7726
|
+
query: string;
|
|
7727
|
+
suggestions?: string[];
|
|
7728
|
+
};
|
|
7729
|
+
'$query-search': {
|
|
7730
|
+
query: string;
|
|
7731
|
+
hits?: string[];
|
|
7732
|
+
};
|
|
7733
|
+
};
|
|
7734
|
+
export const analyticsInternal: AnalyticsInternal;
|
|
7735
|
+
export class Analytics {
|
|
7736
|
+
#private;
|
|
7737
|
+
/**
|
|
7738
|
+
* @internal
|
|
7739
|
+
*/
|
|
7740
|
+
constructor(internalAnalytics: AnalyticsInternal);
|
|
7741
|
+
/**
|
|
7742
|
+
* Captures an analytic event with a custom target and query payload.
|
|
7743
|
+
*
|
|
7744
|
+
* @param target - The event name or target can be .
|
|
7745
|
+
* @param query - The payload associated with the event.
|
|
7746
|
+
* @returns A promise that resolves to the server response or void.
|
|
7747
|
+
*/
|
|
7748
|
+
capture: typeof AnalyticsInternal.prototype.capture;
|
|
7749
|
+
/**
|
|
7750
|
+
* Updates the analytics state with the provided parameters.
|
|
7751
|
+
* @param update - The state parameters to update.
|
|
7752
|
+
*/
|
|
7753
|
+
updateState: (update: TAnalyticsUpdateState) => void;
|
|
7754
|
+
/**
|
|
7755
|
+
* Returns the current analytics state.
|
|
7756
|
+
* @internal
|
|
7757
|
+
* @returns the current analytics state
|
|
7758
|
+
*/
|
|
7759
|
+
getState(): {
|
|
7760
|
+
version: string;
|
|
7761
|
+
/** The platform string to be included in analytics. */
|
|
7762
|
+
platformString: string;
|
|
7763
|
+
/** The base URI for the analytics endpoint. */
|
|
7764
|
+
baseUri: string;
|
|
7765
|
+
/** The base URI with mapId appended. */
|
|
7766
|
+
analyticsBaseUrl: string;
|
|
7767
|
+
/** Flag to disable authentication. */
|
|
7768
|
+
noAuth: boolean;
|
|
7769
|
+
/** Flag to enable geolocation mode. */
|
|
7770
|
+
geolocationMode: boolean;
|
|
7771
|
+
/** The device ID to be used for analytics. */
|
|
7772
|
+
deviceId: string;
|
|
7773
|
+
/** The session ID to be used for analytics. */
|
|
7774
|
+
sessionId: string;
|
|
7775
|
+
/** The context in which the analytics are being used. */
|
|
7776
|
+
context: ValidContext;
|
|
7777
|
+
/** The last known user position. */
|
|
7778
|
+
userPosition?: AnalyticsUserPosition;
|
|
7779
|
+
/** The ID of the map to be used for analytics. */
|
|
7780
|
+
mapId?: string;
|
|
7781
|
+
/** Flag to enable logging of events. */
|
|
7782
|
+
logEvents: boolean;
|
|
7783
|
+
/** Flag to enable sending of events. */
|
|
7784
|
+
sendEvents: boolean;
|
|
7785
|
+
} & AnalyticsAuth;
|
|
6053
7786
|
}
|
|
7787
|
+
type AnalyticsUserPosition = {
|
|
7788
|
+
bluedotTimestamp: number;
|
|
7789
|
+
latitude: number;
|
|
7790
|
+
longitude: number;
|
|
7791
|
+
floorLevel?: number;
|
|
7792
|
+
accuracy: number;
|
|
7793
|
+
};
|
|
7794
|
+
type AnalyticsAuth = {
|
|
7795
|
+
/** The API key for authentication. */
|
|
7796
|
+
key?: string;
|
|
7797
|
+
/** The API secret for authentication. */
|
|
7798
|
+
secret?: string;
|
|
7799
|
+
/** The access token for authentication. */
|
|
7800
|
+
accessToken?: string;
|
|
7801
|
+
};
|
|
7802
|
+
export type AnalyticState = {
|
|
7803
|
+
version: string;
|
|
7804
|
+
/** The platform string to be included in analytics. */
|
|
7805
|
+
platformString: string;
|
|
7806
|
+
/** The base URI for the analytics endpoint. */
|
|
7807
|
+
baseUri: string;
|
|
7808
|
+
/** The base URI with mapId appended. */
|
|
7809
|
+
analyticsBaseUrl: string;
|
|
7810
|
+
/** Flag to disable authentication. */
|
|
7811
|
+
noAuth: boolean;
|
|
7812
|
+
/** Flag to enable geolocation mode. */
|
|
7813
|
+
geolocationMode: boolean;
|
|
7814
|
+
/** The device ID to be used for analytics. */
|
|
7815
|
+
deviceId: string;
|
|
7816
|
+
/** The session ID to be used for analytics. */
|
|
7817
|
+
sessionId: string;
|
|
7818
|
+
/** The context in which the analytics are being used. */
|
|
7819
|
+
context: ValidContext;
|
|
7820
|
+
/** The last known user position. */
|
|
7821
|
+
userPosition?: AnalyticsUserPosition;
|
|
7822
|
+
/** The ID of the map to be used for analytics. */
|
|
7823
|
+
mapId?: string;
|
|
7824
|
+
/** Flag to enable logging of events. */
|
|
7825
|
+
logEvents: boolean;
|
|
7826
|
+
/** Flag to enable sending of events. */
|
|
7827
|
+
sendEvents: boolean;
|
|
7828
|
+
} & AnalyticsAuth;
|
|
7829
|
+
type AnalyticsOptions = Partial<Omit<AnalyticState, 'version' | 'analyticsBaseUrl' | 'geolocationMode' | 'deviceId' | 'userPosition'>>;
|
|
7830
|
+
export type AnalyticsUpdateOptions = Omit<AnalyticsOptions, keyof AnalyticsAuth> & ((Required<Pick<AnalyticsAuth, 'key' | 'secret'>> & Partial<Pick<AnalyticsAuth, 'accessToken'>>) | (Required<Pick<AnalyticsAuth, 'accessToken'>> & Partial<Pick<AnalyticsAuth, 'key' | 'secret'>>));
|
|
7831
|
+
/**
|
|
7832
|
+
* Options for updating the current state of analytics.
|
|
7833
|
+
* @interface
|
|
7834
|
+
*/
|
|
7835
|
+
export type TAnalyticsUpdateState = Pick<Partial<AnalyticState>, 'logEvents' | 'sendEvents' | 'baseUri' | 'accessToken'>;
|
|
7836
|
+
export {};
|
|
6054
7837
|
}
|
|
6055
7838
|
|
|
6056
7839
|
declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/base-object' {
|
|
@@ -6081,17 +7864,18 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/base-meta
|
|
|
6081
7864
|
}
|
|
6082
7865
|
}
|
|
6083
7866
|
|
|
6084
|
-
declare module '@mappedin/mappedin-js/geojson/src/entities/
|
|
7867
|
+
declare module '@mappedin/mappedin-js/geojson/src/entities/geometry3d' {
|
|
6085
7868
|
import { Object3D } from 'three';
|
|
6086
7869
|
import type { InteractionComponent } from '@mappedin/mappedin-js/geojson/src/components/interaction';
|
|
6087
7870
|
import type { MeshComponent } from '@mappedin/mappedin-js/geojson/src/components/mesh';
|
|
6088
7871
|
import type { ModelComponent } from '@mappedin/mappedin-js/geojson/src/components/model';
|
|
6089
7872
|
import type { PathComponent } from '@mappedin/mappedin-js/geojson/src/components/path';
|
|
6090
7873
|
import type { StyleComponent } from '@mappedin/mappedin-js/geojson/src/components/style';
|
|
7874
|
+
import type { ImageComponent } from '@mappedin/mappedin-js/geojson/src/components/image';
|
|
6091
7875
|
import type { CustomGeometryComponent } from '@mappedin/mappedin-js/geojson/src/components/custom';
|
|
6092
|
-
import type { GroupContainerObject3D } from '@mappedin/mappedin-js/geojson/src/entities/
|
|
6093
|
-
import { GeometryGroupObject3D } from '@mappedin/mappedin-js/geojson/src/entities/
|
|
6094
|
-
export enum
|
|
7876
|
+
import type { GroupContainerObject3D } from '@mappedin/mappedin-js/geojson/src/entities/group-container';
|
|
7877
|
+
import type { GeometryGroupObject3D } from '@mappedin/mappedin-js/geojson/src/entities/geometry-group';
|
|
7878
|
+
export enum Geometry3DComponents {
|
|
6095
7879
|
Mesh = 0,
|
|
6096
7880
|
Style = 1,
|
|
6097
7881
|
Interaction = 2
|
|
@@ -6099,27 +7883,27 @@ declare module '@mappedin/mappedin-js/geojson/src/entities/three-d' {
|
|
|
6099
7883
|
export class Geometry3DObject3D extends Object3D {
|
|
6100
7884
|
userData: {
|
|
6101
7885
|
entityId: string;
|
|
6102
|
-
type: 'geometry' | 'path' | 'model' | 'custom-geometry';
|
|
7886
|
+
type: 'geometry' | 'path' | 'model' | 'custom-geometry' | 'image';
|
|
6103
7887
|
};
|
|
6104
7888
|
}
|
|
6105
|
-
export type MeshComponentTypes = MeshComponent | PathComponent | ModelComponent | CustomGeometryComponent;
|
|
7889
|
+
export type MeshComponentTypes = MeshComponent | PathComponent | ModelComponent | CustomGeometryComponent | ImageComponent;
|
|
6106
7890
|
export class Geometry3D {
|
|
6107
7891
|
id: string | number;
|
|
6108
7892
|
components: [MeshComponentTypes, StyleComponent, InteractionComponent?];
|
|
6109
|
-
get object3d(): import("../components/mesh").EntityBatchedMesh |
|
|
7893
|
+
get object3d(): Geometry3DObject3D | import("../components/mesh").EntityBatchedMesh | undefined;
|
|
6110
7894
|
get parent(): GroupContainerObject3D | GeometryGroupObject3D | null;
|
|
6111
|
-
get type(): 'geometry' | 'path' | 'model' | 'custom-geometry';
|
|
6112
|
-
constructor(meshComponent: MeshComponent | PathComponent | ModelComponent | CustomGeometryComponent, styleComponent: StyleComponent);
|
|
7895
|
+
get type(): 'geometry' | 'path' | 'model' | 'custom-geometry' | 'image';
|
|
7896
|
+
constructor(meshComponent: MeshComponent | PathComponent | ModelComponent | CustomGeometryComponent | ImageComponent, styleComponent: StyleComponent);
|
|
6113
7897
|
}
|
|
6114
7898
|
}
|
|
6115
7899
|
|
|
6116
|
-
declare module '@mappedin/mappedin-js/geojson/src/entities/
|
|
7900
|
+
declare module '@mappedin/mappedin-js/geojson/src/entities/geometry2d' {
|
|
6117
7901
|
import { Object3D, Vector3 } from 'three';
|
|
6118
7902
|
import type { MarkerComponent } from '@mappedin/mappedin-js/geojson/src/components/marker';
|
|
6119
7903
|
import type LabelComponent from '@mappedin/mappedin-js/geojson/src/components/label';
|
|
6120
|
-
import type { GroupContainerObject3D } from '@mappedin/mappedin-js/geojson/src/entities/
|
|
7904
|
+
import type { GroupContainerObject3D } from '@mappedin/mappedin-js/geojson/src/entities/group-container';
|
|
6121
7905
|
import type { InteractionComponent } from '@mappedin/mappedin-js/geojson/src/components/interaction';
|
|
6122
|
-
export enum
|
|
7906
|
+
export enum Geometry2DComponents {
|
|
6123
7907
|
UI = 0,
|
|
6124
7908
|
Interaction = 1
|
|
6125
7909
|
}
|
|
@@ -6165,6 +7949,8 @@ declare module '@mappedin/mappedin-js/geojson/src/components/geometry-group-styl
|
|
|
6165
7949
|
opacity: number;
|
|
6166
7950
|
shading?: Shading;
|
|
6167
7951
|
outline: boolean;
|
|
7952
|
+
texture?: string;
|
|
7953
|
+
topTexture?: string;
|
|
6168
7954
|
};
|
|
6169
7955
|
export class GeometryGroupStyleComponent implements GeometryGroupStyle {
|
|
6170
7956
|
#private;
|
|
@@ -6172,6 +7958,13 @@ declare module '@mappedin/mappedin-js/geojson/src/components/geometry-group-styl
|
|
|
6172
7958
|
topColor?: string;
|
|
6173
7959
|
opacity: number;
|
|
6174
7960
|
outline: boolean;
|
|
7961
|
+
texture?: string;
|
|
7962
|
+
topTexture?: string;
|
|
7963
|
+
/**
|
|
7964
|
+
* Ideally for handling all style component changes. However, it's only used for handling outline for now.
|
|
7965
|
+
* Color update is handled separately in each child. See: https://github.com/MappedIn/sdk/blob/v6.0.1-beta.1/sdks/geojson/src/entities/utils.ts#L70
|
|
7966
|
+
*/
|
|
7967
|
+
dirty: boolean;
|
|
6175
7968
|
get shading(): Required<Shading> | undefined;
|
|
6176
7969
|
set shading(value: Shading | undefined);
|
|
6177
7970
|
constructor(style?: Partial<GeometryGroupStyle>);
|
|
@@ -6179,11 +7972,148 @@ declare module '@mappedin/mappedin-js/geojson/src/components/geometry-group-styl
|
|
|
6179
7972
|
export {};
|
|
6180
7973
|
}
|
|
6181
7974
|
|
|
7975
|
+
declare module '@mappedin/mappedin-js/geojson/src/components/image' {
|
|
7976
|
+
import type { LineSegments, PlaneGeometry, MeshLambertMaterial } from 'three';
|
|
7977
|
+
import { Vector3, Mesh } from 'three';
|
|
7978
|
+
import type { Position } from '@mappedin/mappedin-js/geojson/src/types';
|
|
7979
|
+
import type { Feature, Point } from 'geojson';
|
|
7980
|
+
import { Geometry3DObject3D } from '@mappedin/mappedin-js/geojson/src/entities/geometry3d';
|
|
7981
|
+
import { z } from 'zod';
|
|
7982
|
+
export class EntityMesh extends Mesh {
|
|
7983
|
+
userData: {
|
|
7984
|
+
entityId: string | number;
|
|
7985
|
+
};
|
|
7986
|
+
}
|
|
7987
|
+
export type ImageStyle = {
|
|
7988
|
+
/**
|
|
7989
|
+
* Attempt to keep the image facing the camera as much as possible
|
|
7990
|
+
*/
|
|
7991
|
+
flipImageToFaceCamera?: boolean;
|
|
7992
|
+
/**
|
|
7993
|
+
* url of the image
|
|
7994
|
+
*/
|
|
7995
|
+
url: string;
|
|
7996
|
+
};
|
|
7997
|
+
export type ImageProperties = {
|
|
7998
|
+
width: number;
|
|
7999
|
+
height: number;
|
|
8000
|
+
rotation?: number;
|
|
8001
|
+
verticalOffset?: number;
|
|
8002
|
+
};
|
|
8003
|
+
export const addImageFeatureStyleSchema: z.ZodObject<{
|
|
8004
|
+
flipImageToFaceCamera: z.ZodOptional<z.ZodBoolean>;
|
|
8005
|
+
url: z.ZodString;
|
|
8006
|
+
}, "strip", z.ZodTypeAny, {
|
|
8007
|
+
url: string;
|
|
8008
|
+
flipImageToFaceCamera?: boolean | undefined;
|
|
8009
|
+
}, {
|
|
8010
|
+
url: string;
|
|
8011
|
+
flipImageToFaceCamera?: boolean | undefined;
|
|
8012
|
+
}>;
|
|
8013
|
+
export const addImageFeatureSchema: z.ZodObject<{
|
|
8014
|
+
type: z.ZodEnum<["Feature"]>;
|
|
8015
|
+
properties: z.ZodObject<{
|
|
8016
|
+
width: z.ZodNumber;
|
|
8017
|
+
height: z.ZodNumber;
|
|
8018
|
+
rotation: z.ZodOptional<z.ZodNumber>;
|
|
8019
|
+
verticalOffset: z.ZodOptional<z.ZodNumber>;
|
|
8020
|
+
}, "strip", z.ZodTypeAny, {
|
|
8021
|
+
height: number;
|
|
8022
|
+
width: number;
|
|
8023
|
+
rotation?: number | undefined;
|
|
8024
|
+
verticalOffset?: number | undefined;
|
|
8025
|
+
}, {
|
|
8026
|
+
height: number;
|
|
8027
|
+
width: number;
|
|
8028
|
+
rotation?: number | undefined;
|
|
8029
|
+
verticalOffset?: number | undefined;
|
|
8030
|
+
}>;
|
|
8031
|
+
geometry: z.ZodObject<{
|
|
8032
|
+
type: z.ZodEnum<["Point"]>;
|
|
8033
|
+
coordinates: z.ZodArray<z.ZodNumber, "many">;
|
|
8034
|
+
}, "strip", z.ZodTypeAny, {
|
|
8035
|
+
type: "Point";
|
|
8036
|
+
coordinates: number[];
|
|
8037
|
+
}, {
|
|
8038
|
+
type: "Point";
|
|
8039
|
+
coordinates: number[];
|
|
8040
|
+
}>;
|
|
8041
|
+
}, "strip", z.ZodTypeAny, {
|
|
8042
|
+
type: "Feature";
|
|
8043
|
+
geometry: {
|
|
8044
|
+
type: "Point";
|
|
8045
|
+
coordinates: number[];
|
|
8046
|
+
};
|
|
8047
|
+
properties: {
|
|
8048
|
+
height: number;
|
|
8049
|
+
width: number;
|
|
8050
|
+
rotation?: number | undefined;
|
|
8051
|
+
verticalOffset?: number | undefined;
|
|
8052
|
+
};
|
|
8053
|
+
}, {
|
|
8054
|
+
type: "Feature";
|
|
8055
|
+
geometry: {
|
|
8056
|
+
type: "Point";
|
|
8057
|
+
coordinates: number[];
|
|
8058
|
+
};
|
|
8059
|
+
properties: {
|
|
8060
|
+
height: number;
|
|
8061
|
+
width: number;
|
|
8062
|
+
rotation?: number | undefined;
|
|
8063
|
+
verticalOffset?: number | undefined;
|
|
8064
|
+
};
|
|
8065
|
+
}>;
|
|
8066
|
+
export function validateImage(id: string | number, feature: Feature<Point, ImageProperties>, style: ImageStyle): void;
|
|
8067
|
+
/**
|
|
8068
|
+
* State representing an Image
|
|
8069
|
+
*/
|
|
8070
|
+
export type ImageState = {
|
|
8071
|
+
readonly id: string | number;
|
|
8072
|
+
readonly type: 'image';
|
|
8073
|
+
/**
|
|
8074
|
+
* The position of the image in [lon, lat]
|
|
8075
|
+
*/
|
|
8076
|
+
readonly position: Position;
|
|
8077
|
+
/**
|
|
8078
|
+
* The offset of the image in the z direction
|
|
8079
|
+
*/
|
|
8080
|
+
readonly verticalOffset: number;
|
|
8081
|
+
/**
|
|
8082
|
+
* Whether the image is visible
|
|
8083
|
+
*/
|
|
8084
|
+
visible: boolean;
|
|
8085
|
+
/**
|
|
8086
|
+
* Attempt to keep the image facing the camera as much as possible
|
|
8087
|
+
*/
|
|
8088
|
+
flipImageToFaceCamera: boolean;
|
|
8089
|
+
};
|
|
8090
|
+
export class ImageComponent {
|
|
8091
|
+
mesh: Geometry3DObject3D;
|
|
8092
|
+
imageMesh?: EntityMesh;
|
|
8093
|
+
outline?: LineSegments;
|
|
8094
|
+
readonly type = "image";
|
|
8095
|
+
instanceIndex: number;
|
|
8096
|
+
geometry?: PlaneGeometry;
|
|
8097
|
+
material?: MeshLambertMaterial;
|
|
8098
|
+
feature: Feature<Point, ImageProperties>;
|
|
8099
|
+
constructor(feature: Feature<Point, ImageProperties>);
|
|
8100
|
+
get visible(): boolean;
|
|
8101
|
+
set visible(visible: boolean);
|
|
8102
|
+
position: Vector3;
|
|
8103
|
+
}
|
|
8104
|
+
}
|
|
8105
|
+
|
|
8106
|
+
declare module '@mappedin/mappedin-js/geojson/src/entities' {
|
|
8107
|
+
export { updateInteractivity } from '@mappedin/mappedin-js/geojson/src/entities/utils';
|
|
8108
|
+
export { Geometry2D, Geometry2DComponents } from '@mappedin/mappedin-js/geojson/src/entities/geometry2d';
|
|
8109
|
+
export { Geometry3D, Geometry3DComponents } from '@mappedin/mappedin-js/geojson/src/entities/geometry3d';
|
|
8110
|
+
}
|
|
8111
|
+
|
|
6182
8112
|
declare module '@mappedin/mappedin-js/geojson/src/types/options' {
|
|
6183
8113
|
import type { Position } from '@mappedin/mappedin-js/geojson/src/types/geometry';
|
|
6184
8114
|
import type { Map as MapLibreMap } from '@mappedin/mappedin-js/packages/outdoor-context-v4';
|
|
6185
|
-
import type { WatermarkOptions } from '@mappedin/mappedin-js/geojson/src/systems/watermark/system';
|
|
6186
8115
|
import type { AttributionControlOptions } from '@mappedin/mappedin-js/geojson/src/systems/html-controls/system';
|
|
8116
|
+
import type { WatermarkOptions } from '@mappedin/mappedin-js/geojson/src';
|
|
6187
8117
|
export type RendererCoreOptions = Partial<{
|
|
6188
8118
|
center?: Position;
|
|
6189
8119
|
zoomLevel?: number;
|
|
@@ -6219,15 +8149,28 @@ declare module '@mappedin/mappedin-js/geojson/src/types/constants' {
|
|
|
6219
8149
|
declare module '@mappedin/mappedin-js/geojson/src/systems/mesh-creation-and-optimization/batched-material' {
|
|
6220
8150
|
import { MeshLambertMaterial, type Color, type Texture, type MeshLambertMaterialParameters } from 'three';
|
|
6221
8151
|
export class BatchedStandardMaterial extends MeshLambertMaterial {
|
|
6222
|
-
constructor(params: MeshLambertMaterialParameters, geometryCount: number);
|
|
8152
|
+
constructor(params: MeshLambertMaterialParameters, geometryCount: number, scaleFactor?: number);
|
|
8153
|
+
/**
|
|
8154
|
+
* These control the repeat factor of the texture in the Y direction.
|
|
8155
|
+
* So when we scale a geometry, it needs to scale the texture as well.
|
|
8156
|
+
* For now this only applies to detached geometries.
|
|
8157
|
+
*/
|
|
8158
|
+
get repeatYFactor(): number;
|
|
8159
|
+
set repeatYFactor(value: number);
|
|
6223
8160
|
get texture(): Texture;
|
|
6224
8161
|
set texture(texture: Texture);
|
|
6225
8162
|
get topTexture(): Texture;
|
|
6226
8163
|
set topTexture(texture: Texture);
|
|
6227
8164
|
setGradientShading(start: number, end: number, intensity: number): void;
|
|
6228
8165
|
setColor(batchId: number, color: Color, topColor: Color): void;
|
|
8166
|
+
getColor(batchId: number): {
|
|
8167
|
+
color: Color;
|
|
8168
|
+
topColor: Color;
|
|
8169
|
+
};
|
|
6229
8170
|
showTextures: (batchId: number) => void;
|
|
6230
8171
|
hideTextures(batchId: number): void;
|
|
8172
|
+
removeSideTexture(batchId: number): void;
|
|
8173
|
+
removeTopTexture(batchId: number): void;
|
|
6231
8174
|
dispose(): void;
|
|
6232
8175
|
}
|
|
6233
8176
|
}
|
|
@@ -6302,6 +8245,7 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/collisions/system' {
|
|
|
6302
8245
|
import { PubSub } from '@mappedin/mappedin-js/packages/common/pubsub';
|
|
6303
8246
|
import type { RendererState } from '@mappedin/mappedin-js/geojson/src/renderer';
|
|
6304
8247
|
import type { TSerializedCollider, TSerializedColliderResponse } from '@mappedin/mappedin-js/geojson/src/systems/collisions/collider-processor';
|
|
8248
|
+
import type { WatermarkPosition } from '@mappedin/mappedin-js/geojson/src/systems/watermark/system';
|
|
6305
8249
|
export type TMessageEvent = MessageEvent<{
|
|
6306
8250
|
msgId: string;
|
|
6307
8251
|
colliders: TSerializedColliderResponse[];
|
|
@@ -6318,6 +8262,7 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/collisions/system' {
|
|
|
6318
8262
|
totalHeight: number;
|
|
6319
8263
|
watermarkWidth: number;
|
|
6320
8264
|
watermarkHeight: number;
|
|
8265
|
+
watermarkPosition: WatermarkPosition;
|
|
6321
8266
|
colliders: TSerializedCollider[];
|
|
6322
8267
|
devicePixelRatio: number;
|
|
6323
8268
|
};
|
|
@@ -6333,7 +8278,8 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/collisions/system' {
|
|
|
6333
8278
|
totalHeight: number,
|
|
6334
8279
|
totalWidth: number,
|
|
6335
8280
|
watermarkWidth: number,
|
|
6336
|
-
watermarkHeight: number
|
|
8281
|
+
watermarkHeight: number,
|
|
8282
|
+
watermarkPosition: WatermarkPosition
|
|
6337
8283
|
];
|
|
6338
8284
|
export class CollisionSystem extends PubSub<TCollisionSystemEvent, keyof TCollisionSystemEvent> {
|
|
6339
8285
|
dirty: boolean;
|
|
@@ -6352,8 +8298,8 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/collisions/system' {
|
|
|
6352
8298
|
currentMsgId: string;
|
|
6353
8299
|
working: boolean;
|
|
6354
8300
|
componentArray: (MarkerComponent | LabelComponent)[];
|
|
6355
|
-
update: (watermarkWidth: number, watermarkHeight: number) => void;
|
|
6356
|
-
resize(watermarkWidth: number, watermarkHeight: number): void;
|
|
8301
|
+
update: (watermarkWidth: number, watermarkHeight: number, watermarkPosition?: WatermarkPosition) => void;
|
|
8302
|
+
resize(watermarkWidth: number, watermarkHeight: number, watermarkPosition: WatermarkPosition): void;
|
|
6357
8303
|
/**
|
|
6358
8304
|
* Resolve collisions
|
|
6359
8305
|
*/
|
|
@@ -6394,7 +8340,7 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/zoom-interpolation/zoo
|
|
|
6394
8340
|
declare module '@mappedin/mappedin-js/geojson/src/systems/mesh-creation-and-optimization/system' {
|
|
6395
8341
|
import type { BufferGeometry } from 'three';
|
|
6396
8342
|
import type { RendererState } from '@mappedin/mappedin-js/geojson/src/renderer';
|
|
6397
|
-
import { Geometry3D, Geometry3DObject3D } from '@mappedin/mappedin-js/geojson/src/entities/
|
|
8343
|
+
import { Geometry3D, Geometry3DObject3D } from '@mappedin/mappedin-js/geojson/src/entities/geometry3d';
|
|
6398
8344
|
import type { Feature, LineString, MultiPolygon, Point, Polygon } from 'geojson';
|
|
6399
8345
|
import type { LineStyle, ModelProperties, ModelStyle, PaintStyle } from '@mappedin/mappedin-js/geojson/src/types';
|
|
6400
8346
|
import type { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';
|
|
@@ -6490,13 +8436,18 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/2d-draw/system' {
|
|
|
6490
8436
|
|
|
6491
8437
|
declare module '@mappedin/mappedin-js/geojson/src/systems/draw/system' {
|
|
6492
8438
|
import { PubSub } from '@packages/internal/common';
|
|
8439
|
+
import { MeshComponent } from '@mappedin/mappedin-js/geojson/src/components/mesh';
|
|
8440
|
+
import { StyleComponent } from '@mappedin/mappedin-js/geojson/src/components/style';
|
|
6493
8441
|
import type { RendererState } from '@mappedin/mappedin-js/geojson/src/renderer';
|
|
8442
|
+
import { InteractionComponent } from '@mappedin/mappedin-js/geojson/src/components/interaction';
|
|
8443
|
+
import type { GeometryGroupStyleComponent } from '@mappedin/mappedin-js/geojson/src/components/geometry-group-style';
|
|
6494
8444
|
export class DrawSystem extends PubSub<{
|
|
6495
8445
|
'texture-loaded': void;
|
|
6496
8446
|
}> {
|
|
6497
8447
|
#private;
|
|
6498
8448
|
state: RendererState;
|
|
6499
8449
|
constructor(state: RendererState);
|
|
8450
|
+
processTextures(component: MeshComponent, styleComponent: StyleComponent | GeometryGroupStyleComponent, interactionComponent?: InteractionComponent): void;
|
|
6500
8451
|
update(): void;
|
|
6501
8452
|
destroy(): void;
|
|
6502
8453
|
}
|
|
@@ -6749,8 +8700,12 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/dom-resize/system' {
|
|
|
6749
8700
|
declare module '@mappedin/mappedin-js/geojson/src/systems/pan-bounds/system' {
|
|
6750
8701
|
import type { CameraSystem } from '@mappedin/mappedin-js/geojson/src/systems/camera';
|
|
6751
8702
|
import type { RendererState } from '@mappedin/mappedin-js/geojson/src/renderer';
|
|
6752
|
-
|
|
8703
|
+
import { PubSub } from '@packages/internal/common';
|
|
8704
|
+
export class PanBoundsSystem extends PubSub<{
|
|
8705
|
+
update: void;
|
|
8706
|
+
}> {
|
|
6753
8707
|
dirty: boolean;
|
|
8708
|
+
autoMinZoomLevel: boolean;
|
|
6754
8709
|
constructor(state: RendererState, cameraSystem: CameraSystem);
|
|
6755
8710
|
/**
|
|
6756
8711
|
* Recomputes the pan bounds based on the current 2D and 3D entities in the scene
|
|
@@ -6775,11 +8730,13 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/custom-geometry/system
|
|
|
6775
8730
|
declare module '@mappedin/mappedin-js/geojson/src/systems/outline-interpolation/system' {
|
|
6776
8731
|
import type { RendererState } from '@mappedin/mappedin-js/geojson/src/renderer';
|
|
6777
8732
|
export class OutlineInterpolationSystem {
|
|
8733
|
+
#private;
|
|
6778
8734
|
/**
|
|
6779
8735
|
* Set to true when we need to update the outline color of all entities, regardless of zoom level.
|
|
6780
8736
|
*/
|
|
6781
8737
|
dirty: boolean;
|
|
6782
|
-
geometries3DDirty: boolean;
|
|
8738
|
+
get geometries3DDirty(): boolean;
|
|
8739
|
+
set geometries3DDirty(value: boolean);
|
|
6783
8740
|
constructor(rendererState: RendererState);
|
|
6784
8741
|
/**
|
|
6785
8742
|
* Update the outline color of all entities with an outline component.
|
|
@@ -6790,6 +8747,21 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/outline-interpolation/
|
|
|
6790
8747
|
}
|
|
6791
8748
|
}
|
|
6792
8749
|
|
|
8750
|
+
declare module '@mappedin/mappedin-js/geojson/src/systems/image/system' {
|
|
8751
|
+
import type { RendererState } from '@mappedin/mappedin-js/geojson/src/renderer';
|
|
8752
|
+
import { type Texture } from 'three';
|
|
8753
|
+
import type { RendererCore } from '@mappedin/mappedin-js/geojson/src';
|
|
8754
|
+
import { PubSub } from '@packages/internal/common';
|
|
8755
|
+
export const DEFAULT_VERTICAL_OFFSET = 0.01;
|
|
8756
|
+
export class ImageSystem extends PubSub<{
|
|
8757
|
+
'image-loaded': void;
|
|
8758
|
+
}> {
|
|
8759
|
+
constructor(rendererState: RendererState, convertTo3DMapPosition: RendererCore['convertTo3DMapPosition']);
|
|
8760
|
+
imageLoadingCache: Map<string, Promise<Texture>>;
|
|
8761
|
+
update(cameraRotationRadians: number): void;
|
|
8762
|
+
}
|
|
8763
|
+
}
|
|
8764
|
+
|
|
6793
8765
|
declare module '@mappedin/mappedin-js/geojson/src/systems/geometry-in-focus/system' {
|
|
6794
8766
|
import { PubSub } from '@packages/internal/common';
|
|
6795
8767
|
import type { RendererState } from '@mappedin/mappedin-js/geojson/src/renderer';
|
|
@@ -6823,6 +8795,58 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/path' {
|
|
|
6823
8795
|
export { PathSystem } from '@mappedin/mappedin-js/geojson/src/systems/path/system';
|
|
6824
8796
|
}
|
|
6825
8797
|
|
|
8798
|
+
declare module '@mappedin/mappedin-js/geojson/src/systems/mesh-detachment/system' {
|
|
8799
|
+
import { type Geometry3DTypes, type RendererState } from '@mappedin/mappedin-js/geojson/src/renderer';
|
|
8800
|
+
/**
|
|
8801
|
+
* This system is responsible for updating the opacity of the mesh, which results in the mesh
|
|
8802
|
+
* being detached from the parent's optimized geometry group and rendered as a separate mesh.
|
|
8803
|
+
*/
|
|
8804
|
+
export class MeshDetachmentSystem {
|
|
8805
|
+
#private;
|
|
8806
|
+
rendererState: RendererState;
|
|
8807
|
+
dirty: boolean;
|
|
8808
|
+
constructor(rendererState: RendererState);
|
|
8809
|
+
updateOne(geometry: Geometry3DTypes | undefined): void;
|
|
8810
|
+
update(): void;
|
|
8811
|
+
}
|
|
8812
|
+
}
|
|
8813
|
+
|
|
8814
|
+
declare module '@mappedin/mappedin-js/geojson/src/systems/mesh-modification/system' {
|
|
8815
|
+
import { Geometry3D } from '@mappedin/mappedin-js/geojson/src/entities';
|
|
8816
|
+
import type { GeometryGroupObject3D } from '@mappedin/mappedin-js/geojson/src/entities/geometry-group';
|
|
8817
|
+
import type { GroupContainerObject3D } from '@mappedin/mappedin-js/geojson/src/entities/group-container';
|
|
8818
|
+
import type { RendererState } from '@mappedin/mappedin-js/geojson/src/renderer';
|
|
8819
|
+
/**
|
|
8820
|
+
* Any physical changes to geometry should go in here. This includes height changes, etc.
|
|
8821
|
+
* This is to ensure that physical changes apply before any other systems need to do their work,
|
|
8822
|
+
* such as the outline system.
|
|
8823
|
+
*
|
|
8824
|
+
* TODO: For now, this piggybacks of style.dirty, but we may want to create a flag indicating geometry dirty.
|
|
8825
|
+
*/
|
|
8826
|
+
export class MeshModificationSystem {
|
|
8827
|
+
#private;
|
|
8828
|
+
rendererState: RendererState;
|
|
8829
|
+
dirty: boolean;
|
|
8830
|
+
constructor(rendererState: RendererState);
|
|
8831
|
+
updateOne(entity: Geometry3D | GeometryGroupObject3D | GroupContainerObject3D | undefined): void;
|
|
8832
|
+
update(): void;
|
|
8833
|
+
cleanup(): void;
|
|
8834
|
+
}
|
|
8835
|
+
}
|
|
8836
|
+
|
|
8837
|
+
declare module '@mappedin/mappedin-js/geojson/src/systems/pre-render/system' {
|
|
8838
|
+
import type { RendererCore } from '@mappedin/mappedin-js/geojson/src';
|
|
8839
|
+
/**
|
|
8840
|
+
* This system runs any tasks at the very start of the render loop.
|
|
8841
|
+
* This is useful for ensuring that animations are synced with the render loop.
|
|
8842
|
+
*/
|
|
8843
|
+
export class PreRenderSystem {
|
|
8844
|
+
#private;
|
|
8845
|
+
constructor(core: RendererCore);
|
|
8846
|
+
update(): void;
|
|
8847
|
+
}
|
|
8848
|
+
}
|
|
8849
|
+
|
|
6826
8850
|
declare module '@mappedin/mappedin-js/packages/geojson-navigator/src' {
|
|
6827
8851
|
export { Navigator } from '@mappedin/mappedin-js/packages/geojson-navigator/src/navigator';
|
|
6828
8852
|
export type { SimplifyDirectionsOptions } from '@mappedin/mappedin-js/packages/geojson-navigator/src/navigator/navigator';
|
|
@@ -6889,10 +8913,13 @@ declare module '@mappedin/mappedin-js/geojson/src/utils/fp' {
|
|
|
6889
8913
|
export function noop(): void;
|
|
6890
8914
|
}
|
|
6891
8915
|
|
|
6892
|
-
declare module '@mappedin/mappedin-js/geojson/src/
|
|
6893
|
-
export
|
|
6894
|
-
|
|
6895
|
-
|
|
8916
|
+
declare module '@mappedin/mappedin-js/geojson/src/utils/tranform-request' {
|
|
8917
|
+
export const transformRequest: (headers: {
|
|
8918
|
+
"x-mappedin-tiles-key": string;
|
|
8919
|
+
}) => (url: string) => {
|
|
8920
|
+
url: string;
|
|
8921
|
+
headers: {};
|
|
8922
|
+
};
|
|
6896
8923
|
}
|
|
6897
8924
|
|
|
6898
8925
|
declare module '@mappedin/mappedin-js/geojson/src/systems/exporter/exporter' {
|
|
@@ -6925,18 +8952,43 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/exporter/exporter' {
|
|
|
6925
8952
|
}
|
|
6926
8953
|
}
|
|
6927
8954
|
|
|
8955
|
+
declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/floor-object' {
|
|
8956
|
+
import type { ParsedMVF } from '@mappedin/mvf';
|
|
8957
|
+
import type { RendererCore } from '@mappedin/core-sdk';
|
|
8958
|
+
import type { AggregatedStyleMap } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/utils';
|
|
8959
|
+
import type { TShow3DMapOptions } from '@mappedin/mappedin-js/mappedin-js/src';
|
|
8960
|
+
export class FloorObject {
|
|
8961
|
+
id: string;
|
|
8962
|
+
name: string;
|
|
8963
|
+
elevation: number;
|
|
8964
|
+
containerId: string;
|
|
8965
|
+
layers: Map<string, string>;
|
|
8966
|
+
constructor(parentId: string, floor: ParsedMVF['map.geojson'][0], renderer: RendererCore, options: TShow3DMapOptions, mvf: ParsedMVF, styleMap?: AggregatedStyleMap);
|
|
8967
|
+
load: () => this;
|
|
8968
|
+
}
|
|
8969
|
+
}
|
|
8970
|
+
|
|
6928
8971
|
declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/utils' {
|
|
6929
|
-
import { Coordinate } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
8972
|
+
import { Coordinate, type MapObject, type Space } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
6930
8973
|
import type { Position, EntranceCollection, LineString, Polygon, Point, SpaceProperties, ObstructionProperties, StyleCollection, PolygonStyle, LineStringStyle, Feature, ObstructionCollection, PointStyle } from '@mappedin/mvf';
|
|
6931
|
-
import type {
|
|
8974
|
+
import type { WithPolygonImage } from '@packages/internal/mvf-utils';
|
|
8975
|
+
import type { FeatureCollection, MultiLineString } from 'geojson';
|
|
6932
8976
|
import type { LabelState, MarkerState, GeometryState, CollisionRankingTier, LineStyle, PaintStyle } from '@mappedin/core-sdk';
|
|
6933
|
-
import type
|
|
6934
|
-
import type { TMarkerState } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
8977
|
+
import { type TGeometryState, type TLabelState, type TDirectionInstructionAction, type TShow3DMapOptions, type Label, type Marker, type Model } from '@mappedin/mappedin-js/mappedin-js/src';
|
|
8978
|
+
import type { TDoorsState, TMarkerState, TWallsState } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
8979
|
+
import type { Image } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
|
|
8980
|
+
import type { GeoJsonApi } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/api';
|
|
8981
|
+
import type TWEEN from '@tweenjs/tween.js';
|
|
6935
8982
|
export function convertCoordinateToPosition(coord: Coordinate): Position;
|
|
6936
8983
|
export function convertPositionToCoordinate(coord: Position): Coordinate;
|
|
6937
|
-
export const cutEntrancesFromLineStrings: (lineStrings: ObstructionCollection["features"], entranceCollection: EntranceCollection["features"]) =>
|
|
8984
|
+
export const cutEntrancesFromLineStrings: (lineStrings: ObstructionCollection["features"], entranceCollection: EntranceCollection["features"]) => {
|
|
8985
|
+
entrances: FeatureCollection<LineString, any>;
|
|
8986
|
+
walls: Feature<MultiLineString, any>;
|
|
8987
|
+
};
|
|
6938
8988
|
export function translateLabelStateToGeojsonCore(state: Partial<TLabelState>, currentState: Partial<LabelState>): Partial<LabelState>;
|
|
6939
8989
|
export function translateMarkerStateToGeojsonCore(state: Partial<TMarkerState>, currentState: Partial<MarkerState>): Partial<MarkerState>;
|
|
8990
|
+
export function translateDoorsStateToGeojsonCore(state: Partial<TDoorsState>, currentState: Partial<GeometryState>): Partial<GeometryState>;
|
|
8991
|
+
export function translateWallsStateToGeojsonCore(state: Partial<TWallsState>, currentState: Partial<GeometryState>): Partial<GeometryState>;
|
|
6940
8992
|
export function translateSpaceStateToGeojsonCore(state: Partial<TGeometryState>, currentState: Partial<GeometryState>): Partial<GeometryState>;
|
|
6941
8993
|
export function differenceBetweenAngles(a: number, b: number): number;
|
|
6942
8994
|
export function getRelativeBearing(relativeBearingAngle: number, threshold: number): TDirectionInstructionAction['bearing'];
|
|
@@ -6951,12 +9003,16 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/utils' {
|
|
|
6951
9003
|
export type WithId<T> = T & {
|
|
6952
9004
|
id?: string;
|
|
6953
9005
|
};
|
|
6954
|
-
export function groupGeometryByStyle(features: Feature<LineString | Polygon | Point, SpaceProperties | ObstructionProperties>[], styleMap: AggregatedStyleMap): Map<WithId<PolygonStyle> | WithId<LineStringStyle> | WithId<PointStyle>, Feature<Point | LineString | Polygon,
|
|
9006
|
+
export function groupGeometryByStyle(features: Feature<LineString | Polygon | Point, SpaceProperties | ObstructionProperties>[], styleMap: AggregatedStyleMap): Map<WithId<PolygonStyle> | WithId<LineStringStyle> | WithId<PointStyle>, Feature<Point | LineString | Polygon, WithPolygonImage<SpaceProperties> | WithPolygonImage<ObstructionProperties>>[]>;
|
|
6955
9007
|
export function translateToCoreStyle(style: PolygonStyle | LineStringStyle, userOptions?: TShow3DMapOptions): PaintStyle | LineStyle;
|
|
9008
|
+
export const getTargetID: <T extends Space | MapObject | Label | Marker | Model | Image | string>(target: T, api: GeoJsonApi) => string | undefined;
|
|
9009
|
+
export function tweenToPromise(tween: TWEEN.Tween): Promise<void>;
|
|
6956
9010
|
}
|
|
6957
9011
|
|
|
6958
9012
|
declare module '@mappedin/mappedin-js/geojson/src/components/style' {
|
|
6959
|
-
import type {
|
|
9013
|
+
import type { LineStyle } from '@mappedin/mappedin-js/geojson/src/renderer';
|
|
9014
|
+
export const DEFAULT_COLOR = "#ffffff";
|
|
9015
|
+
export const DEFAULT_HEIGHT = 0.1;
|
|
6960
9016
|
type Style = {
|
|
6961
9017
|
color: string;
|
|
6962
9018
|
width: number;
|
|
@@ -6964,12 +9020,15 @@ declare module '@mappedin/mappedin-js/geojson/src/components/style' {
|
|
|
6964
9020
|
visible: boolean;
|
|
6965
9021
|
height: number;
|
|
6966
9022
|
altitude: number;
|
|
6967
|
-
join:
|
|
6968
|
-
cap:
|
|
9023
|
+
join: LineStyle['join'];
|
|
9024
|
+
cap: LineStyle['cap'];
|
|
6969
9025
|
topColor?: string;
|
|
6970
9026
|
texture?: string;
|
|
6971
9027
|
topTexture?: string;
|
|
6972
9028
|
outline: boolean;
|
|
9029
|
+
showImage: boolean;
|
|
9030
|
+
flipImageToFaceCamera: boolean;
|
|
9031
|
+
url?: string;
|
|
6973
9032
|
};
|
|
6974
9033
|
export class StyleComponent implements Style {
|
|
6975
9034
|
initialColor: string;
|
|
@@ -6983,15 +9042,53 @@ declare module '@mappedin/mappedin-js/geojson/src/components/style' {
|
|
|
6983
9042
|
opacity: number;
|
|
6984
9043
|
width: number;
|
|
6985
9044
|
height: number;
|
|
9045
|
+
initialHeight: number;
|
|
6986
9046
|
altitude: number;
|
|
6987
|
-
join:
|
|
6988
|
-
cap:
|
|
9047
|
+
join: LineStyle['join'];
|
|
9048
|
+
cap: LineStyle['cap'];
|
|
6989
9049
|
outline: boolean;
|
|
9050
|
+
showImage: boolean;
|
|
9051
|
+
flipImageToFaceCamera: boolean;
|
|
9052
|
+
url?: string;
|
|
6990
9053
|
constructor(style?: Partial<Style>);
|
|
6991
9054
|
}
|
|
6992
9055
|
export {};
|
|
6993
9056
|
}
|
|
6994
9057
|
|
|
9058
|
+
declare module '@mappedin/mappedin-js/geojson/src/entities/utils' {
|
|
9059
|
+
import type { CollisionRankingTier, GeometryState, LabelState, PathState, RendererCore } from '@mappedin/mappedin-js/geojson/src';
|
|
9060
|
+
import { type MarkerState } from '@mappedin/mappedin-js/geojson/src/components/marker';
|
|
9061
|
+
import type { Geometry3DTypes, Position, RendererState } from '@mappedin/mappedin-js/geojson/src/renderer';
|
|
9062
|
+
import { GeometryGroupObject3D, type GeometryGroupState } from '@mappedin/mappedin-js/geojson/src/entities/geometry-group';
|
|
9063
|
+
import { GroupContainerObject3D } from '@mappedin/mappedin-js/geojson/src/entities/group-container';
|
|
9064
|
+
import { Geometry3D } from '@mappedin/mappedin-js/geojson/src/entities/geometry3d';
|
|
9065
|
+
import { Geometry2D } from '@mappedin/mappedin-js/geojson/src/entities/geometry2d';
|
|
9066
|
+
import type { StyleComponent } from '@mappedin/mappedin-js/geojson/src/components/style';
|
|
9067
|
+
import type { GeometryGroupStyleComponent } from '@mappedin/mappedin-js/geojson/src/components/geometry-group-style';
|
|
9068
|
+
export function updateInteractivity(entity: Geometry3DTypes | Geometry2D, update: boolean | undefined, state: RendererState): boolean;
|
|
9069
|
+
export function updateGroupColor(entity: GeometryGroupObject3D, state: RendererState, update: Partial<Pick<GeometryGroupState, 'color' | 'topColor'>>): boolean | undefined;
|
|
9070
|
+
export function updateGroupShading(entity: GeometryGroupObject3D, update?: GeometryGroupState['shading']): boolean;
|
|
9071
|
+
export function updateImageProps(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: Partial<GeometryState>): void;
|
|
9072
|
+
export function updateHeight(entity: Geometry3D, update?: number): boolean;
|
|
9073
|
+
export function updateColor(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: Partial<GeometryState>): void;
|
|
9074
|
+
export function updatePosition(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: Position | undefined, convertTo3DMapPosition: RendererCore['convertTo3DMapPosition']): void;
|
|
9075
|
+
export function updateParent(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: GroupContainerObject3D | undefined): boolean;
|
|
9076
|
+
export function updateEnabled(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: boolean | undefined): void;
|
|
9077
|
+
export function updatePath(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: Partial<PathState> | undefined): void;
|
|
9078
|
+
export function updateMarker(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: Partial<MarkerState> | undefined, state: RendererState): boolean;
|
|
9079
|
+
export function updateRank(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: CollisionRankingTier | undefined): boolean;
|
|
9080
|
+
export function updateLabel(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: Partial<LabelState> | undefined, state: RendererState): void;
|
|
9081
|
+
export function updateHoverColor(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: string): void;
|
|
9082
|
+
export function updateFlipImageToFaceCamera(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: boolean): void;
|
|
9083
|
+
export function updateVisibility(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: boolean): boolean;
|
|
9084
|
+
export function updateOpacity(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, state: RendererState, update?: number): void;
|
|
9085
|
+
export function updateGroupTexture(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: Pick<GeometryGroupStyleComponent, 'texture' | 'topTexture'>): void;
|
|
9086
|
+
export function updateIndividualGeometryTexture(entity: Geometry3D, update?: Pick<StyleComponent, 'texture' | 'topTexture'>): boolean;
|
|
9087
|
+
export function updateIndividualGeometryOpacity(entity: Geometry3D, update?: number): boolean;
|
|
9088
|
+
export function updateAltitude(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: number): boolean;
|
|
9089
|
+
export function updateOutline(entity: Geometry3DTypes, update?: boolean): boolean;
|
|
9090
|
+
}
|
|
9091
|
+
|
|
6995
9092
|
declare module '@mappedin/mappedin-js/geojson/src/systems/collisions/collider-processor' {
|
|
6996
9093
|
import { Rectangle } from '@packages/internal/quad-tree';
|
|
6997
9094
|
export type TSerializedCollider = {
|
|
@@ -7007,7 +9104,7 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/collisions/collider-pr
|
|
|
7007
9104
|
shouldCollideWithScreenEdges?: boolean;
|
|
7008
9105
|
};
|
|
7009
9106
|
export type TSerializedColliderResponse = [number, boolean, Rectangle?];
|
|
7010
|
-
export function processColliders(colliders: TSerializedCollider[], totalWidth: any, totalHeight: any, watermarkWidth: any, watermarkHeight: any, msgId?: string): {
|
|
9107
|
+
export function processColliders(colliders: TSerializedCollider[], totalWidth: any, totalHeight: any, watermarkWidth: any, watermarkHeight: any, watermarkPosition: any, msgId?: string): {
|
|
7011
9108
|
msgId: string;
|
|
7012
9109
|
colliders: TSerializedColliderResponse[];
|
|
7013
9110
|
debug: {
|
|
@@ -7022,16 +9119,16 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/collisions/collider-pr
|
|
|
7022
9119
|
declare module '@mappedin/mappedin-js/geojson/src/systems/interactions/system' {
|
|
7023
9120
|
import type { PerspectiveCamera, Vector3, Object3D, Mesh } from 'three';
|
|
7024
9121
|
import { Raycaster } from 'three';
|
|
7025
|
-
import type { Geometry2D } from '@mappedin/mappedin-js/geojson/src/entities/
|
|
9122
|
+
import type { Geometry2D } from '@mappedin/mappedin-js/geojson/src/entities/geometry2d';
|
|
7026
9123
|
import { QuadTree } from '@packages/internal/quad-tree';
|
|
7027
|
-
import type { Geometry3D } from '@mappedin/mappedin-js/geojson/src/entities/
|
|
9124
|
+
import type { Geometry3D } from '@mappedin/mappedin-js/geojson/src/entities/geometry3d';
|
|
7028
9125
|
import { PubSub } from '@mappedin/mappedin-js/packages/common/pubsub';
|
|
7029
9126
|
import type { EntityMesh } from '@mappedin/mappedin-js/geojson/src/types';
|
|
7030
9127
|
import { TapsController } from '@mappedin/mappedin-js/geojson/src/systems/interactions/tap-controller';
|
|
7031
9128
|
import type { RendererState } from '@mappedin/mappedin-js/geojson/src/renderer';
|
|
7032
9129
|
import 'style.scss';
|
|
7033
9130
|
import type { EntityBatchedMesh } from '@mappedin/mappedin-js/geojson/src/components/mesh';
|
|
7034
|
-
import type { GroupContainerObject3D } from '@mappedin/mappedin-js/geojson/src/entities/
|
|
9131
|
+
import type { GroupContainerObject3D } from '@mappedin/mappedin-js/geojson/src/entities/group-container';
|
|
7035
9132
|
type InteractionPayload = {
|
|
7036
9133
|
entity2D?: Geometry2D;
|
|
7037
9134
|
entity3D?: Geometry3D;
|
|
@@ -7057,8 +9154,8 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/interactions/system' {
|
|
|
7057
9154
|
} | undefined;
|
|
7058
9155
|
};
|
|
7059
9156
|
export type InteractionRequiredCoreStateProps = {
|
|
7060
|
-
|
|
7061
|
-
|
|
9157
|
+
geometry2DIdsInScene: Set<Geometry2D['id']>;
|
|
9158
|
+
geometry3DIdsInScene: Set<Geometry3D['id']>;
|
|
7062
9159
|
};
|
|
7063
9160
|
/**
|
|
7064
9161
|
* TODO: touch support
|
|
@@ -7100,6 +9197,7 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/interactions/system' {
|
|
|
7100
9197
|
* Get the current cursor type determined by the interaction.
|
|
7101
9198
|
*/
|
|
7102
9199
|
getCursor(): CursorTypes;
|
|
9200
|
+
resize: () => void;
|
|
7103
9201
|
}
|
|
7104
9202
|
export {};
|
|
7105
9203
|
}
|
|
@@ -7130,9 +9228,9 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/camera/system' {
|
|
|
7130
9228
|
};
|
|
7131
9229
|
'pedestal-change': {
|
|
7132
9230
|
pedestal: number;
|
|
7133
|
-
scrolledToTop
|
|
7134
|
-
scrolledToBottom
|
|
7135
|
-
scrollPercent
|
|
9231
|
+
scrolledToTop?: boolean;
|
|
9232
|
+
scrolledToBottom?: boolean;
|
|
9233
|
+
scrollPercent?: number;
|
|
7136
9234
|
};
|
|
7137
9235
|
};
|
|
7138
9236
|
type CameraEvents = {
|
|
@@ -7240,6 +9338,10 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/camera/system' {
|
|
|
7240
9338
|
* @default Infinity
|
|
7241
9339
|
*/
|
|
7242
9340
|
setMaxZoomLevel(zoomLevel: number): void;
|
|
9341
|
+
/**
|
|
9342
|
+
* The default minimum zoom level of the camera in mercator zoom levels.
|
|
9343
|
+
*/
|
|
9344
|
+
get defaultMinZoomLevel(): number;
|
|
7243
9345
|
/**
|
|
7244
9346
|
* How far the camera can zoom out away from the ground.
|
|
7245
9347
|
*
|
|
@@ -7301,6 +9403,10 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/camera/system' {
|
|
|
7301
9403
|
* 0% == camera is as far down as it will go
|
|
7302
9404
|
*/
|
|
7303
9405
|
get scrollPercent(): number;
|
|
9406
|
+
/**
|
|
9407
|
+
* Returns current field of view(FOV) in degrees
|
|
9408
|
+
*/
|
|
9409
|
+
get fov(): number;
|
|
7304
9410
|
/**
|
|
7305
9411
|
* Returns whether the maps are scrolled to bottom
|
|
7306
9412
|
*/
|
|
@@ -7706,6 +9812,11 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/camera/constants' {
|
|
|
7706
9812
|
export const BLOCK_MERCATOR_ZOOM_LEVEL = 17;
|
|
7707
9813
|
export const ROOM_MERCATOR_ZOOM_LEVEL = 20;
|
|
7708
9814
|
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"];
|
|
9815
|
+
export const DEFAULT_ZOOM_LEVEL = 18;
|
|
9816
|
+
export const DEFAULT_MIN_ZOOM_LEVEL = 12;
|
|
9817
|
+
export const DEFAULT_MAX_ZOOM_LEVEL = 22;
|
|
9818
|
+
export const DEFAULT_PITCH = 0;
|
|
9819
|
+
export const DEFAULT_BEARING = 0;
|
|
7709
9820
|
}
|
|
7710
9821
|
|
|
7711
9822
|
declare module '@mappedin/mappedin-js/packages/outdoor-context-v4/ui/map' {
|
|
@@ -15570,8 +17681,10 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/path/system' {
|
|
|
15570
17681
|
export class PathSystem extends PubSub<{
|
|
15571
17682
|
'animate:path': undefined;
|
|
15572
17683
|
}> {
|
|
17684
|
+
altitudeDirty: boolean;
|
|
15573
17685
|
convertTo3DMapPosition: RendererCore['convertTo3DMapPosition'];
|
|
15574
|
-
|
|
17686
|
+
getParentContainer: RendererCore['getParentContainer'];
|
|
17687
|
+
constructor(rendererState: RendererState, convertTo3DMapPosition: RendererCore['convertTo3DMapPosition'], getParentContainer: RendererCore['getParentContainer']);
|
|
15575
17688
|
update(minZoomAltitude: number, maxZoomAltitude: number, currentZoomAltitude: number): void;
|
|
15576
17689
|
}
|
|
15577
17690
|
}
|
|
@@ -15584,6 +17697,7 @@ declare module '@mappedin/mappedin-js/packages/geojson-navigator/src/navigator/n
|
|
|
15584
17697
|
import type { Position, Feature, MultiPolygon, Polygon } from 'geojson';
|
|
15585
17698
|
import type { NodeCollection, NodeFeature } from '@mappedin/mappedin-js/packages/geojson-navigator/src/types/node';
|
|
15586
17699
|
import type { ObstructionCollection } from '@mappedin/mappedin-js/packages/geojson-navigator/src/types/obstruction';
|
|
17700
|
+
import type { SpaceCollection } from '@mappedin/mappedin-js/packages/geojson-navigator/src/types/space';
|
|
15587
17701
|
import type { DirectionsCollection } from '@mappedin/mappedin-js/packages/geojson-navigator/src/types/directions';
|
|
15588
17702
|
import type { CoordinateFeature } from '@mappedin/mappedin-js/packages/geojson-navigator/src/types/coordinate';
|
|
15589
17703
|
/**
|
|
@@ -15621,17 +17735,19 @@ declare module '@mappedin/mappedin-js/packages/geojson-navigator/src/navigator/n
|
|
|
15621
17735
|
*
|
|
15622
17736
|
* @param {NodeCollection} nodes - Collection of nodes for the navigation graph.
|
|
15623
17737
|
* @param {ObstructionCollection} [obstructions] - Optional collection of obstructions that could block paths.
|
|
17738
|
+
* @param {SpaceCollection} [spaces] - Optional collection of spaces that could block paths.
|
|
15624
17739
|
* @param {string} [groupBy] - Optional property name to group nodes and paths for differentiated processing.
|
|
15625
17740
|
*/
|
|
15626
|
-
constructor({ nodes,
|
|
17741
|
+
constructor({ nodes, geojsonCollection, groupBy, }: {
|
|
15627
17742
|
nodes: NodeCollection;
|
|
15628
|
-
|
|
17743
|
+
geojsonCollection?: ObstructionCollection | SpaceCollection;
|
|
15629
17744
|
groupBy?: string;
|
|
15630
17745
|
});
|
|
15631
17746
|
findNearestNode: (feature: CoordinateFeature) => NodeFeature | null;
|
|
15632
17747
|
/**
|
|
15633
17748
|
* Calculates and returns a set of directions from origin nodes to destination nodes, including detailed properties.
|
|
15634
17749
|
*
|
|
17750
|
+
* @param {DirectionsZone[]} zones - special zones for navigation operations.
|
|
15635
17751
|
* @param {string[]} originIds - IDs of origin nodes.
|
|
15636
17752
|
* @param {string[]} destinationNodeIds - IDs of destination nodes.
|
|
15637
17753
|
* @param {string[]} [excludedNodeIds] - IDs of nodes to exclude from pathfinding.
|
|
@@ -15712,32 +17828,15 @@ declare module '@mappedin/mappedin-js/packages/geojson-navigator/src/types/node'
|
|
|
15712
17828
|
}
|
|
15713
17829
|
|
|
15714
17830
|
declare module '@mappedin/mappedin-js/packages/geojson-navigator/src/types/obstruction' {
|
|
15715
|
-
import type { LineString,
|
|
15716
|
-
|
|
15717
|
-
* Properties specific to obstruction features in a geospatial context.
|
|
15718
|
-
* Includes a mandatory unique identifier and allows for any additional custom properties.
|
|
15719
|
-
*/
|
|
15720
|
-
export type ObstructionProperties = {
|
|
15721
|
-
/**
|
|
15722
|
-
* Unique identifier for the obstruction.
|
|
15723
|
-
*/
|
|
15724
|
-
id: string;
|
|
15725
|
-
/**
|
|
15726
|
-
* Additional property specific to the navigator based on the 'groupBy' option.
|
|
15727
|
-
* */
|
|
15728
|
-
[name: string]: any;
|
|
15729
|
-
};
|
|
15730
|
-
/**
|
|
15731
|
-
* A GeoJSON feature collection that groups multiple obstruction features, which can be line strings or polygons.
|
|
15732
|
-
* This is typically used to represent physical barriers or areas where access is restricted.
|
|
15733
|
-
*/
|
|
15734
|
-
export type ObstructionCollection = FeatureCollection<LineString | Polygon, ObstructionProperties>;
|
|
17831
|
+
import type { LineString, Polygon, Feature } from 'geojson';
|
|
17832
|
+
import type { ObstructionProperties, ObstructionCollection } from '@mappedin/mvf';
|
|
15735
17833
|
/**
|
|
15736
|
-
|
|
15737
|
-
|
|
15738
|
-
|
|
15739
|
-
|
|
17834
|
+
* A GeoJSON feature representing an obstruction, which can be either a line string or a polygon.
|
|
17835
|
+
* This type is crucial for mapping and managing areas that impede or restrict movement, such as barriers or restricted zones.
|
|
17836
|
+
*
|
|
17837
|
+
*/
|
|
15740
17838
|
export type ObstructionFeature = Feature<LineString | Polygon, ObstructionProperties>;
|
|
17839
|
+
export { ObstructionCollection, ObstructionProperties };
|
|
15741
17840
|
}
|
|
15742
17841
|
|
|
15743
17842
|
declare module '@mappedin/mappedin-js/packages/geojson-navigator/src/types/directions' {
|
|
@@ -15793,32 +17892,6 @@ declare module '@mappedin/mappedin-js/packages/geojson-navigator/src/types/coord
|
|
|
15793
17892
|
export type CoordinateFeature = Feature<Point, CoordinateProperties>;
|
|
15794
17893
|
}
|
|
15795
17894
|
|
|
15796
|
-
declare module '@mappedin/mappedin-js/geojson/src/entities/utils' {
|
|
15797
|
-
import type { CollisionRankingTier, GeometryState, LabelState, PathState, RendererCore } from '@mappedin/mappedin-js/geojson/src';
|
|
15798
|
-
import type { MarkerState } from '@mappedin/mappedin-js/geojson/src/components/marker';
|
|
15799
|
-
import type { Entity3DTypes, Position, RendererState } from '@mappedin/mappedin-js/geojson/src/renderer';
|
|
15800
|
-
import { GeometryGroupObject3D, type GeometryGroupState } from '@mappedin/mappedin-js/geojson/src/entities/entity-group';
|
|
15801
|
-
import { GroupContainerObject3D } from '@mappedin/mappedin-js/geojson/src/entities/entity-group-container';
|
|
15802
|
-
import { Geometry3D } from '@mappedin/mappedin-js/geojson/src/entities/three-d';
|
|
15803
|
-
import { Geometry2D } from '@mappedin/mappedin-js/geojson/src/entities/two-d';
|
|
15804
|
-
export function updateInteractivity(entity: Entity3DTypes | Geometry2D, update: boolean | undefined, state: RendererState): boolean;
|
|
15805
|
-
export function updateGroupColor(entity: GeometryGroupObject3D, state: RendererState, update?: Partial<GeometryGroupState>): boolean;
|
|
15806
|
-
export function updateGroupShading(entity: GeometryGroupObject3D, update?: GeometryGroupState['shading']): boolean;
|
|
15807
|
-
export function updateColor(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: Partial<GeometryState>): void;
|
|
15808
|
-
export function updatePosition(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: Position | undefined, convertTo3DMapPosition: RendererCore['convertTo3DMapPosition']): void;
|
|
15809
|
-
export function updateParent(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: GroupContainerObject3D | undefined): boolean;
|
|
15810
|
-
export function updateEnabled(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: boolean | undefined): void;
|
|
15811
|
-
export function updatePath(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: Partial<PathState> | undefined): void;
|
|
15812
|
-
export function updateMarker(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: Partial<MarkerState> | undefined): boolean;
|
|
15813
|
-
export function updateRank(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: CollisionRankingTier | undefined): boolean;
|
|
15814
|
-
export function updateLabel(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: Partial<LabelState> | undefined): void;
|
|
15815
|
-
export function updateHoverColor(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: string): void;
|
|
15816
|
-
export function updateVisibility(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: boolean): boolean;
|
|
15817
|
-
export function updateOpacity(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, state: RendererState, update?: number): void;
|
|
15818
|
-
export function updateAltitude(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: number): void;
|
|
15819
|
-
export function updateOutline(entity: Entity3DTypes, update?: boolean): boolean;
|
|
15820
|
-
}
|
|
15821
|
-
|
|
15822
17895
|
declare module '@mappedin/mappedin-js/geojson/src/systems/interactions/tap-controller' {
|
|
15823
17896
|
export enum TapType {
|
|
15824
17897
|
onefinger = 0,
|
|
@@ -19398,6 +21471,18 @@ declare module '@mappedin/mappedin-js/packages/outdoor-context-v4/ui/handler/tap
|
|
|
19398
21471
|
}
|
|
19399
21472
|
}
|
|
19400
21473
|
|
|
21474
|
+
declare module '@mappedin/mappedin-js/packages/geojson-navigator/src/types/space' {
|
|
21475
|
+
import type { LineString, Polygon, Point, Feature } from 'geojson';
|
|
21476
|
+
import type { SpaceProperties, SpaceCollection } from '@mappedin/mvf';
|
|
21477
|
+
/**
|
|
21478
|
+
* A GeoJSON feature representing a space, which can be either a line string or a polygon.
|
|
21479
|
+
* This type is crucial for mapping and managing areas that impede or restrict movement, such as barriers or restricted zones.
|
|
21480
|
+
*
|
|
21481
|
+
*/
|
|
21482
|
+
export type SpaceFeature = Feature<LineString | Polygon | Point, SpaceProperties>;
|
|
21483
|
+
export { SpaceCollection, SpaceProperties };
|
|
21484
|
+
}
|
|
21485
|
+
|
|
19401
21486
|
declare module '@mappedin/mappedin-js/geojson/src/systems/camera/helpers/input-set' {
|
|
19402
21487
|
import type { Vector2 } from 'three';
|
|
19403
21488
|
class InputSet {
|