@mappedin/react-native-sdk 4.1.0-beta.1 → 4.1.1
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/README.md +81 -20
- package/dist/browser-CXOLC6DS.js +1 -0
- package/dist/chunk-Z32VUTVD.js +1 -0
- package/dist/index.d.ts +1714 -786
- package/dist/index.js +1287 -1203
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -5,9 +5,8 @@
|
|
|
5
5
|
// ../react-native-webview/lib/WebViewTypes
|
|
6
6
|
// ../three
|
|
7
7
|
// ../@tweenjs/tween.js
|
|
8
|
-
// ../
|
|
9
|
-
// ../
|
|
10
|
-
// ../three/src/math/Vector3
|
|
8
|
+
// ../minisearch
|
|
9
|
+
// ../geojson
|
|
11
10
|
|
|
12
11
|
declare module '@mappedin/react-native-sdk' {
|
|
13
12
|
export { MiMapView } from '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapView';
|
|
@@ -16,19 +15,21 @@ declare module '@mappedin/react-native-sdk' {
|
|
|
16
15
|
export type { TMiMiniMapProps } from '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMiniMap';
|
|
17
16
|
export type { MapViewStore } from '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapView.store';
|
|
18
17
|
export { getVenue, getVenueBundle } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
19
|
-
export type { TGetVenueOptions, TGetVenueBundleOptions } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
18
|
+
export type { TGetVenueOptions, TGetVenueBundleOptions, TMappedinOfflineSearchResult, TMappedinOfflineSearchSuggestions, TMappedinOfflineSearchOptions, TMappedinOfflineSearchAllOptions, TMappedinOfflineAllSearchMatch } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
20
19
|
export { STATE } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
21
|
-
export { COLLISION_RANKING_TIERS, MARKER_ANCHOR, E_BLUEDOT_STATE, MappedinCoordinate, labelThemes, E_BLUEDOT_MARKER_STATE, E_BLUEDOT_STATE_REASON } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
20
|
+
export { COLLISION_RANKING_TIERS, MARKER_ANCHOR, E_BLUEDOT_STATE, MappedinCoordinate, labelThemes, E_BLUEDOT_MARKER_STATE, E_BLUEDOT_STATE_REASON, MAP_RENDER_MODE } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
22
21
|
export type { TSerializableJourneyOptions, TMiMapViewOptions } from '@mappedin/react-native-sdk/wrappers/common';
|
|
23
22
|
import type { TEnableBlueDotOptions as TEnableBlueDotOptionsBase, TLabelAllLocationCommonOptions as TLabelAllLocationCommonOptionsBase } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
24
|
-
export type { TJourneyOptions, TGeolocationObject, TPathOptions, TFlatLabelPolygonOptions, TFloatingLabelPolygonOptions, TLabelAllLocationFlatLabelOptions, TLabelAllLocationFloatingLabelOptions, TFlatLabelAppearance, TFloatingLabelAppearance, TFocusOnCameraOptions, TFocusOnTargets, TCommonLabelOptions, TCameraAnimationOptions, TFocusOnOptions, TAnimatePositionOptions } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
23
|
+
export type { TJourneyOptions, TGeolocationObject, TPathOptions, TFlatLabelPolygonOptions, TFloatingLabelPolygonOptions, TLabelAllLocationFlatLabelOptions, TLabelAllLocationFloatingLabelOptions, TFlatLabelAppearance, TFloatingLabelAppearance, TFocusOnCameraOptions, TFocusOnTargets, TCommonLabelOptions, TCameraAnimationOptions, TFocusOnOptions, TAnimatePositionOptions, TBlueDotPositionUpdate, TBlueDotStateChange } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
25
24
|
export type { TEnableBlueDotOptionsBase, TLabelAllLocationCommonOptionsBase };
|
|
26
25
|
export type TEnableBlueDotOptions = Omit<TEnableBlueDotOptionsBase, 'positionUpdater' | 'geolocationSource'>;
|
|
27
26
|
export type TLabelAllLocationCommonOptions = Omit<TLabelAllLocationCommonOptionsBase, 'sortFunction' | 'translationMap'>;
|
|
27
|
+
export type { TMapViewRNOptions } from '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapView.store.types';
|
|
28
|
+
export type { TMiMapViewVenueOptions } from '@mappedin/react-native-sdk/wrappers/common';
|
|
28
29
|
export type { IDirectionsResult, MappedinDirections, TMappedinDirective } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
29
|
-
export type { TShowVenueOptions } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
30
|
+
export type { TShowVenueOptions, E_GET_DIRECTIONS_MESSAGES } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
30
31
|
export { ERROR, ERROR_MESSAGES } from '@mappedin/react-native-sdk/wrappers/common/errors';
|
|
31
|
-
export {
|
|
32
|
+
export { BEARING_TYPE, ACTION_TYPE, MappedinLocation, Mappedin, MappedinPolygon, MappedinNode, MappedinCategory, MappedinMap, MappedinEvent, MappedinMapGroup, MappedinVenue, MappedinVortex, MappedinRankings, MappedinDestinationSet } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
32
33
|
}
|
|
33
34
|
|
|
34
35
|
declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapView' {
|
|
@@ -38,6 +39,7 @@ declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapVi
|
|
|
38
39
|
import { MapViewStore } from '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapView.store';
|
|
39
40
|
import type { TBlueDotPositionUpdate, TBlueDotStateChange, MappedinPolygon, MappedinMap, Mappedin } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
40
41
|
import { ERROR, ERROR_MESSAGES } from '@mappedin/react-native-sdk/wrappers/common/errors';
|
|
42
|
+
import { TMapViewRNOptions } from '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapView.store.types';
|
|
41
43
|
export type TMiMapViewProps = {
|
|
42
44
|
/**
|
|
43
45
|
* The MapViewStore instance will be returned here
|
|
@@ -46,18 +48,12 @@ declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapVi
|
|
|
46
48
|
/**
|
|
47
49
|
* Options to initialze MiMapView with
|
|
48
50
|
*/
|
|
49
|
-
options: TMiMapViewOptions &
|
|
50
|
-
/**
|
|
51
|
-
* Use a bundle for venue loading and cache it for faster subsequent loading
|
|
52
|
-
* @beta
|
|
53
|
-
*/
|
|
54
|
-
useBundle?: boolean;
|
|
55
|
-
};
|
|
51
|
+
options: TMiMapViewOptions & TMapViewRNOptions;
|
|
56
52
|
/**
|
|
57
53
|
* Venue Data to render inside the MapView. This is returned by {@link getVenue} or {@link getVenueBundle}
|
|
58
54
|
*/
|
|
59
55
|
venueData?: Mappedin;
|
|
60
|
-
style?:
|
|
56
|
+
style?: React.CSSProperties;
|
|
61
57
|
/**
|
|
62
58
|
* Called when an interactive polygon is clicked
|
|
63
59
|
*/
|
|
@@ -120,7 +116,7 @@ declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapVi
|
|
|
120
116
|
/**
|
|
121
117
|
* @category Component
|
|
122
118
|
*/
|
|
123
|
-
export const MiMapView: React.MemoExoticComponent<React.ForwardRefExoticComponent<Pick<TMiMapViewProps, "
|
|
119
|
+
export const MiMapView: React.MemoExoticComponent<React.ForwardRefExoticComponent<Pick<TMiMapViewProps, "onFirstMapLoaded" | "style" | "options" | "onDataLoaded" | "venueData" | "onPolygonClicked" | "onBlueDotStateChanged" | "onBlueDotPositionUpdated" | "onNothingClicked" | "onMapChanged" | "onStateChanged" | "onVenueLoadError"> & React.RefAttributes<MapViewStore>>>;
|
|
124
120
|
}
|
|
125
121
|
|
|
126
122
|
declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMiniMap' {
|
|
@@ -171,8 +167,8 @@ declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMiniM
|
|
|
171
167
|
declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapView.store' {
|
|
172
168
|
import { RNMappedinController } from '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MappedinController';
|
|
173
169
|
import { TReactNativeFlatLabelAllLocations, TReactNativeFlatLabelAllLocationsLegacy, TReactNativeFlatLabelPolygonOptions, TReactNativeFloatingLabelPolygonOptions, TSerializableJourneyOptions } from '@mappedin/react-native-sdk/wrappers/common';
|
|
174
|
-
import type { TGeolocationObject, TEnableBlueDotOptions, TPathOptions, TFocusOnOptions, TAnimatePositionOptions, TLabelAllLocationFloatingLabelOptions } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
175
|
-
import { STATE, Mappedin, MappedinNode, MappedinMap, MappedinLocation, MappedinDirections, MappedinPolygon, TGetVenueOptions, TShowVenueOptions, MappedinCoordinate, MappedinDestinationSet, TCreateMarkerOptions, E_BLUEDOT_STATE } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
170
|
+
import type { TGeolocationObject, TEnableBlueDotOptions, TPathOptions, TFocusOnOptions, TAnimatePositionOptions, TLabelAllLocationFloatingLabelOptions, TMappedinOfflineSearchOptions } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
171
|
+
import { STATE, Mappedin, MappedinNode, MappedinMap, MappedinLocation, MappedinDirections, MappedinCategory, MappedinPolygon, TGetVenueOptions, TShowVenueOptions, MappedinCoordinate, MappedinDestinationSet, TCreateMarkerOptions, E_BLUEDOT_STATE, TMappedinOfflineSearchResult, TMappedinOfflineSearchSuggestions } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
176
172
|
import { TFocusOptionsLegacy } from '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapView.store.types';
|
|
177
173
|
export class MapViewStore extends RNMappedinController {
|
|
178
174
|
#private;
|
|
@@ -193,12 +189,18 @@ declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapVi
|
|
|
193
189
|
/**
|
|
194
190
|
* @hidden
|
|
195
191
|
*/
|
|
196
|
-
loadVenue(options: TGetVenueOptions, showVenueOptions: TShowVenueOptions
|
|
192
|
+
loadVenue(options: TGetVenueOptions, showVenueOptions: TShowVenueOptions & {
|
|
193
|
+
prepareSearch?: boolean;
|
|
194
|
+
searchOptions?: TMappedinOfflineSearchOptions;
|
|
195
|
+
}): Promise<unknown>;
|
|
197
196
|
/**
|
|
198
197
|
*
|
|
199
198
|
* @hidden
|
|
200
199
|
*/
|
|
201
|
-
showVenue(venueData: Mappedin, showVenueOptions: TShowVenueOptions
|
|
200
|
+
showVenue(venueData: Mappedin, showVenueOptions: TShowVenueOptions & {
|
|
201
|
+
prepareSearch?: boolean;
|
|
202
|
+
searchOptions?: TMappedinOfflineSearchOptions;
|
|
203
|
+
}): Promise<unknown>;
|
|
202
204
|
/**
|
|
203
205
|
* Clear any cached venue bundles that were downloaded as part of LOAD_VENUE with useBundle: true
|
|
204
206
|
* This ensure that the next time keys are passed in, we get a fresh bundle
|
|
@@ -387,6 +389,32 @@ declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapVi
|
|
|
387
389
|
* Draw a path based on a list of Nodes
|
|
388
390
|
*/
|
|
389
391
|
drawPath(pathNodesOrNodeIds: (MappedinNode | MappedinNode['id'])[], pathOptions: TPathOptions): Promise<unknown>;
|
|
392
|
+
OfflineSearch: {
|
|
393
|
+
/**
|
|
394
|
+
*
|
|
395
|
+
* @param query String to search for
|
|
396
|
+
*/
|
|
397
|
+
search: (query: string) => Promise<TMappedinOfflineSearchResult[]>;
|
|
398
|
+
/**
|
|
399
|
+
*
|
|
400
|
+
* @param query Get a list of suggestions for query
|
|
401
|
+
*/
|
|
402
|
+
suggest: (query: string) => Promise<TMappedinOfflineSearchSuggestions>;
|
|
403
|
+
addQuery: (params: {
|
|
404
|
+
/**
|
|
405
|
+
* Query string to match for this object
|
|
406
|
+
*/
|
|
407
|
+
query: string;
|
|
408
|
+
/**
|
|
409
|
+
* Object that is returned when query matches
|
|
410
|
+
*/
|
|
411
|
+
object: MappedinLocation | MappedinCategory | Record<string, unknown>;
|
|
412
|
+
/**
|
|
413
|
+
* Optional weight to multiply by the score
|
|
414
|
+
*/
|
|
415
|
+
weight?: number;
|
|
416
|
+
}) => Promise<unknown>;
|
|
417
|
+
};
|
|
390
418
|
/**
|
|
391
419
|
* @hidden
|
|
392
420
|
*/
|
|
@@ -403,8 +431,8 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/index.rn' {
|
|
|
403
431
|
export type { TBlueDotPositionUpdate, TBlueDotStateChange, TJourneyOptions, TMapViewOptions, TCreateMarkerOptions, TGeolocationObject, TPathOptions, TCommonLabelOptions, TFlatLabelOptions, TFlatLabelPolygonOptions, TFloatingLabelPolygonOptions, TLabelAllLocationCommonOptions, TLabelAllLocationFloatingLabelOptions, TLabelAllLocationFlatLabelOptions, TEnableBlueDotOptions, TFloatingLabelAppearance, TFlatLabelAppearance } from '@mappedin/react-native-sdk/core/packages/renderer/MapView.types';
|
|
404
432
|
export { BEARING_TYPE, ACTION_TYPE } from '@mappedin/react-native-sdk/core/packages/navigator';
|
|
405
433
|
export type { IDirectionsResult, E_MESSAGES as E_GET_DIRECTIONS_MESSAGES } from '@mappedin/react-native-sdk/core/packages/navigator';
|
|
406
|
-
export type { TGetVenueBundleOptions, TGetVenueOptions, TMappedinDirective, TShowVenueOptions } from '@mappedin/react-native-sdk/core/packages/get-venue';
|
|
407
|
-
export { MappedinLocation, MappedinPolygon, MappedinNode, MappedinCategory, MappedinMap, MappedinEvent, MappedinMapGroup, MappedinVenue, MappedinVortex, MappedinDirections, MappedinNavigatable, MappedinCoordinate, MappedinRankings } from '@mappedin/react-native-sdk/core/packages/get-venue';
|
|
434
|
+
export type { TGetVenueBundleOptions, TGetVenueOptions, TMappedinDirective, TShowVenueOptions, TMappedinOfflineSearchOptions, TMappedinOfflineSearchResult, TMappedinOfflineSearchSuggestions, TMappedinOfflineSearchAllOptions, TMappedinOfflineAllSearchMatch } from '@mappedin/react-native-sdk/core/packages/get-venue';
|
|
435
|
+
export { MappedinLocation, MappedinPolygon, MappedinNode, MappedinCategory, MappedinMap, MappedinEvent, MappedinMapGroup, MappedinVenue, MappedinVortex, MappedinDirections, MappedinNavigatable, MappedinCoordinate, MappedinRankings, MAP_RENDER_MODE, OfflineSearch, MappedinCollectionType } from '@mappedin/react-native-sdk/core/packages/get-venue';
|
|
408
436
|
export type { TSafeAreaInsets, TFocusOnTargets, TFocusOnCameraOptions, TAnimatePositionOptions, TCameraAnimationOptions, TFocusOnOptions } from '@mappedin/react-native-sdk/core/packages/renderer/Camera';
|
|
409
437
|
export { SAFE_AREA_INSET_TYPE, ANIMATION_TWEENS, CAMERA_EASING_MODE } from '@mappedin/react-native-sdk/core/packages/renderer/Camera';
|
|
410
438
|
}
|
|
@@ -416,6 +444,53 @@ declare module '@mappedin/react-native-sdk/wrappers/common' {
|
|
|
416
444
|
export { PubSub } from '@mappedin/react-native-sdk/wrappers/common/pub-sub';
|
|
417
445
|
}
|
|
418
446
|
|
|
447
|
+
declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapView.store.types' {
|
|
448
|
+
import { MappedinNode, MappedinPolygon } from '@mappedin/react-native-sdk/wrappers/react-native-sdk/src';
|
|
449
|
+
import { MAP_RENDER_MODE } from '@mappedin/react-native-sdk/core/packages/get-venue';
|
|
450
|
+
import type { MappedinCategory, MappedinLocation, TMappedinOfflineSearchOptions, TMappedinOfflineSearchResult } from '@mappedin/react-native-sdk/core/packages/get-venue';
|
|
451
|
+
import { TFocusOptionsLegacy } from '@mappedin/react-native-sdk/core/packages/renderer/Core.interface';
|
|
452
|
+
export type TPolygonColorOptions = {
|
|
453
|
+
color: string;
|
|
454
|
+
opacity?: number;
|
|
455
|
+
textColor?: string;
|
|
456
|
+
};
|
|
457
|
+
export type { TFocusOptionsLegacy };
|
|
458
|
+
export type TFocusOptionsLegacySerializable = Omit<TFocusOptionsLegacy, 'nodes' | 'polygons'> & {
|
|
459
|
+
nodes: (MappedinNode | MappedinNode['id'])[];
|
|
460
|
+
polygons: (MappedinPolygon['id'] | MappedinPolygon)[];
|
|
461
|
+
};
|
|
462
|
+
export type TMapViewRNOptions = {
|
|
463
|
+
/**
|
|
464
|
+
* Use a bundle for venue loading and cache it for faster subsequent loading
|
|
465
|
+
* @beta
|
|
466
|
+
*/
|
|
467
|
+
useBundle?: boolean;
|
|
468
|
+
loadOptions?: {
|
|
469
|
+
/**
|
|
470
|
+
* By default, the SDK will merge all geometries by material to reduce the number of draw calls to the GPU
|
|
471
|
+
* To rever back to using a single geometry for every polygon, pass `MAP_RENDER_MODE.MULTI_GEOMETRY`
|
|
472
|
+
*/
|
|
473
|
+
mapRenderStrategy?: MAP_RENDER_MODE;
|
|
474
|
+
};
|
|
475
|
+
/**
|
|
476
|
+
* Generate a search index for venue when rendering map, instead of deferring to when the first search occurs.
|
|
477
|
+
* @default false
|
|
478
|
+
*/
|
|
479
|
+
prepareSearch?: boolean;
|
|
480
|
+
/**
|
|
481
|
+
* Customize search weights
|
|
482
|
+
*/
|
|
483
|
+
searchOptions?: TMappedinOfflineSearchOptions;
|
|
484
|
+
};
|
|
485
|
+
export type TMappedinOfflineSearchBridgeResult = Omit<TMappedinOfflineSearchResult, 'object'> & {
|
|
486
|
+
object: {
|
|
487
|
+
type: 'MappedinLocation' | 'MappedinCategory' | 'Custom';
|
|
488
|
+
id: string;
|
|
489
|
+
};
|
|
490
|
+
};
|
|
491
|
+
export type TMappedinCustomSearchObject = MappedinLocation | MappedinCategory | Record<string, unknown>;
|
|
492
|
+
}
|
|
493
|
+
|
|
419
494
|
declare module '@mappedin/react-native-sdk/wrappers/common/errors' {
|
|
420
495
|
export enum ERROR {
|
|
421
496
|
LOAD_VENUE_FAILED = "LOAD_VENUE_FAILED",
|
|
@@ -437,19 +512,21 @@ declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src' {
|
|
|
437
512
|
export type { TMiMiniMapProps } from '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMiniMap';
|
|
438
513
|
export type { MapViewStore } from '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapView.store';
|
|
439
514
|
export { getVenue, getVenueBundle } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
440
|
-
export type { TGetVenueOptions, TGetVenueBundleOptions } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
515
|
+
export type { TGetVenueOptions, TGetVenueBundleOptions, TMappedinOfflineSearchResult, TMappedinOfflineSearchSuggestions, TMappedinOfflineSearchOptions, TMappedinOfflineSearchAllOptions, TMappedinOfflineAllSearchMatch } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
441
516
|
export { STATE } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
442
|
-
export { COLLISION_RANKING_TIERS, MARKER_ANCHOR, E_BLUEDOT_STATE, MappedinCoordinate, labelThemes, E_BLUEDOT_MARKER_STATE, E_BLUEDOT_STATE_REASON } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
517
|
+
export { COLLISION_RANKING_TIERS, MARKER_ANCHOR, E_BLUEDOT_STATE, MappedinCoordinate, labelThemes, E_BLUEDOT_MARKER_STATE, E_BLUEDOT_STATE_REASON, MAP_RENDER_MODE } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
443
518
|
export type { TSerializableJourneyOptions, TMiMapViewOptions } from '@mappedin/react-native-sdk/wrappers/common';
|
|
444
519
|
import type { TEnableBlueDotOptions as TEnableBlueDotOptionsBase, TLabelAllLocationCommonOptions as TLabelAllLocationCommonOptionsBase } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
445
|
-
export type { TJourneyOptions, TGeolocationObject, TPathOptions, TFlatLabelPolygonOptions, TFloatingLabelPolygonOptions, TLabelAllLocationFlatLabelOptions, TLabelAllLocationFloatingLabelOptions, TFlatLabelAppearance, TFloatingLabelAppearance, TFocusOnCameraOptions, TFocusOnTargets, TCommonLabelOptions, TCameraAnimationOptions, TFocusOnOptions, TAnimatePositionOptions } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
520
|
+
export type { TJourneyOptions, TGeolocationObject, TPathOptions, TFlatLabelPolygonOptions, TFloatingLabelPolygonOptions, TLabelAllLocationFlatLabelOptions, TLabelAllLocationFloatingLabelOptions, TFlatLabelAppearance, TFloatingLabelAppearance, TFocusOnCameraOptions, TFocusOnTargets, TCommonLabelOptions, TCameraAnimationOptions, TFocusOnOptions, TAnimatePositionOptions, TBlueDotPositionUpdate, TBlueDotStateChange } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
446
521
|
export type { TEnableBlueDotOptionsBase, TLabelAllLocationCommonOptionsBase };
|
|
447
522
|
export type TEnableBlueDotOptions = Omit<TEnableBlueDotOptionsBase, 'positionUpdater' | 'geolocationSource'>;
|
|
448
523
|
export type TLabelAllLocationCommonOptions = Omit<TLabelAllLocationCommonOptionsBase, 'sortFunction' | 'translationMap'>;
|
|
524
|
+
export type { TMapViewRNOptions } from '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapView.store.types';
|
|
525
|
+
export type { TMiMapViewVenueOptions } from '@mappedin/react-native-sdk/wrappers/common';
|
|
449
526
|
export type { IDirectionsResult, MappedinDirections, TMappedinDirective } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
450
|
-
export type { TShowVenueOptions } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
527
|
+
export type { TShowVenueOptions, E_GET_DIRECTIONS_MESSAGES } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
451
528
|
export { ERROR, ERROR_MESSAGES } from '@mappedin/react-native-sdk/wrappers/common/errors';
|
|
452
|
-
export {
|
|
529
|
+
export { BEARING_TYPE, ACTION_TYPE, MappedinLocation, Mappedin, MappedinPolygon, MappedinNode, MappedinCategory, MappedinMap, MappedinEvent, MappedinMapGroup, MappedinVenue, MappedinVortex, MappedinRankings, MappedinDestinationSet } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
453
530
|
}
|
|
454
531
|
|
|
455
532
|
declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MappedinController' {
|
|
@@ -496,26 +573,11 @@ declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/Mappedi
|
|
|
496
573
|
}
|
|
497
574
|
}
|
|
498
575
|
|
|
499
|
-
declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapView.store.types' {
|
|
500
|
-
import { MappedinNode, MappedinPolygon } from '@mappedin/react-native-sdk/wrappers/react-native-sdk/src';
|
|
501
|
-
import { TFocusOptionsLegacy } from '@mappedin/react-native-sdk/core/packages/renderer/Core.interface';
|
|
502
|
-
export type TPolygonColorOptions = {
|
|
503
|
-
color: string;
|
|
504
|
-
opacity?: number;
|
|
505
|
-
textColor?: string;
|
|
506
|
-
};
|
|
507
|
-
export type { TFocusOptionsLegacy };
|
|
508
|
-
export type TFocusOptionsLegacySerializable = Omit<TFocusOptionsLegacy, 'nodes' | 'polygons'> & {
|
|
509
|
-
nodes: (MappedinNode | MappedinNode['id'])[];
|
|
510
|
-
polygons: (MappedinPolygon['id'] | MappedinPolygon)[];
|
|
511
|
-
};
|
|
512
|
-
}
|
|
513
|
-
|
|
514
576
|
declare module '@mappedin/react-native-sdk/core/packages/get-venue' {
|
|
515
577
|
import type { TGetVenueOptions } from '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.types';
|
|
516
578
|
import { Mappedin } from '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin';
|
|
517
579
|
/** Classes */
|
|
518
|
-
export { Mappedin } from '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin';
|
|
580
|
+
export { Mappedin, MappedinCollectionType } from '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin';
|
|
519
581
|
export { MappedinLocation } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinLocation';
|
|
520
582
|
export { MappedinPolygon } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinPolygon';
|
|
521
583
|
export { MappedinNode } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinNode';
|
|
@@ -535,9 +597,12 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue' {
|
|
|
535
597
|
export type { IDirectionsResult } from '@mappedin/react-native-sdk/core/packages/navigator';
|
|
536
598
|
export type { TOperationHoursMap } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinLocation';
|
|
537
599
|
export type { TDirectionToOptions } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinNavigatable';
|
|
600
|
+
export { OfflineSearch } from '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.OfflineSearch';
|
|
601
|
+
export type { TMappedinOfflineSearchOptions, TMappedinOfflineSearchResult, TMappedinOfflineSearchSuggestions, TMappedinOfflineAllSearchMatch, TMappedinOfflineSearchAllOptions } from '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.OfflineSearch';
|
|
538
602
|
/** API data types */
|
|
539
603
|
export type { TLocationType, TNode, TImage, TLogo, TGalleryImage, TPhone, TSocial, TColor, TVortex, TPicture, TOpeningHours, TSiblingGroup, TState, TCategory, TEvent, TGeoReference, TMap, TMapGroup, TBuilding, TLocation, TPolygon, TPolygonRanking, TVenue, TMappedinAPI } from '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.API.types';
|
|
540
604
|
export type { TGetVenueOptions } from '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.types';
|
|
605
|
+
import { MAP_RENDER_MODE } from '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.types';
|
|
541
606
|
export type TShowVenueOptions = {
|
|
542
607
|
/**
|
|
543
608
|
* Sets the initial background color of the map, including while loading.
|
|
@@ -549,14 +614,24 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue' {
|
|
|
549
614
|
*/
|
|
550
615
|
backgroundAlpha?: number;
|
|
551
616
|
/**
|
|
552
|
-
* Whether or not to display
|
|
617
|
+
* Whether or not to display default styled Floating Labels initially
|
|
553
618
|
*/
|
|
554
619
|
labelAllLocationsOnInit?: boolean;
|
|
555
620
|
/**
|
|
556
621
|
* The id of the first map to show on map load
|
|
557
622
|
*/
|
|
558
623
|
firstMapId?: string;
|
|
624
|
+
loadOptions?: {
|
|
625
|
+
/**
|
|
626
|
+
* Set the map render strategy in order to optimize FPS
|
|
627
|
+
*
|
|
628
|
+
* @beta
|
|
629
|
+
*/
|
|
630
|
+
mapRenderStrategy?: MAP_RENDER_MODE;
|
|
631
|
+
};
|
|
559
632
|
};
|
|
633
|
+
export { MAP_RENDER_MODE };
|
|
634
|
+
export function getVenueMVF(userOptions: TGetVenueBundleOptions): Promise<Mappedin>;
|
|
560
635
|
/**
|
|
561
636
|
* Get Venue Data for a Mappedin Venue
|
|
562
637
|
*/
|
|
@@ -593,6 +668,23 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue' {
|
|
|
593
668
|
url: any;
|
|
594
669
|
updated_at: any;
|
|
595
670
|
}): Promise<Mappedin>;
|
|
671
|
+
/**
|
|
672
|
+
* Get the bundle URL and updated_at time.
|
|
673
|
+
* @internal
|
|
674
|
+
*/
|
|
675
|
+
export function getVenueMVFURL(userOptions: TGetVenueBundleOptions): Promise<{
|
|
676
|
+
url: string;
|
|
677
|
+
updated_at: string;
|
|
678
|
+
}>;
|
|
679
|
+
/**
|
|
680
|
+
* @internal
|
|
681
|
+
*/
|
|
682
|
+
export function downloadVenueBundleMVF(options: TGetVenueBundleOptions,
|
|
683
|
+
/**
|
|
684
|
+
* use Web Workers to speed up MVF parsing. This is likely only benefitial for larger venues,
|
|
685
|
+
* and may be determental to smaller ones, hence it is off by default
|
|
686
|
+
*/
|
|
687
|
+
useWorker?: boolean): Promise<unknown>;
|
|
596
688
|
}
|
|
597
689
|
|
|
598
690
|
declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.enums' {
|
|
@@ -625,30 +717,30 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.enums'
|
|
|
625
717
|
CUSTOM_GEOLOCATION_PROVIDER_ERROR = 3
|
|
626
718
|
}
|
|
627
719
|
/**
|
|
628
|
-
What we currently know about the user's position
|
|
720
|
+
What we currently know about the user's position and how confident we are.
|
|
629
721
|
*/
|
|
630
722
|
export enum E_BLUEDOT_STATE {
|
|
631
723
|
/**
|
|
632
|
-
*
|
|
724
|
+
* Not listening to Blue Dot position updates
|
|
633
725
|
*/
|
|
634
726
|
NOT_LISTENING = 0,
|
|
635
727
|
/**
|
|
636
|
-
*
|
|
728
|
+
* Listenign for listening to position updates but have not yet received a position
|
|
637
729
|
*/
|
|
638
730
|
LISTENING = 1,
|
|
639
731
|
/**
|
|
640
|
-
*
|
|
732
|
+
* Received relevant positions and user is in the venue
|
|
641
733
|
*/
|
|
642
734
|
HAS_POSITION = 2,
|
|
643
735
|
/**
|
|
644
736
|
* We've received a relevant position, and we have enough information to determine
|
|
645
737
|
* which floor the user is on - either because we received a floor level, the venue
|
|
646
|
-
* only has one floor
|
|
738
|
+
* only has one floor or we're allowing implicit floor level detection.
|
|
647
739
|
*/
|
|
648
740
|
HAS_INDOOR_POSITION = 3,
|
|
649
741
|
/**
|
|
650
742
|
* We are uncertain about the user's position, likely because we haven't received
|
|
651
|
-
* a relevant position in a while
|
|
743
|
+
* a relevant position in a while. Blue Dot will be rendered grey to indicate uncertainty of the actual position.
|
|
652
744
|
*/
|
|
653
745
|
LOCATION_UNCERTAIN = 4
|
|
654
746
|
}
|
|
@@ -657,26 +749,29 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.enums'
|
|
|
657
749
|
*/
|
|
658
750
|
export enum E_BLUEDOT_MARKER_STATE {
|
|
659
751
|
/**
|
|
660
|
-
*
|
|
752
|
+
* Blue Dot is hidden
|
|
661
753
|
*/
|
|
662
754
|
HIDDEN = 0,
|
|
663
755
|
/**
|
|
664
|
-
*
|
|
756
|
+
* Blue Dot is transparent indicating the position is on a different floor
|
|
665
757
|
*/
|
|
666
758
|
GHOST = 1,
|
|
667
759
|
/**
|
|
668
|
-
*
|
|
760
|
+
* Blue Dot is visible and opaque indicating accurate positioning on the current floor
|
|
669
761
|
*/
|
|
670
762
|
NORMAL = 2,
|
|
671
763
|
/**
|
|
672
|
-
*
|
|
764
|
+
* Blue Dot is grayed out due to uncertainty about user's location, most likely due to not receiving recent position updates.
|
|
673
765
|
*/
|
|
674
766
|
UNCERTAIN = 3
|
|
675
767
|
}
|
|
676
768
|
export enum STATE {
|
|
769
|
+
/**
|
|
770
|
+
* The map is in exploration mode where the user controls the camera position.
|
|
771
|
+
*/
|
|
677
772
|
EXPLORE = "explore",
|
|
678
773
|
/**
|
|
679
|
-
*
|
|
774
|
+
* Follows user's current location by keeping the camera centered on the Blue Dot.
|
|
680
775
|
*/
|
|
681
776
|
FOLLOW = "follow"
|
|
682
777
|
/**
|
|
@@ -692,19 +787,19 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.enums'
|
|
|
692
787
|
}
|
|
693
788
|
export enum E_SDK_EVENT {
|
|
694
789
|
/**
|
|
695
|
-
* Emitted when the map is clicked
|
|
790
|
+
* Emitted when the map is clicked or tapped on a touch screen.
|
|
696
791
|
*/
|
|
697
792
|
CLICK = "CLICK",
|
|
698
793
|
/**
|
|
699
|
-
* Emitted when the {@link STATE | SDK state} changes
|
|
794
|
+
* Emitted when the {@link STATE | SDK state} changes.
|
|
700
795
|
*/
|
|
701
796
|
STATE_CHANGE = "STATE_CHANGE",
|
|
702
797
|
/**
|
|
703
|
-
* Emitted when
|
|
798
|
+
* Emitted when an interactive {@link MappedinPolygon | polygon} is clicked
|
|
704
799
|
*/
|
|
705
800
|
POLYGON_CLICKED = "POLYGON_CLICKED",
|
|
706
801
|
/**
|
|
707
|
-
* Emitted when nothing is clicked
|
|
802
|
+
* Emitted when nothing (outside of interactive polygons) is clicked
|
|
708
803
|
*/
|
|
709
804
|
NOTHING_CLICKED = "NOTHING_CLICKED",
|
|
710
805
|
/**
|
|
@@ -725,6 +820,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.enums'
|
|
|
725
820
|
ROTATION_CHANGED = "ROTATION_CHANGED",
|
|
726
821
|
TILT_CHANGED = "TILT_CHANGED"
|
|
727
822
|
}
|
|
823
|
+
export { MAP_RENDER_MODE } from '@mappedin/react-native-sdk/core/packages/get-venue';
|
|
728
824
|
}
|
|
729
825
|
|
|
730
826
|
declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.types' {
|
|
@@ -734,7 +830,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.types'
|
|
|
734
830
|
import { TBlueDotPositionUpdate, TBlueDotStateChange } from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.BlueDot/Mappedin.BlueDot.core';
|
|
735
831
|
import { TOOLTIP_ANCHOR } from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.SmartTooltip';
|
|
736
832
|
import type { Euler, Object3D, Vector3 } from 'three';
|
|
737
|
-
import { GEOLOCATION_STATUS, COLLISION_RANKING_TIERS, STATE, MARKER_ANCHOR, E_SDK_EVENT, E_BLUEDOT_EVENT, E_CAMERA_EVENT } from '@mappedin/react-native-sdk/core/packages/renderer/MapView.enums';
|
|
833
|
+
import { GEOLOCATION_STATUS, COLLISION_RANKING_TIERS, STATE, MARKER_ANCHOR, E_SDK_EVENT, E_BLUEDOT_EVENT, E_CAMERA_EVENT, MAP_RENDER_MODE } from '@mappedin/react-native-sdk/core/packages/renderer/MapView.enums';
|
|
738
834
|
export type { TEnableBlueDotOptions, TFloatingLabelAppearance };
|
|
739
835
|
/**
|
|
740
836
|
An extension of the GeolocationPosition type.
|
|
@@ -1004,19 +1100,27 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.types'
|
|
|
1004
1100
|
scale?: Vector3;
|
|
1005
1101
|
};
|
|
1006
1102
|
export type TMapViewOptions = {
|
|
1103
|
+
/**
|
|
1104
|
+
* Background color of the map in hex number or string e.g. `0x2e2e2e` or `#2e2e2e`.
|
|
1105
|
+
*/
|
|
1007
1106
|
backgroundColor?: number | string;
|
|
1008
1107
|
/**
|
|
1009
1108
|
* The opacity of the initial background color.
|
|
1010
1109
|
*/
|
|
1011
1110
|
backgroundAlpha?: number;
|
|
1012
1111
|
/**
|
|
1013
|
-
* Controls whether antialiasing is on. Defaults to true
|
|
1112
|
+
* Controls whether antialiasing is on. Defaults to `true`, as long as devicePixelRatio is 1. This is very expensive on high resolution screens.
|
|
1014
1113
|
* @default true
|
|
1015
1114
|
*/
|
|
1016
1115
|
antialias?: boolean;
|
|
1017
1116
|
disableHover?: boolean;
|
|
1018
1117
|
disableZoomOnMapSizeChange?: boolean;
|
|
1019
1118
|
loadOptions?: {
|
|
1119
|
+
/**
|
|
1120
|
+
* By default, the SDK will merge all geometries by material to reduce the number of draw calls to the GPU
|
|
1121
|
+
* To rever back to using a single geometry for every polygon, pass `MAP_RENDER_MODE.MULTI_GEOMETRY`
|
|
1122
|
+
*/
|
|
1123
|
+
mapRenderStrategy?: MAP_RENDER_MODE;
|
|
1020
1124
|
async?: boolean;
|
|
1021
1125
|
zoomOverrides?: {
|
|
1022
1126
|
zoomMultiplier?: number;
|
|
@@ -1025,7 +1129,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.types'
|
|
|
1025
1129
|
};
|
|
1026
1130
|
};
|
|
1027
1131
|
/**
|
|
1028
|
-
*
|
|
1132
|
+
* First map to be rendered
|
|
1029
1133
|
*/
|
|
1030
1134
|
firstMap?: MappedinMap | string;
|
|
1031
1135
|
/**
|
|
@@ -1044,6 +1148,9 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.types'
|
|
|
1044
1148
|
onWebGLRendererError?: () => void;
|
|
1045
1149
|
};
|
|
1046
1150
|
export type TMapViewOptionsLegacy = {
|
|
1151
|
+
/**
|
|
1152
|
+
* Background color of the map in hex number or string e.g. `0x2e2e2e` or `#2e2e2e`.
|
|
1153
|
+
*/
|
|
1047
1154
|
backgroundColor?: number | string;
|
|
1048
1155
|
/**
|
|
1049
1156
|
* The opacity of the initial background color.
|
|
@@ -1077,7 +1184,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.types'
|
|
|
1077
1184
|
};
|
|
1078
1185
|
};
|
|
1079
1186
|
/**
|
|
1080
|
-
*
|
|
1187
|
+
* First map to be rendered
|
|
1081
1188
|
*/
|
|
1082
1189
|
firstMap?: MappedinMap | string;
|
|
1083
1190
|
/**
|
|
@@ -1147,21 +1254,21 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.types'
|
|
|
1147
1254
|
*/
|
|
1148
1255
|
height?: number;
|
|
1149
1256
|
/**
|
|
1150
|
-
* The amount of space to leave before starting the text
|
|
1257
|
+
* The amount of space to leave before starting the text in pixels
|
|
1151
1258
|
* @default 5
|
|
1152
1259
|
*/
|
|
1153
1260
|
margin?: number;
|
|
1154
1261
|
/**
|
|
1155
|
-
*
|
|
1262
|
+
* Optional color in hexadecimal string e.g. `#2e2e2e`.
|
|
1156
1263
|
*/
|
|
1157
1264
|
color?: string;
|
|
1158
1265
|
/**
|
|
1159
|
-
*
|
|
1266
|
+
* Size of the font in pixels.
|
|
1160
1267
|
* @default 12
|
|
1161
1268
|
*/
|
|
1162
1269
|
fontSize?: number;
|
|
1163
1270
|
/**
|
|
1164
|
-
* A CSS style string font.
|
|
1271
|
+
* A CSS style string font, e.g. "sans-serif". You can specify your own font via @font-face rule with a font family, and then include that here.
|
|
1165
1272
|
*/
|
|
1166
1273
|
font?: string;
|
|
1167
1274
|
/**
|
|
@@ -1170,7 +1277,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.types'
|
|
|
1170
1277
|
*/
|
|
1171
1278
|
scaleMin?: number;
|
|
1172
1279
|
/**
|
|
1173
|
-
* How much to decrement the scale each time it doesn't fit, so we don't end up with too many different font sizes on screen at once. If
|
|
1280
|
+
* How much to decrement the scale each time it doesn't fit, so we don't end up with too many different font sizes on screen at once. If you are only labeling a few {@link MappedinPolygon}s rather than everything,
|
|
1174
1281
|
* you can set this and and scaleMin to 0.1 to fit everything except really long names perfectly.
|
|
1175
1282
|
* @default 0.25
|
|
1176
1283
|
*/
|
|
@@ -1180,7 +1287,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.types'
|
|
|
1180
1287
|
scale?: number;
|
|
1181
1288
|
flatLabels?: false | undefined;
|
|
1182
1289
|
/**
|
|
1183
|
-
*
|
|
1290
|
+
* Ranking tier to determine how likely a {@link FloatingLabel} will appear
|
|
1184
1291
|
*/
|
|
1185
1292
|
rank?: COLLISION_RANKING_TIERS | number;
|
|
1186
1293
|
/**
|
|
@@ -1215,7 +1322,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.types'
|
|
|
1215
1322
|
[key in string]: string;
|
|
1216
1323
|
};
|
|
1217
1324
|
/**
|
|
1218
|
-
* Display label despite the
|
|
1325
|
+
* Display label despite the {@link MappedinPolygon} having an image on it. Often these images represent store logos.
|
|
1219
1326
|
* @default false
|
|
1220
1327
|
*/
|
|
1221
1328
|
createDespiteImage?: boolean;
|
|
@@ -1250,7 +1357,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.types'
|
|
|
1250
1357
|
longitude: number;
|
|
1251
1358
|
};
|
|
1252
1359
|
/**
|
|
1253
|
-
* A list of
|
|
1360
|
+
* A list of {@link MappedinPolygon}s corresponding to every polygon that a user's
|
|
1254
1361
|
* click passed through. These are in order of first to last intersected.
|
|
1255
1362
|
* Will be empty if no interactive polygons were clicked.
|
|
1256
1363
|
*/
|
|
@@ -1340,6 +1447,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/Camera' {
|
|
|
1340
1447
|
zoom?: number;
|
|
1341
1448
|
tilt?: number;
|
|
1342
1449
|
rotation?: number;
|
|
1450
|
+
position?: MappedinCoordinate | MappedinNode;
|
|
1343
1451
|
};
|
|
1344
1452
|
export const ANIMATION_TWEENS: {
|
|
1345
1453
|
linear: any;
|
|
@@ -1354,6 +1462,9 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/Camera' {
|
|
|
1354
1462
|
EASE_IN_OUT = "ease-in-out"
|
|
1355
1463
|
}
|
|
1356
1464
|
export type TCameraAnimationOptions = {
|
|
1465
|
+
/**
|
|
1466
|
+
* Animation duration in milliseconds
|
|
1467
|
+
*/
|
|
1357
1468
|
duration?: number;
|
|
1358
1469
|
easing?: CAMERA_EASING_MODE;
|
|
1359
1470
|
};
|
|
@@ -1390,29 +1501,66 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/Camera' {
|
|
|
1390
1501
|
*/
|
|
1391
1502
|
get zoom(): number;
|
|
1392
1503
|
/**
|
|
1393
|
-
* Current Camera rotation (in radians)
|
|
1504
|
+
* Current Camera rotation (in radians) from north
|
|
1394
1505
|
*/
|
|
1395
1506
|
get rotation(): number;
|
|
1396
1507
|
/**
|
|
1397
|
-
* Current
|
|
1508
|
+
* Current camera tilt angle (in radians), relative to a top-down view.
|
|
1509
|
+
*
|
|
1510
|
+
* ex: 0 means the camera is facing top-down, π/2 means the camera is
|
|
1511
|
+
* facing directly from the side.
|
|
1398
1512
|
*/
|
|
1399
1513
|
get tilt(): number;
|
|
1400
1514
|
/**
|
|
1401
|
-
*
|
|
1515
|
+
* Get the minimum distance (in meters) the camera is allowed to get to the ground.
|
|
1402
1516
|
*/
|
|
1403
1517
|
get minZoom(): number;
|
|
1404
1518
|
/**
|
|
1405
|
-
*
|
|
1519
|
+
* Set the minimum distance (in meters) the camera is allowed to get to the ground.
|
|
1406
1520
|
*/
|
|
1407
1521
|
set minZoom(meters: number);
|
|
1408
1522
|
/**
|
|
1409
|
-
*
|
|
1523
|
+
* Get the maximum distance (in meters) the camera is allowed to get from the ground.
|
|
1410
1524
|
*/
|
|
1411
1525
|
get maxZoom(): number;
|
|
1412
1526
|
/**
|
|
1413
|
-
*
|
|
1527
|
+
* Set the maximum distance (in meters) the camera is allowed to get from the ground.
|
|
1414
1528
|
*/
|
|
1415
1529
|
set maxZoom(meters: number);
|
|
1530
|
+
/**
|
|
1531
|
+
* Get the current maximum tilt angle (in radians) the camera is allowed to use.
|
|
1532
|
+
*/
|
|
1533
|
+
get maxTilt(): number;
|
|
1534
|
+
/**
|
|
1535
|
+
* Sets the maximum tilt angle (in radians) the camera is allowed to use.
|
|
1536
|
+
*
|
|
1537
|
+
* Tilt angle must be between 0 and π/2 radians. It will be clamped within
|
|
1538
|
+
* this range if it exceeds it on either end.
|
|
1539
|
+
*
|
|
1540
|
+
* As tilt angle approaches π/2 radians, this will impact overall touch controls
|
|
1541
|
+
* and should be used sparingly.
|
|
1542
|
+
*/
|
|
1543
|
+
set maxTilt(radians: number);
|
|
1544
|
+
/**
|
|
1545
|
+
* Get the current camera position, which is at the center of the map.
|
|
1546
|
+
* @returns the position as a coordinate
|
|
1547
|
+
*/
|
|
1548
|
+
get position(): MappedinCoordinate;
|
|
1549
|
+
/**
|
|
1550
|
+
* User camera interactions
|
|
1551
|
+
*/
|
|
1552
|
+
interactions: {
|
|
1553
|
+
/**
|
|
1554
|
+
* Enable all user interactions. This does not affect programmatic
|
|
1555
|
+
* Camera controls, such as `set` and `focusOn`
|
|
1556
|
+
*/
|
|
1557
|
+
enable: () => void;
|
|
1558
|
+
/**
|
|
1559
|
+
* Disable all user interactions. This does not affect programmatic
|
|
1560
|
+
* Camera controls, such as `set` and `focusOn`
|
|
1561
|
+
*/
|
|
1562
|
+
disable: () => void;
|
|
1563
|
+
};
|
|
1416
1564
|
setSafeAreaInsets(insets: {
|
|
1417
1565
|
top: number;
|
|
1418
1566
|
left: number;
|
|
@@ -1421,7 +1569,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/Camera' {
|
|
|
1421
1569
|
}): void;
|
|
1422
1570
|
getSafeAreaInsets(): any;
|
|
1423
1571
|
/**
|
|
1424
|
-
*
|
|
1572
|
+
* Focus the Camera view on a collection of targets and animate to that state.
|
|
1425
1573
|
* @returns a Promise that resolves when the animation finishes, or rejects when it is cancelled.
|
|
1426
1574
|
*/
|
|
1427
1575
|
focusOn(options: TFocusOnOptions): Promise<any>;
|
|
@@ -1431,7 +1579,6 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/Camera' {
|
|
|
1431
1579
|
set(positionOptions?: TAnimatePositionOptions): void;
|
|
1432
1580
|
/**
|
|
1433
1581
|
* Animate the Camera's view to smoothly transition to a new state over time.
|
|
1434
|
-
* Returns a promise that resolves when the animation completes and gets rejected if the animation is cancelled.
|
|
1435
1582
|
*
|
|
1436
1583
|
* @returns a Promise that resolves when the animation finishes, or rejects when it is cancelled.
|
|
1437
1584
|
*/
|
|
@@ -1520,7 +1667,10 @@ declare module '@mappedin/react-native-sdk/wrappers/common/events' {
|
|
|
1520
1667
|
CLEAR_JOURNEY = "CLEAR_JOURNEY",
|
|
1521
1668
|
SET_COOKIE = "SET_COOKIE",
|
|
1522
1669
|
GET_NEAREST_NODE_BY_SCREEN_COORDINATES = "GET_NEAREST_NODE_BY_SCREEN_COORDINATES",
|
|
1523
|
-
CLEAR_BUNDLE_CACHE = "CLEAR_BUNDLE_CACHE"
|
|
1670
|
+
CLEAR_BUNDLE_CACHE = "CLEAR_BUNDLE_CACHE",
|
|
1671
|
+
SEARCH = "SEARCH",
|
|
1672
|
+
SUGGEST = "SUGGEST",
|
|
1673
|
+
ADD_SEARCH_QUERY = "ADD_SEARCH_QUERY"
|
|
1524
1674
|
}
|
|
1525
1675
|
export enum WAYFINDING_EVENT {
|
|
1526
1676
|
GET_MAPS_IN_NAVIGATION = "GET_MAPS_IN_NAVIGATION",
|
|
@@ -1550,7 +1700,7 @@ declare module '@mappedin/react-native-sdk/wrappers/common/events' {
|
|
|
1550
1700
|
}
|
|
1551
1701
|
|
|
1552
1702
|
declare module '@mappedin/react-native-sdk/wrappers/common/payloads' {
|
|
1553
|
-
import { IDirectionsResult, MappedinMap, MappedinNode, TBlueDotPositionUpdate, TBlueDotStateChange, TGetVenueOptions, TFloatingLabelPolygonOptions, TFlatLabelPolygonOptions, TAnimatePositionOptions, TPathOptions, TShowVenueOptions, STATE, TGeolocationObject, TEnableBlueDotOptions, MappedinLocation, TLabelAllLocationFloatingLabelOptions } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
1703
|
+
import { IDirectionsResult, MappedinMap, MappedinNode, TBlueDotPositionUpdate, TBlueDotStateChange, TGetVenueOptions, TFloatingLabelPolygonOptions, TFlatLabelPolygonOptions, TAnimatePositionOptions, TPathOptions, TShowVenueOptions, STATE, TGeolocationObject, TEnableBlueDotOptions, MappedinLocation, TLabelAllLocationFloatingLabelOptions, TMappedinOfflineSearchOptions } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
1554
1704
|
import { TMiMapViewOptions } from '@mappedin/react-native-sdk/wrappers/common/types';
|
|
1555
1705
|
import { BRIDGE_EVENT, EVENT, MINIMAP_EVENT, TFocusOnOptionsLegacySerializable, TReactNativeFlatLabelAllLocationsLegacy, TReactNativeFlatLabelAllLocations, NATIVE_EVENT } from '@mappedin/react-native-sdk/wrappers/common';
|
|
1556
1706
|
import { TSerializableJourneyOptions, TFocusOnOptionsSerializable, TSerializedLocation, TSerializedNode, TSerializedPolygon } from '@mappedin/react-native-sdk/wrappers/common/types';
|
|
@@ -1624,12 +1774,32 @@ declare module '@mappedin/react-native-sdk/wrappers/common/payloads' {
|
|
|
1624
1774
|
options: TGetVenueOptions & {
|
|
1625
1775
|
useBundle?: boolean;
|
|
1626
1776
|
};
|
|
1627
|
-
showVenueOptions: TShowVenueOptions
|
|
1777
|
+
showVenueOptions: TShowVenueOptions & {
|
|
1778
|
+
/**
|
|
1779
|
+
* Generate a search index for venue when rendering map, instead of deferring to when the first search occurs.
|
|
1780
|
+
* @default false
|
|
1781
|
+
*/
|
|
1782
|
+
prepareSearch?: boolean;
|
|
1783
|
+
/**
|
|
1784
|
+
* Customize search weights
|
|
1785
|
+
*/
|
|
1786
|
+
searchOptions?: TMappedinOfflineSearchOptions;
|
|
1787
|
+
};
|
|
1628
1788
|
};
|
|
1629
1789
|
[EVENT.SHOW_VENUE]: {
|
|
1630
1790
|
venueData: string;
|
|
1631
1791
|
format: 'jsonstring';
|
|
1632
|
-
showVenueOptions: TShowVenueOptions
|
|
1792
|
+
showVenueOptions: TShowVenueOptions & {
|
|
1793
|
+
/**
|
|
1794
|
+
* Generate a search index for venue when rendering map, instead of deferring to when the first search occurs.
|
|
1795
|
+
* @default false
|
|
1796
|
+
*/
|
|
1797
|
+
prepareSearch?: boolean;
|
|
1798
|
+
/**
|
|
1799
|
+
* Customize search weights
|
|
1800
|
+
*/
|
|
1801
|
+
searchOptions?: TMappedinOfflineSearchOptions;
|
|
1802
|
+
};
|
|
1633
1803
|
};
|
|
1634
1804
|
[EVENT.SET_MAP]: {
|
|
1635
1805
|
mapId: string;
|
|
@@ -1756,6 +1926,20 @@ declare module '@mappedin/react-native-sdk/wrappers/common/payloads' {
|
|
|
1756
1926
|
y: number;
|
|
1757
1927
|
map?: MappedinMap['id'];
|
|
1758
1928
|
};
|
|
1929
|
+
[EVENT.SEARCH]: {
|
|
1930
|
+
query: string;
|
|
1931
|
+
};
|
|
1932
|
+
[EVENT.SUGGEST]: {
|
|
1933
|
+
query: string;
|
|
1934
|
+
};
|
|
1935
|
+
[EVENT.ADD_SEARCH_QUERY]: {
|
|
1936
|
+
query: string;
|
|
1937
|
+
object: {
|
|
1938
|
+
type: 'MappedinLocation' | 'MappedinCategory' | 'Custom';
|
|
1939
|
+
id: string;
|
|
1940
|
+
};
|
|
1941
|
+
weight?: number;
|
|
1942
|
+
};
|
|
1759
1943
|
};
|
|
1760
1944
|
}
|
|
1761
1945
|
|
|
@@ -1790,7 +1974,7 @@ declare module '@mappedin/react-native-sdk/wrappers/common/types' {
|
|
|
1790
1974
|
departureMarkerTemplateString?: string;
|
|
1791
1975
|
color?: string;
|
|
1792
1976
|
};
|
|
1793
|
-
export type
|
|
1977
|
+
export type TMiMapViewVenueOptions = {
|
|
1794
1978
|
/**
|
|
1795
1979
|
* Client ID
|
|
1796
1980
|
*/
|
|
@@ -1811,6 +1995,7 @@ declare module '@mappedin/react-native-sdk/wrappers/common/types' {
|
|
|
1811
1995
|
noAuth?: boolean;
|
|
1812
1996
|
language?: string;
|
|
1813
1997
|
};
|
|
1998
|
+
export type TMiMapViewOptions = TShowVenueOptions & TMiMapViewVenueOptions;
|
|
1814
1999
|
export type TReactNativeFloatingLabelPolygonOptions = TFloatingLabelPolygonOptions & {
|
|
1815
2000
|
/**
|
|
1816
2001
|
* @deprecated
|
|
@@ -1847,154 +2032,378 @@ declare module '@mappedin/react-native-sdk/wrappers/common/pub-sub' {
|
|
|
1847
2032
|
}
|
|
1848
2033
|
}
|
|
1849
2034
|
|
|
1850
|
-
declare module '@mappedin/react-native-sdk/
|
|
1851
|
-
import {
|
|
1852
|
-
import {
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
|
|
1972
|
-
|
|
1973
|
-
|
|
1974
|
-
|
|
1975
|
-
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
|
|
1979
|
-
|
|
1980
|
-
|
|
1981
|
-
|
|
1982
|
-
|
|
1983
|
-
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
|
|
1987
|
-
|
|
1988
|
-
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
|
|
1993
|
-
|
|
1994
|
-
|
|
2035
|
+
declare module '@mappedin/react-native-sdk/core/packages/renderer/Core.interface' {
|
|
2036
|
+
import { MappedinMap, Mappedin, MappedinCoordinate, MappedinPolygon, MappedinNode } from '@mappedin/react-native-sdk/core/packages/get-venue';
|
|
2037
|
+
import { Vector2, Vector3 } from 'three';
|
|
2038
|
+
import { changeListenerFn, TMapViewOptions } from '@mappedin/react-native-sdk/core/packages/renderer/MapView.types';
|
|
2039
|
+
import RENDER from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.RenderTasks';
|
|
2040
|
+
import { INTERNAL_EVENT_PAYLOAD } from '@mappedin/react-native-sdk/core/packages/renderer/MapView';
|
|
2041
|
+
import { TPadding } from '@mappedin/react-native-sdk/core/packages/renderer';
|
|
2042
|
+
import Tween, { Easing } from '@tweenjs/tween.js';
|
|
2043
|
+
export type TFocusOptionsLegacy = {
|
|
2044
|
+
/**
|
|
2045
|
+
* An array of Nodes to focus in on
|
|
2046
|
+
*/
|
|
2047
|
+
nodes?: (MappedinNode | MappedinNode['id'])[];
|
|
2048
|
+
/**
|
|
2049
|
+
* An array of Polygons to focus on. It's the center of the bounds of all Polygons, designed to fit everything into view.
|
|
2050
|
+
*/
|
|
2051
|
+
polygons?: (MappedinPolygon | MappedinPolygon['id'])[];
|
|
2052
|
+
/**
|
|
2053
|
+
* The duration (in ms) the focus animation should last for.
|
|
2054
|
+
* @defaultValue `100`
|
|
2055
|
+
*/
|
|
2056
|
+
duration?: number;
|
|
2057
|
+
/**
|
|
2058
|
+
* Whether to zoom the camera in or out, or just pan it.
|
|
2059
|
+
* @defaultValue `true`
|
|
2060
|
+
*/
|
|
2061
|
+
changeZoom?: boolean;
|
|
2062
|
+
/**
|
|
2063
|
+
* The animation curve to use for zooming in. Uses the animateCamera one by default.
|
|
2064
|
+
*/
|
|
2065
|
+
curve?: typeof Easing;
|
|
2066
|
+
/**
|
|
2067
|
+
* Camera tilt between 0 (top-down) to 1 (from the side)
|
|
2068
|
+
*/
|
|
2069
|
+
tilt?: number;
|
|
2070
|
+
/**
|
|
2071
|
+
* Rotation in degrees
|
|
2072
|
+
*/
|
|
2073
|
+
rotation?: number;
|
|
2074
|
+
/**
|
|
2075
|
+
* You can overide the {{#crossLink "MapView/focusZoomFactor:property"}}{{/crossLink}} for a specific {{#crossLink "MapView/focusOn:method"}}{{/crossLink}} call, rather than globally, if you like.
|
|
2076
|
+
*/
|
|
2077
|
+
focusZoomFactor?: number;
|
|
2078
|
+
/**
|
|
2079
|
+
* Sets a floor for how close you can zoom in on the scene. If it's lower than mapView.controls.minZoom, it's ignored.
|
|
2080
|
+
* @defaultValue: 0
|
|
2081
|
+
*/
|
|
2082
|
+
minZoom?: number;
|
|
2083
|
+
padding?: TPadding;
|
|
2084
|
+
points?: any[];
|
|
2085
|
+
};
|
|
2086
|
+
export interface ICore {
|
|
2087
|
+
new (container: HTMLElement, venue: Mappedin, options?: TMapViewOptions): ICore;
|
|
2088
|
+
/**
|
|
2089
|
+
* @internal
|
|
2090
|
+
*/
|
|
2091
|
+
currentScale: number;
|
|
2092
|
+
loadOptions?: TMapViewOptions['loadOptions'];
|
|
2093
|
+
imageFlippingEnabled: boolean;
|
|
2094
|
+
imageFlippingCache: any;
|
|
2095
|
+
cachedPadding: any;
|
|
2096
|
+
polygonMeshesById: any;
|
|
2097
|
+
textLabelsByPolygonId: any;
|
|
2098
|
+
renderer: any;
|
|
2099
|
+
scene: any;
|
|
2100
|
+
cameraParameters: Vector2;
|
|
2101
|
+
resolution: Vector2;
|
|
2102
|
+
determineNewLabelSize: any;
|
|
2103
|
+
on<EVENT_NAME extends keyof INTERNAL_EVENT_PAYLOAD>(eventName: EVENT_NAME, fn: changeListenerFn<INTERNAL_EVENT_PAYLOAD[EVENT_NAME]>): void;
|
|
2104
|
+
off<EVENT_NAME extends keyof INTERNAL_EVENT_PAYLOAD>(eventName: EVENT_NAME, fn: changeListenerFn<INTERNAL_EVENT_PAYLOAD[EVENT_NAME]>): void;
|
|
2105
|
+
publish<EVENT_NAME extends keyof INTERNAL_EVENT_PAYLOAD>(eventName: EVENT_NAME, payload?: INTERNAL_EVENT_PAYLOAD[EVENT_NAME]): void;
|
|
2106
|
+
/**
|
|
2107
|
+
* Manual camera controls for MapView. Generally you should be using the functions on MapView like {{#crossLink "MapView/focusOn:method"}}{{/crossLink}},
|
|
2108
|
+
* but if you have some cool animations in mind, you can do it with the {{#crossLink "CameraControls"}}{{/crossLink}}.
|
|
2109
|
+
* Some of the functions don't do anything in 2D.
|
|
2110
|
+
*
|
|
2111
|
+
*/
|
|
2112
|
+
controls: any;
|
|
2113
|
+
/**
|
|
2114
|
+
* The Venue data this MapView is using.
|
|
2115
|
+
*
|
|
2116
|
+
* @property venue {MappedinVenue}
|
|
2117
|
+
* @final
|
|
2118
|
+
*/
|
|
2119
|
+
readonly venue: Mappedin;
|
|
2120
|
+
/**
|
|
2121
|
+
* The div MapView is using.
|
|
2122
|
+
*
|
|
2123
|
+
* @property container {Div}
|
|
2124
|
+
* @final
|
|
2125
|
+
*/
|
|
2126
|
+
readonly container: HTMLElement;
|
|
2127
|
+
/**
|
|
2128
|
+
* The ID of the Map currently being displayed.
|
|
2129
|
+
*
|
|
2130
|
+
*/
|
|
2131
|
+
readonly currentMap: string;
|
|
2132
|
+
/**
|
|
2133
|
+
* Change this factor to influence how much the camera zooms in on a {@link IMapView3D.focusOn} call.
|
|
2134
|
+
*
|
|
2135
|
+
* @property focusZoomFactor {Integer}
|
|
2136
|
+
* @default 3
|
|
2137
|
+
*/
|
|
2138
|
+
focusZoomFactor: number;
|
|
2139
|
+
/**
|
|
2140
|
+
* Returns the value you should call {@link CameraControls.setZoom} on to fit the Polygon exactly.
|
|
2141
|
+
*
|
|
2142
|
+
* @return The zoom level that will fit the Polygon
|
|
2143
|
+
*/
|
|
2144
|
+
getZoomLevelForPolygon(props: {
|
|
2145
|
+
/**
|
|
2146
|
+
* The Polygon or Polygon ID to get the zoom level for
|
|
2147
|
+
*/
|
|
2148
|
+
polygonOrPolygonId: MappedinPolygon | string;
|
|
2149
|
+
}): number;
|
|
2150
|
+
/**
|
|
2151
|
+
* Returns the value you should call {@link CameraControls.setZoom} on to fit the {@link IMapView3D.currentMap} exactly.
|
|
2152
|
+
*
|
|
2153
|
+
* @return The zoom level that will fit the {@link IMapView3D.currentMap}.
|
|
2154
|
+
*/
|
|
2155
|
+
getZoomLevelForCurrentMap(): number;
|
|
2156
|
+
/**
|
|
2157
|
+
* Returns the angle that points to north, in radians, from the default orientation.
|
|
2158
|
+
*
|
|
2159
|
+
* @return The angle to north from the default orientation, in radians.
|
|
2160
|
+
*/
|
|
2161
|
+
getNorth(): number;
|
|
2162
|
+
/**
|
|
2163
|
+
* Takes an element on the DOM and rotates it such that the top is pointing north. It will rotate with the camera, staying locked
|
|
2164
|
+
* on north. If you would like to align it do a different direction, or a different side of the element, pass in an offset. This
|
|
2165
|
+
* is how you would do a compass rose.
|
|
2166
|
+
*
|
|
2167
|
+
* This will modify your element's transform.
|
|
2168
|
+
*
|
|
2169
|
+
* @param element The element on the page to rotate.
|
|
2170
|
+
* @param offset The amount to offset the rotation by, in radians.
|
|
2171
|
+
*
|
|
2172
|
+
*/
|
|
2173
|
+
lockNorth(element: HTMLElement, offset?: number): void;
|
|
2174
|
+
/**
|
|
2175
|
+
* Stops the MapView from trying to rotate your element with the camera. Do this if you remove the element, or want to stop it from rotating.
|
|
2176
|
+
* @param element The node to stop rotating. It won't reset the transform, just leave it as is.
|
|
2177
|
+
*/
|
|
2178
|
+
unlockNorth(element: HTMLElement): void;
|
|
2179
|
+
currentInteractionEvent: string;
|
|
2180
|
+
interactivePolygons: any;
|
|
2181
|
+
highlightedPolygons: any;
|
|
2182
|
+
cameraPlane: any;
|
|
2183
|
+
/**
|
|
2184
|
+
* Called any time a user touches or clicks the map. Only fires on "single" touches/clicks.
|
|
2185
|
+
*
|
|
2186
|
+
* @param position Object containing the latitude & longitude of the location touched on the map
|
|
2187
|
+
* @param polygons Array of polygon IDs that were touched, in order of front to back.
|
|
2188
|
+
* @param nearBlueDot Whether the touch was close enough to the Blue Dot to be considered a touch on the Blue Dot.
|
|
2189
|
+
*/
|
|
2190
|
+
onMapClicked(position: {
|
|
2191
|
+
latitude: number;
|
|
2192
|
+
longitude: number;
|
|
2193
|
+
}, polygons: string[], nearBlueDot: boolean): void;
|
|
2194
|
+
/**
|
|
2195
|
+
* This is called when an interactive Polygon is clicked on.
|
|
2196
|
+
* You will almost certainly want to replace this with your own function in your client app.
|
|
2197
|
+
* Return "false" if you have consumed the event and it shouldn't bubble down to other Polygons beneath this one.
|
|
2198
|
+
*
|
|
2199
|
+
* @param polygonId polygonId passed in when tapping an interactive polygon
|
|
2200
|
+
*/
|
|
2201
|
+
onPolygonClicked(polygonId: string): boolean | void;
|
|
2202
|
+
onMapChanged(map: string): void;
|
|
2203
|
+
getPositionLatLon(lat: number, lon: number, map?: MappedinMap | string): Vector3;
|
|
2204
|
+
getPositionPolygon(polygon: MappedinPolygon | string): Vector3;
|
|
2205
|
+
/**
|
|
2206
|
+
* Takes an x/y pair in Mappedin coordinate space and gives you a Vector3 in scene space
|
|
2207
|
+
* @param nodeOrCoordinate a node or coordinate
|
|
2208
|
+
*/
|
|
2209
|
+
convertTo3DMapPosition(nodeOrCoordinate: MappedinCoordinate | MappedinNode): Vector3;
|
|
2210
|
+
/**
|
|
2211
|
+
* Converts a Vector-like object into a MappedinCoordinate for a map.
|
|
2212
|
+
* @param position an object with x and y, like a Vector3
|
|
2213
|
+
* @param mapClass An optional map; otherwise, the current map will be used.
|
|
2214
|
+
*/
|
|
2215
|
+
convert3DMapPositionToCoordinate(position: {
|
|
2216
|
+
x: number;
|
|
2217
|
+
y: number;
|
|
2218
|
+
}, mapClass?: MappedinMap): MappedinCoordinate;
|
|
2219
|
+
setPadding(padding: {
|
|
2220
|
+
top: number;
|
|
2221
|
+
left: number;
|
|
2222
|
+
bottom: number;
|
|
2223
|
+
right: number;
|
|
2224
|
+
}): void;
|
|
2225
|
+
/**
|
|
2226
|
+
* This is fired when the user taps/clicks on the MapView without hitting an interactive Polygon.
|
|
2227
|
+
* You will almost certainly want to replace this with your own function in your client app.
|
|
2228
|
+
* You would probably use this to clear any Polygon highlighting, in certain situations.
|
|
2229
|
+
*/
|
|
2230
|
+
onNothingClicked(): void;
|
|
2231
|
+
smartCollisionEngine: any;
|
|
2232
|
+
mapObjects: any;
|
|
2233
|
+
/**
|
|
2234
|
+
* The scene only renders when something has changed. This should be something a 3rd party developer doesn't need to worry about,
|
|
2235
|
+
* but if you are doing something weird, or have your own special tween for something, you will want to call this function.
|
|
2236
|
+
* You can call it as often as you want, it just sets a flag that we need to render again, and renders a few frames if we weren't already doing that.
|
|
2237
|
+
* Ignored in 2D.
|
|
2238
|
+
*/
|
|
2239
|
+
tryRendering(renderMode?: typeof RENDER): void;
|
|
2240
|
+
setMap(mapOrMapId: MappedinMap | string): Promise<null>;
|
|
2241
|
+
getPositionNode(node: MappedinNode): Vector3;
|
|
2242
|
+
cameraObject: any;
|
|
2243
|
+
setBackgroundColor(color: number | string, alpha?: number): void;
|
|
2244
|
+
mapManager: any;
|
|
2245
|
+
focusOn(focusOptions: TFocusOptionsLegacy): Tween;
|
|
2246
|
+
canvasWidth: number;
|
|
2247
|
+
canvasHeight: number;
|
|
2248
|
+
/**
|
|
2249
|
+
* Resets the MapView to the default state.
|
|
2250
|
+
*/
|
|
2251
|
+
resetState(): void;
|
|
2252
|
+
destroy(): void;
|
|
2253
|
+
}
|
|
2254
|
+
}
|
|
2255
|
+
|
|
2256
|
+
declare module '@mappedin/react-native-sdk/wrappers/common/controller' {
|
|
2257
|
+
import { BRIDGE_EVENT, BRIDGE_EVENT_PAYLOADS } from '@mappedin/react-native-sdk/wrappers/common';
|
|
2258
|
+
import { PubSub } from '@mappedin/react-native-sdk/wrappers/common';
|
|
2259
|
+
export function uuid(): string;
|
|
2260
|
+
export class MappedinController {
|
|
2261
|
+
#private;
|
|
2262
|
+
privateEventBus: PubSub<{
|
|
2263
|
+
REJECT: {
|
|
2264
|
+
msgID?: string | undefined;
|
|
2265
|
+
data: any;
|
|
2266
|
+
};
|
|
2267
|
+
RESOLVE: {
|
|
2268
|
+
msgID?: string | undefined;
|
|
2269
|
+
data: any;
|
|
2270
|
+
};
|
|
2271
|
+
READY: {
|
|
2272
|
+
msgID?: string | undefined;
|
|
2273
|
+
data: null;
|
|
2274
|
+
};
|
|
2275
|
+
LOG: {
|
|
2276
|
+
msgID?: string | undefined;
|
|
2277
|
+
data: string;
|
|
2278
|
+
};
|
|
2279
|
+
GET_IMAGE: {
|
|
2280
|
+
msgID?: string | undefined;
|
|
2281
|
+
data: {
|
|
2282
|
+
fileName: string;
|
|
2283
|
+
};
|
|
2284
|
+
};
|
|
2285
|
+
GET_MAP_POLYGONS: {
|
|
2286
|
+
msgID?: string | undefined;
|
|
2287
|
+
data: {
|
|
2288
|
+
mapId: string;
|
|
2289
|
+
};
|
|
2290
|
+
};
|
|
2291
|
+
MINIMAP_READY: {
|
|
2292
|
+
msgID?: string | undefined;
|
|
2293
|
+
data: null;
|
|
2294
|
+
};
|
|
2295
|
+
SHOW_MINIMAP: {
|
|
2296
|
+
msgID?: string | undefined;
|
|
2297
|
+
data: {
|
|
2298
|
+
format: "jsonstring";
|
|
2299
|
+
venueData: string;
|
|
2300
|
+
options: import("./types").TMiMapViewOptions;
|
|
2301
|
+
};
|
|
2302
|
+
};
|
|
2303
|
+
LOAD_MINIMAP: {
|
|
2304
|
+
msgID?: string | undefined;
|
|
2305
|
+
data: {
|
|
2306
|
+
options: import("../react-native-sdk/src").TGetVenueOptions;
|
|
2307
|
+
};
|
|
2308
|
+
};
|
|
2309
|
+
CACHE_IMAGE: {
|
|
2310
|
+
msgID?: string | undefined;
|
|
2311
|
+
data: {
|
|
2312
|
+
url?: string | undefined;
|
|
2313
|
+
options: import("../react-native-sdk/src").TGetVenueOptions;
|
|
2314
|
+
locationId: string;
|
|
2315
|
+
polygonHighlightColor?: string | undefined;
|
|
2316
|
+
focusOptions?: Omit<import("./types").TFocusOnOptionsSerializable, "targets"> | undefined;
|
|
2317
|
+
};
|
|
2318
|
+
};
|
|
2319
|
+
CLEAR_BUNDLE_CACHE: {
|
|
2320
|
+
msgID?: string | undefined;
|
|
2321
|
+
data: null;
|
|
2322
|
+
};
|
|
2323
|
+
NOTHING_CLICKED: {
|
|
2324
|
+
msgID?: string | undefined;
|
|
2325
|
+
data: null;
|
|
2326
|
+
};
|
|
2327
|
+
STATE_CHANGED: {
|
|
2328
|
+
msgID?: string | undefined;
|
|
2329
|
+
data: {
|
|
2330
|
+
state: import("../react-native-sdk/src").STATE;
|
|
2331
|
+
};
|
|
2332
|
+
};
|
|
2333
|
+
DATA_LOADED: {
|
|
2334
|
+
msgID?: string | undefined;
|
|
2335
|
+
data: {
|
|
2336
|
+
venueData: any;
|
|
2337
|
+
};
|
|
2338
|
+
};
|
|
2339
|
+
FIRST_MAP_LOADED: {
|
|
2340
|
+
msgID?: string | undefined;
|
|
2341
|
+
data: {
|
|
2342
|
+
venueData?: any;
|
|
2343
|
+
};
|
|
2344
|
+
};
|
|
2345
|
+
MAP_CHANGED: {
|
|
2346
|
+
msgID?: string | undefined;
|
|
2347
|
+
data: {
|
|
2348
|
+
mapId: string;
|
|
2349
|
+
};
|
|
2350
|
+
};
|
|
2351
|
+
POLYGON_CLICKED: {
|
|
2352
|
+
msgID?: string | undefined;
|
|
2353
|
+
data: {
|
|
2354
|
+
polygonId: string;
|
|
2355
|
+
};
|
|
2356
|
+
};
|
|
2357
|
+
ROTATION_CHANGED: {
|
|
2358
|
+
msgID?: string | undefined;
|
|
2359
|
+
data: {
|
|
2360
|
+
rotation: number;
|
|
2361
|
+
};
|
|
2362
|
+
};
|
|
2363
|
+
TILT_CHANGED: {
|
|
2364
|
+
msgID?: string | undefined;
|
|
2365
|
+
data: {
|
|
2366
|
+
tilt: number;
|
|
2367
|
+
};
|
|
2368
|
+
};
|
|
2369
|
+
UPDATE_GEOLOCATION: {
|
|
2370
|
+
msgID?: string | undefined;
|
|
2371
|
+
data: {
|
|
2372
|
+
msgID: undefined;
|
|
2373
|
+
data: unknown;
|
|
2374
|
+
};
|
|
2375
|
+
};
|
|
2376
|
+
BLUEDOT_STATE_CHANGE: {
|
|
2377
|
+
msgID?: string | undefined;
|
|
2378
|
+
data: {
|
|
2379
|
+
stateChange: import("../react-native-sdk/src").TBlueDotStateChange;
|
|
2380
|
+
};
|
|
2381
|
+
};
|
|
2382
|
+
BLUEDOT_POSITION_UPDATE: {
|
|
2383
|
+
msgID?: string | undefined;
|
|
2384
|
+
data: {
|
|
2385
|
+
update: Omit<import("../react-native-sdk/src").TBlueDotPositionUpdate, "map" | "nearestNode"> & {
|
|
2386
|
+
nearestNode?: string | undefined;
|
|
2387
|
+
map?: string | undefined;
|
|
2388
|
+
};
|
|
2389
|
+
};
|
|
2390
|
+
};
|
|
2391
|
+
SET_JOURNEY_STEP: {
|
|
2392
|
+
msgID?: string | undefined;
|
|
2393
|
+
data: {
|
|
2394
|
+
step: number;
|
|
2395
|
+
};
|
|
2396
|
+
};
|
|
2397
|
+
LOAD_VENUE: {
|
|
2398
|
+
msgID?: string | undefined;
|
|
2399
|
+
data: {
|
|
2400
|
+
options: import("../react-native-sdk/src").TGetVenueOptions & {
|
|
1995
2401
|
useBundle?: boolean | undefined;
|
|
1996
2402
|
};
|
|
1997
|
-
showVenueOptions: import("../react-native-sdk/src").TShowVenueOptions
|
|
2403
|
+
showVenueOptions: import("../react-native-sdk/src").TShowVenueOptions & {
|
|
2404
|
+
prepareSearch?: boolean | undefined;
|
|
2405
|
+
searchOptions?: Partial<import("../react-native-sdk/src").TMappedinOfflineSearchAllOptions> | undefined;
|
|
2406
|
+
};
|
|
1998
2407
|
};
|
|
1999
2408
|
};
|
|
2000
2409
|
SHOW_VENUE: {
|
|
@@ -2002,7 +2411,10 @@ declare module '@mappedin/react-native-sdk/wrappers/common/controller' {
|
|
|
2002
2411
|
data: {
|
|
2003
2412
|
venueData: string;
|
|
2004
2413
|
format: "jsonstring";
|
|
2005
|
-
showVenueOptions: import("../react-native-sdk/src").TShowVenueOptions
|
|
2414
|
+
showVenueOptions: import("../react-native-sdk/src").TShowVenueOptions & {
|
|
2415
|
+
prepareSearch?: boolean | undefined;
|
|
2416
|
+
searchOptions?: Partial<import("../react-native-sdk/src").TMappedinOfflineSearchAllOptions> | undefined;
|
|
2417
|
+
};
|
|
2006
2418
|
};
|
|
2007
2419
|
};
|
|
2008
2420
|
SET_MAP: {
|
|
@@ -2232,6 +2644,29 @@ declare module '@mappedin/react-native-sdk/wrappers/common/controller' {
|
|
|
2232
2644
|
map?: string | undefined;
|
|
2233
2645
|
};
|
|
2234
2646
|
};
|
|
2647
|
+
SEARCH: {
|
|
2648
|
+
msgID?: string | undefined;
|
|
2649
|
+
data: {
|
|
2650
|
+
query: string;
|
|
2651
|
+
};
|
|
2652
|
+
};
|
|
2653
|
+
SUGGEST: {
|
|
2654
|
+
msgID?: string | undefined;
|
|
2655
|
+
data: {
|
|
2656
|
+
query: string;
|
|
2657
|
+
};
|
|
2658
|
+
};
|
|
2659
|
+
ADD_SEARCH_QUERY: {
|
|
2660
|
+
msgID?: string | undefined;
|
|
2661
|
+
data: {
|
|
2662
|
+
query: string;
|
|
2663
|
+
object: {
|
|
2664
|
+
type: "MappedinLocation" | "MappedinCategory" | "Custom";
|
|
2665
|
+
id: string;
|
|
2666
|
+
};
|
|
2667
|
+
weight?: number | undefined;
|
|
2668
|
+
};
|
|
2669
|
+
};
|
|
2235
2670
|
}>;
|
|
2236
2671
|
/**
|
|
2237
2672
|
* Message received from the other side of the bridge
|
|
@@ -2263,268 +2698,73 @@ declare module '@mappedin/react-native-sdk/wrappers/common/controller' {
|
|
|
2263
2698
|
/**
|
|
2264
2699
|
* Handle rejection from the other side, typically when the request results in an error
|
|
2265
2700
|
* @hidden
|
|
2266
|
-
*/
|
|
2267
|
-
protected handleRejection: <EVENT_NAME extends BRIDGE_EVENT>(payload: {
|
|
2268
|
-
msgID: string;
|
|
2269
|
-
data: {
|
|
2270
|
-
payload: BRIDGE_EVENT_PAYLOADS[EVENT_NAME];
|
|
2271
|
-
};
|
|
2272
|
-
}) => void;
|
|
2273
|
-
/**
|
|
2274
|
-
* Emitting a message without expecting a response
|
|
2275
|
-
* @hidden
|
|
2276
|
-
*/
|
|
2277
|
-
emit<EVENT_NAME extends keyof BRIDGE_EVENT_PAYLOADS>(eventName: EVENT_NAME, payload?: BRIDGE_EVENT_PAYLOADS[EVENT_NAME], msgID?: string): void;
|
|
2278
|
-
/**
|
|
2279
|
-
* Emitting a message and waiting for a reponse, via a promise
|
|
2280
|
-
* @hidden
|
|
2281
|
-
*/
|
|
2282
|
-
emitAsync<T, EVENT_NAME extends keyof BRIDGE_EVENT_PAYLOADS>(eventName: EVENT_NAME, payload?: BRIDGE_EVENT_PAYLOADS[EVENT_NAME], msgID?: string): Promise<T>;
|
|
2283
|
-
}
|
|
2284
|
-
}
|
|
2285
|
-
|
|
2286
|
-
declare module '@mappedin/react-native-sdk/core/packages/renderer/Core.interface' {
|
|
2287
|
-
import { MappedinMap, Mappedin, MappedinCoordinate, MappedinPolygon, MappedinNode } from '@mappedin/react-native-sdk/core/packages/get-venue';
|
|
2288
|
-
import CameraControls from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.CameraControls';
|
|
2289
|
-
import { Vector2, Vector3 } from 'three';
|
|
2290
|
-
import { changeListenerFn, TMapViewOptions } from '@mappedin/react-native-sdk/core/packages/renderer/MapView.types';
|
|
2291
|
-
import RENDER from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.RenderTasks';
|
|
2292
|
-
import { INTERNAL_EVENT_PAYLOAD } from '@mappedin/react-native-sdk/core/packages/renderer/MapView';
|
|
2293
|
-
import { TPadding } from '@mappedin/react-native-sdk/core/packages/renderer';
|
|
2294
|
-
import Tween, { Easing } from '@tweenjs/tween.js';
|
|
2295
|
-
export type TFocusOptionsLegacy = {
|
|
2296
|
-
/**
|
|
2297
|
-
* An array of Nodes to focus in on
|
|
2298
|
-
*/
|
|
2299
|
-
nodes?: (MappedinNode | MappedinNode['id'])[];
|
|
2300
|
-
/**
|
|
2301
|
-
* An array of Polygons to focus on. It's the center of the bounds of all Polygons, designed to fit everything into view.
|
|
2302
|
-
*/
|
|
2303
|
-
polygons?: (MappedinPolygon | MappedinPolygon['id'])[];
|
|
2304
|
-
/**
|
|
2305
|
-
* The duration the focus animation should last for.
|
|
2306
|
-
* @defaultValue `100`
|
|
2307
|
-
*/
|
|
2308
|
-
duration?: number;
|
|
2309
|
-
/**
|
|
2310
|
-
* Whether to zoom the camera in or out, or just pan it.
|
|
2311
|
-
* @defaultValue `true`
|
|
2312
|
-
*/
|
|
2313
|
-
changeZoom?: boolean;
|
|
2314
|
-
/**
|
|
2315
|
-
* The animation curve to use for zooming in. Uses the animateCamera one by default.
|
|
2316
|
-
*/
|
|
2317
|
-
curve?: typeof Easing;
|
|
2318
|
-
/**
|
|
2319
|
-
* Camera tilt between 0 (top-down) to 1 (from the side)
|
|
2320
|
-
*/
|
|
2321
|
-
tilt?: number;
|
|
2322
|
-
/**
|
|
2323
|
-
* Rotation in degrees
|
|
2324
|
-
*/
|
|
2325
|
-
rotation?: number;
|
|
2326
|
-
/**
|
|
2327
|
-
* You can overide the {{#crossLink "MapView/focusZoomFactor:property"}}{{/crossLink}} for a specific {{#crossLink "MapView/focusOn:method"}}{{/crossLink}} call, rather than globally, if you like.
|
|
2328
|
-
*/
|
|
2329
|
-
focusZoomFactor?: number;
|
|
2330
|
-
/**
|
|
2331
|
-
* Sets a floor for how close you can zoom in on the scene. If it's lower than mapView.controls.minZoom, it's ignored.
|
|
2332
|
-
* @defaultValue: 0
|
|
2333
|
-
*/
|
|
2334
|
-
minZoom?: number;
|
|
2335
|
-
padding?: TPadding;
|
|
2336
|
-
points?: any[];
|
|
2337
|
-
};
|
|
2338
|
-
export interface ICore {
|
|
2339
|
-
new (container: HTMLElement, venue: Mappedin, options?: TMapViewOptions): ICore;
|
|
2340
|
-
/**
|
|
2341
|
-
* @internal
|
|
2342
|
-
*/
|
|
2343
|
-
currentScale: number;
|
|
2344
|
-
imageFlippingEnabled: boolean;
|
|
2345
|
-
imageFlippingCache: any;
|
|
2346
|
-
cachedPadding: any;
|
|
2347
|
-
polygonMeshesById: any;
|
|
2348
|
-
textLabelsByPolygonId: any;
|
|
2349
|
-
renderer: any;
|
|
2350
|
-
scene: any;
|
|
2351
|
-
cameraParameters: Vector2;
|
|
2352
|
-
resolution: Vector2;
|
|
2353
|
-
determineNewLabelSize: any;
|
|
2354
|
-
on<EVENT_NAME extends keyof INTERNAL_EVENT_PAYLOAD>(eventName: EVENT_NAME, fn: changeListenerFn<INTERNAL_EVENT_PAYLOAD[EVENT_NAME]>): void;
|
|
2355
|
-
off<EVENT_NAME extends keyof INTERNAL_EVENT_PAYLOAD>(eventName: EVENT_NAME, fn: changeListenerFn<INTERNAL_EVENT_PAYLOAD[EVENT_NAME]>): void;
|
|
2356
|
-
publish<EVENT_NAME extends keyof INTERNAL_EVENT_PAYLOAD>(eventName: EVENT_NAME, payload?: INTERNAL_EVENT_PAYLOAD[EVENT_NAME]): void;
|
|
2357
|
-
/**
|
|
2358
|
-
* Manual camera controls for MapView. Generally you should be using the functions on MapView like {{#crossLink "MapView/focusOn:method"}}{{/crossLink}},
|
|
2359
|
-
* but if you have some cool animations in mind, you can do it with the {{#crossLink "CameraControls"}}{{/crossLink}}.
|
|
2360
|
-
* Some of the functions don't do anything in 2D.
|
|
2361
|
-
*
|
|
2362
|
-
*/
|
|
2363
|
-
controls?: typeof CameraControls;
|
|
2364
|
-
/**
|
|
2365
|
-
* The Venue data this MapView is using.
|
|
2366
|
-
*
|
|
2367
|
-
* @property venue {MappedinVenue}
|
|
2368
|
-
* @final
|
|
2369
|
-
*/
|
|
2370
|
-
readonly venue: Mappedin;
|
|
2371
|
-
/**
|
|
2372
|
-
* The div MapView is using.
|
|
2373
|
-
*
|
|
2374
|
-
* @property container {Div}
|
|
2375
|
-
* @final
|
|
2376
|
-
*/
|
|
2377
|
-
readonly container: HTMLElement;
|
|
2378
|
-
/**
|
|
2379
|
-
* The ID of the Map currently being displayed.
|
|
2380
|
-
*
|
|
2381
|
-
*/
|
|
2382
|
-
readonly currentMap: string;
|
|
2383
|
-
/**
|
|
2384
|
-
* Change this factor to influence how much the camera zooms in on a {@link IMapView3D.focusOn} call.
|
|
2385
|
-
*
|
|
2386
|
-
* @property focusZoomFactor {Integer}
|
|
2387
|
-
* @default 3
|
|
2388
|
-
*/
|
|
2389
|
-
focusZoomFactor: number;
|
|
2390
|
-
/**
|
|
2391
|
-
* Returns the value you should call {@link CameraControls.setZoom} on to fit the Polygon exactly.
|
|
2392
|
-
*
|
|
2393
|
-
* @return The zoom level that will fit the Polygon
|
|
2394
|
-
*/
|
|
2395
|
-
getZoomLevelForPolygon(props: {
|
|
2396
|
-
/**
|
|
2397
|
-
* The Polygon or Polygon ID to get the zoom level for
|
|
2398
|
-
*/
|
|
2399
|
-
polygonOrPolygonId: MappedinPolygon | string;
|
|
2400
|
-
}): number;
|
|
2401
|
-
/**
|
|
2402
|
-
* Returns the value you should call {@link CameraControls.setZoom} on to fit the {@link IMapView3D.currentMap} exactly.
|
|
2403
|
-
*
|
|
2404
|
-
* @return The zoom level that will fit the {@link IMapView3D.currentMap}.
|
|
2405
|
-
*/
|
|
2406
|
-
getZoomLevelForCurrentMap(): number;
|
|
2407
|
-
/**
|
|
2408
|
-
* Returns the angle that points to north, in radians, from the default orientation.
|
|
2409
|
-
*
|
|
2410
|
-
* @return The angle to north from the default orientation, in radians.
|
|
2411
|
-
*/
|
|
2412
|
-
getNorth(): number;
|
|
2413
|
-
/**
|
|
2414
|
-
* Takes an element on the DOM and rotates it such that the top is pointing north. It will rotate with the camera, staying locked
|
|
2415
|
-
* on north. If you would like to align it do a different direction, or a different side of the element, pass in an offset. This
|
|
2416
|
-
* is how you would do a compass rose.
|
|
2417
|
-
*
|
|
2418
|
-
* This will modify your element's transform.
|
|
2419
|
-
*
|
|
2420
|
-
* @param element The element on the page to rotate.
|
|
2421
|
-
* @param offset The amount to offset the rotation by, in radians.
|
|
2422
|
-
*
|
|
2423
|
-
*/
|
|
2424
|
-
lockNorth(element: HTMLElement, offset?: number): void;
|
|
2425
|
-
/**
|
|
2426
|
-
* Stops the MapView from trying to rotate your element with the camera. Do this if you remove the element, or want to stop it from rotating.
|
|
2427
|
-
* @param element The node to stop rotating. It won't reset the transform, just leave it as is.
|
|
2428
|
-
*/
|
|
2429
|
-
unlockNorth(element: HTMLElement): void;
|
|
2430
|
-
currentInteractionEvent: string;
|
|
2431
|
-
interactivePolygons: any;
|
|
2432
|
-
highlightedPolygons: any;
|
|
2433
|
-
cameraPlane: any;
|
|
2434
|
-
/**
|
|
2435
|
-
* Called any time a user touches or clicks the map. Only fires on "single" touches/clicks.
|
|
2436
|
-
*
|
|
2437
|
-
* @param position Object containing the latitude & longitude of the location touched on the map
|
|
2438
|
-
* @param polygons Array of polygon IDs that were touched, in order of front to back.
|
|
2439
|
-
* @param nearBlueDot Whether the touch was close enough to the Blue Dot to be considered a touch on the Blue Dot.
|
|
2440
|
-
*/
|
|
2441
|
-
onMapClicked(position: {
|
|
2442
|
-
latitude: number;
|
|
2443
|
-
longitude: number;
|
|
2444
|
-
}, polygons: string[], nearBlueDot: boolean): void;
|
|
2445
|
-
/**
|
|
2446
|
-
* This is called when an interactive Polygon is clicked on.
|
|
2447
|
-
* You will almost certainly want to replace this with your own function in your client app.
|
|
2448
|
-
* Return "false" if you have consumed the event and it shouldn't bubble down to other Polygons beneath this one.
|
|
2449
|
-
*
|
|
2450
|
-
* @param polygonId polygonId passed in when tapping an interactive polygon
|
|
2451
|
-
*/
|
|
2452
|
-
onPolygonClicked(polygonId: string): boolean | void;
|
|
2453
|
-
onMapChanged(map: string): void;
|
|
2454
|
-
getPositionLatLon(lat: number, lon: number, map?: MappedinMap | string): Vector3;
|
|
2455
|
-
getPositionPolygon(polygon: MappedinPolygon | string): Vector3;
|
|
2456
|
-
convertTo3DMapPosition(nodeOrCoordinate: MappedinCoordinate | MappedinNode): Vector3;
|
|
2457
|
-
setPadding(padding: {
|
|
2458
|
-
top: number;
|
|
2459
|
-
left: number;
|
|
2460
|
-
bottom: number;
|
|
2461
|
-
right: number;
|
|
2462
|
-
}): void;
|
|
2463
|
-
/**
|
|
2464
|
-
* This is fired when the user taps/clicks on the MapView without hitting an interactive Polygon.
|
|
2465
|
-
* You will almost certainly want to replace this with your own function in your client app.
|
|
2466
|
-
* You would probably use this to clear any Polygon highlighting, in certain situations.
|
|
2467
|
-
*/
|
|
2468
|
-
onNothingClicked(): void;
|
|
2469
|
-
smartCollisionEngine: any;
|
|
2470
|
-
mapObjects: any;
|
|
2701
|
+
*/
|
|
2702
|
+
protected handleRejection: <EVENT_NAME extends BRIDGE_EVENT>(payload: {
|
|
2703
|
+
msgID: string;
|
|
2704
|
+
data: {
|
|
2705
|
+
payload: BRIDGE_EVENT_PAYLOADS[EVENT_NAME];
|
|
2706
|
+
};
|
|
2707
|
+
}) => void;
|
|
2471
2708
|
/**
|
|
2472
|
-
*
|
|
2473
|
-
*
|
|
2474
|
-
* You can call it as often as you want, it just sets a flag that we need to render again, and renders a few frames if we weren't already doing that.
|
|
2475
|
-
* Ignored in 2D.
|
|
2709
|
+
* Emitting a message without expecting a response
|
|
2710
|
+
* @hidden
|
|
2476
2711
|
*/
|
|
2477
|
-
|
|
2478
|
-
setMap(mapOrMapId: MappedinMap | string): Promise<null>;
|
|
2479
|
-
getPositionNode(node: MappedinNode): Vector3;
|
|
2480
|
-
cameraObject: any;
|
|
2481
|
-
setBackgroundColor(color: number | string, alpha?: number): void;
|
|
2482
|
-
mapManager: any;
|
|
2483
|
-
focusOn(focusOptions: TFocusOptionsLegacy): Tween;
|
|
2484
|
-
canvasWidth: number;
|
|
2485
|
-
canvasHeight: number;
|
|
2712
|
+
emit<EVENT_NAME extends keyof BRIDGE_EVENT_PAYLOADS>(eventName: EVENT_NAME, payload?: BRIDGE_EVENT_PAYLOADS[EVENT_NAME], msgID?: string): void;
|
|
2486
2713
|
/**
|
|
2487
|
-
*
|
|
2714
|
+
* Emitting a message and waiting for a reponse, via a promise
|
|
2715
|
+
* @hidden
|
|
2488
2716
|
*/
|
|
2489
|
-
|
|
2490
|
-
destroy(): void;
|
|
2717
|
+
emitAsync<T, EVENT_NAME extends keyof BRIDGE_EVENT_PAYLOADS>(eventName: EVENT_NAME, payload?: BRIDGE_EVENT_PAYLOADS[EVENT_NAME], msgID?: string): Promise<T>;
|
|
2491
2718
|
}
|
|
2492
2719
|
}
|
|
2493
2720
|
|
|
2494
2721
|
declare module '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.types' {
|
|
2495
2722
|
export type TGetVenueOptions = {
|
|
2496
|
-
|
|
2497
|
-
|
|
2498
|
-
|
|
2499
|
-
|
|
2500
|
-
|
|
2501
|
-
|
|
2502
|
-
|
|
2503
|
-
|
|
2504
|
-
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
2723
|
+
accessToken?: string;
|
|
2724
|
+
clientId?: string;
|
|
2725
|
+
clientSecret?: string;
|
|
2726
|
+
baseUrl?: string;
|
|
2727
|
+
includeHidden?: boolean;
|
|
2728
|
+
noAuth?: boolean;
|
|
2729
|
+
perspective?: string;
|
|
2730
|
+
language?: string;
|
|
2731
|
+
headers?: {
|
|
2732
|
+
[key in string]: string;
|
|
2733
|
+
};
|
|
2734
|
+
venue: string;
|
|
2735
|
+
things?: any;
|
|
2736
|
+
useDraftData?: boolean;
|
|
2737
|
+
platformString?: string;
|
|
2509
2738
|
};
|
|
2510
2739
|
export type TGetVenueOptionsInternal = {
|
|
2511
|
-
|
|
2512
|
-
|
|
2513
|
-
|
|
2514
|
-
|
|
2515
|
-
|
|
2516
|
-
|
|
2517
|
-
|
|
2518
|
-
|
|
2519
|
-
|
|
2520
|
-
|
|
2521
|
-
|
|
2522
|
-
|
|
2740
|
+
baseUrl?: string;
|
|
2741
|
+
supplementaryUrl?: string;
|
|
2742
|
+
noAuth?: boolean;
|
|
2743
|
+
includeHidden?: boolean;
|
|
2744
|
+
apiGateway?: string;
|
|
2745
|
+
authorization?: string;
|
|
2746
|
+
/**
|
|
2747
|
+
* @deprecated 2D support will be removed in the future
|
|
2748
|
+
*/
|
|
2749
|
+
do2D?: boolean;
|
|
2750
|
+
things?: any;
|
|
2751
|
+
headers?: any;
|
|
2523
2752
|
};
|
|
2753
|
+
export enum MAP_RENDER_MODE {
|
|
2754
|
+
/** Each polygon, its geometry and mesh are sent to the GPU every render frame.
|
|
2755
|
+
* This was the default rendering mode before 4.0.17
|
|
2756
|
+
*/
|
|
2757
|
+
MULTI_GEOMETRY = "MULTI_GEOMETRY",
|
|
2758
|
+
/** Polygons' geometries are grouped by material and merged together, resulting in far fewer
|
|
2759
|
+
* draw calls to the GPU. Default rendering mode since 4.0.17
|
|
2760
|
+
*/
|
|
2761
|
+
SINGLE_GEOMETRY = "SINGLE_GEOMETRY"
|
|
2762
|
+
}
|
|
2524
2763
|
}
|
|
2525
2764
|
|
|
2526
2765
|
declare module '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin' {
|
|
2527
2766
|
import { Navigator } from '@mappedin/react-native-sdk/core/packages/navigator';
|
|
2767
|
+
import { MVFData } from '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.MVF.types';
|
|
2528
2768
|
import type { TGetVenueOptions, TGetVenueOptionsInternal } from '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.types';
|
|
2529
2769
|
import { MappedinCategory } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinCategory';
|
|
2530
2770
|
import { MappedinEvent } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinEvent';
|
|
@@ -2539,8 +2779,9 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin' {
|
|
|
2539
2779
|
import { MappedinTheme } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinTheme';
|
|
2540
2780
|
import { MappedinVenue } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinVenue';
|
|
2541
2781
|
import { MappedinVortex } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinVortex';
|
|
2782
|
+
import Analytics from '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.Analytics';
|
|
2542
2783
|
export const defaultOptions: TGetVenueOptionsInternal & TGetVenueOptions;
|
|
2543
|
-
export enum
|
|
2784
|
+
export enum MappedinCollectionType {
|
|
2544
2785
|
CATEGORY = "categories",
|
|
2545
2786
|
EVENT = "events",
|
|
2546
2787
|
LOCATION = "locations",
|
|
@@ -2551,14 +2792,14 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin' {
|
|
|
2551
2792
|
VORTEX = "vortexes"
|
|
2552
2793
|
}
|
|
2553
2794
|
type TAccessors = {
|
|
2554
|
-
[
|
|
2555
|
-
[
|
|
2556
|
-
[
|
|
2557
|
-
[
|
|
2558
|
-
[
|
|
2559
|
-
[
|
|
2560
|
-
[
|
|
2561
|
-
[
|
|
2795
|
+
[MappedinCollectionType.CATEGORY]: MappedinCategory;
|
|
2796
|
+
[MappedinCollectionType.EVENT]: MappedinEvent;
|
|
2797
|
+
[MappedinCollectionType.LOCATION]: MappedinLocation;
|
|
2798
|
+
[MappedinCollectionType.MAPGROUP]: MappedinMapGroup;
|
|
2799
|
+
[MappedinCollectionType.MAP]: MappedinMap;
|
|
2800
|
+
[MappedinCollectionType.NODE]: MappedinNode;
|
|
2801
|
+
[MappedinCollectionType.POLYGON]: MappedinPolygon;
|
|
2802
|
+
[MappedinCollectionType.VORTEX]: MappedinVortex;
|
|
2562
2803
|
};
|
|
2563
2804
|
const THINGS: {
|
|
2564
2805
|
categories: typeof MappedinCategory;
|
|
@@ -2754,6 +2995,11 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin' {
|
|
|
2754
2995
|
[id: string]: MappedinRankings;
|
|
2755
2996
|
};
|
|
2756
2997
|
getCollectionItemById<T extends keyof TAccessors, I extends string>(name: T, id: I): TAccessors[T] | null;
|
|
2998
|
+
/**
|
|
2999
|
+
* @hidden
|
|
3000
|
+
* @internal
|
|
3001
|
+
*/
|
|
3002
|
+
hydrateFromMVF(mvfData: MVFData): Promise<undefined>;
|
|
2757
3003
|
/**
|
|
2758
3004
|
*
|
|
2759
3005
|
* [experimental] Hydrate the Mappedin instance using a response from either {@link IMappedin.toString()}, {@link getVenueBundle} or by downloading the bundle manually
|
|
@@ -2762,9 +3008,11 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin' {
|
|
|
2762
3008
|
*/
|
|
2763
3009
|
hydrate(mappedinSerializableData: string | object, shouldPopulateBundledImagesAsBlobs?: boolean): Promise<undefined>;
|
|
2764
3010
|
images: any;
|
|
3011
|
+
imageBinaries?: Map<string, Uint8Array>;
|
|
2765
3012
|
scenes: any;
|
|
2766
3013
|
fetch(): Promise<void>;
|
|
2767
3014
|
constructor(options: TGetVenueOptionsInternal & TGetVenueOptions);
|
|
3015
|
+
analytics: Analytics;
|
|
2768
3016
|
/**
|
|
2769
3017
|
* @hidden
|
|
2770
3018
|
*/
|
|
@@ -2888,6 +3136,60 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/MappedinPolyg
|
|
|
2888
3136
|
export class MappedinPolygon extends MappedinNavigatable {
|
|
2889
3137
|
#private;
|
|
2890
3138
|
geometry: any;
|
|
3139
|
+
image?: {
|
|
3140
|
+
visible: boolean;
|
|
3141
|
+
url: string | Blob;
|
|
3142
|
+
original: string | Blob;
|
|
3143
|
+
useLocalScaling: boolean;
|
|
3144
|
+
viewBox: {
|
|
3145
|
+
width: number;
|
|
3146
|
+
height: number;
|
|
3147
|
+
};
|
|
3148
|
+
scale: {
|
|
3149
|
+
x: number;
|
|
3150
|
+
y: number;
|
|
3151
|
+
};
|
|
3152
|
+
fitToBounds: boolean;
|
|
3153
|
+
position: {
|
|
3154
|
+
x: number;
|
|
3155
|
+
y: number;
|
|
3156
|
+
z: number;
|
|
3157
|
+
};
|
|
3158
|
+
rotation: {
|
|
3159
|
+
x: number;
|
|
3160
|
+
y: number;
|
|
3161
|
+
z: number;
|
|
3162
|
+
};
|
|
3163
|
+
_isAbsolutelyPositioned?: boolean;
|
|
3164
|
+
};
|
|
3165
|
+
holes?: unknown[];
|
|
3166
|
+
textures?: {
|
|
3167
|
+
image: any;
|
|
3168
|
+
name: 'front' | 'side';
|
|
3169
|
+
useFrontFaceImage?: boolean;
|
|
3170
|
+
}[];
|
|
3171
|
+
material: {
|
|
3172
|
+
color: string;
|
|
3173
|
+
opacity?: number;
|
|
3174
|
+
};
|
|
3175
|
+
label?: {
|
|
3176
|
+
visible: boolean;
|
|
3177
|
+
text: string;
|
|
3178
|
+
align: string;
|
|
3179
|
+
position: {
|
|
3180
|
+
x: number;
|
|
3181
|
+
y: number;
|
|
3182
|
+
z: number;
|
|
3183
|
+
};
|
|
3184
|
+
rotation: {
|
|
3185
|
+
x: number;
|
|
3186
|
+
y: number;
|
|
3187
|
+
z: number;
|
|
3188
|
+
};
|
|
3189
|
+
fontFamily: string;
|
|
3190
|
+
fontSize: number;
|
|
3191
|
+
color: string;
|
|
3192
|
+
};
|
|
2891
3193
|
/**
|
|
2892
3194
|
* Node ID.
|
|
2893
3195
|
*
|
|
@@ -3074,6 +3376,7 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/MappedinMap'
|
|
|
3074
3376
|
import type { TGeoReference } from '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.API.types';
|
|
3075
3377
|
import type { MappedinMapGroup } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinMapGroup';
|
|
3076
3378
|
import { MappedinCoordinate } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinCoordinate';
|
|
3379
|
+
import { MappedinLocation } from '@mappedin/react-native-sdk/core/packages/get-venue';
|
|
3077
3380
|
/**
|
|
3078
3381
|
* A {@link MappedinMap} belonging to a specific {@link MappedinVenue}. Typically represents a certain floor. Give this to a {@link MapView} to display to the user.
|
|
3079
3382
|
*
|
|
@@ -3100,6 +3403,11 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/MappedinMap'
|
|
|
3100
3403
|
shortName: string;
|
|
3101
3404
|
elevation: number;
|
|
3102
3405
|
scale?: number;
|
|
3406
|
+
layers: {
|
|
3407
|
+
visible: boolean;
|
|
3408
|
+
name: string;
|
|
3409
|
+
id: string;
|
|
3410
|
+
}[];
|
|
3103
3411
|
x_scale?: number;
|
|
3104
3412
|
perspectiveId?: string;
|
|
3105
3413
|
scene: any;
|
|
@@ -3114,6 +3422,11 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/MappedinMap'
|
|
|
3114
3422
|
* @property polygons {[MappedinPolygon]}
|
|
3115
3423
|
*/
|
|
3116
3424
|
get polygons(): MappedinPolygon[] | undefined;
|
|
3425
|
+
/**
|
|
3426
|
+
* Locations on this map
|
|
3427
|
+
*/
|
|
3428
|
+
get locations(): MappedinLocation[];
|
|
3429
|
+
get nodes(): import("./MappedinNode").MappedinNode[];
|
|
3117
3430
|
/**
|
|
3118
3431
|
* Map Group this map belongs to.
|
|
3119
3432
|
*
|
|
@@ -3151,28 +3464,56 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/MappedinEvent
|
|
|
3151
3464
|
import type { Mappedin } from '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin';
|
|
3152
3465
|
import type { MappedinLocation } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinLocation';
|
|
3153
3466
|
/**
|
|
3154
|
-
* An event.
|
|
3467
|
+
* An event such as a promotion attached to a location in a venue for a period of time. Events can be created in the Mappedin CMS.
|
|
3155
3468
|
*
|
|
3156
3469
|
* @class MappedinEvent
|
|
3157
3470
|
*/
|
|
3158
3471
|
export class MappedinEvent {
|
|
3159
3472
|
#private;
|
|
3473
|
+
/**
|
|
3474
|
+
* Unique id string of the event.
|
|
3475
|
+
*/
|
|
3160
3476
|
id: string;
|
|
3161
3477
|
type: string;
|
|
3478
|
+
/**
|
|
3479
|
+
* Event name
|
|
3480
|
+
*/
|
|
3162
3481
|
name: string;
|
|
3482
|
+
/**
|
|
3483
|
+
* Optional, longer description of the event.
|
|
3484
|
+
*/
|
|
3163
3485
|
description?: string | undefined;
|
|
3486
|
+
/**
|
|
3487
|
+
* Optional image to be used for displaying the event.
|
|
3488
|
+
*/
|
|
3164
3489
|
image?: TImage | undefined;
|
|
3490
|
+
/**
|
|
3491
|
+
* Start timestamp of the event. Javascript date in milliseconds since 1 January 1970 UTC.
|
|
3492
|
+
*/
|
|
3165
3493
|
startDate?: number | undefined;
|
|
3494
|
+
/**
|
|
3495
|
+
* Start timestamp of the event. Javascript date in milliseconds since 1 January 1970 UTC.
|
|
3496
|
+
*/
|
|
3166
3497
|
endDate?: number | undefined;
|
|
3498
|
+
/**
|
|
3499
|
+
* Timestamp when the event should be displayed. Javascript date in milliseconds since 1 January 1970 UTC.
|
|
3500
|
+
*/
|
|
3167
3501
|
showDate?: number | undefined;
|
|
3502
|
+
/**
|
|
3503
|
+
* @internal
|
|
3504
|
+
*/
|
|
3168
3505
|
constructor(mappedin: Mappedin, data: any);
|
|
3169
3506
|
/**
|
|
3170
|
-
* Location this
|
|
3171
|
-
*
|
|
3172
|
-
* @property location {MappedinLocation}
|
|
3507
|
+
* Location this event is occuring at.
|
|
3173
3508
|
*/
|
|
3174
3509
|
location(): MappedinLocation | undefined;
|
|
3510
|
+
/**
|
|
3511
|
+
* @internal
|
|
3512
|
+
*/
|
|
3175
3513
|
static hydrate(events: any, mappedin: Mappedin): MappedinEvent[];
|
|
3514
|
+
/**
|
|
3515
|
+
* @internal
|
|
3516
|
+
*/
|
|
3176
3517
|
static fetch(mappedin: Mappedin): Promise<MappedinEvent[]>;
|
|
3177
3518
|
toJSON(): any;
|
|
3178
3519
|
}
|
|
@@ -3245,9 +3586,10 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/MappedinVenue
|
|
|
3245
3586
|
tzidOverride: string;
|
|
3246
3587
|
utcOffset: string;
|
|
3247
3588
|
website: string;
|
|
3248
|
-
constructor(data: any);
|
|
3249
|
-
static hydrate(data: any): MappedinVenue;
|
|
3589
|
+
constructor(mappedin: Mappedin, data: any);
|
|
3590
|
+
static hydrate(data: any, mappedin: Mappedin): MappedinVenue;
|
|
3250
3591
|
static fetch(mappedin: Mappedin): Promise<MappedinVenue>;
|
|
3592
|
+
get isMultiBuilding(): any;
|
|
3251
3593
|
toJSON(): any;
|
|
3252
3594
|
}
|
|
3253
3595
|
}
|
|
@@ -3464,6 +3806,229 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/MappedinNavig
|
|
|
3464
3806
|
}
|
|
3465
3807
|
}
|
|
3466
3808
|
|
|
3809
|
+
declare module '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.OfflineSearch' {
|
|
3810
|
+
import { Mappedin } from '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin';
|
|
3811
|
+
import type { SearchOptions } from 'minisearch';
|
|
3812
|
+
import { MappedinLocation } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinLocation';
|
|
3813
|
+
import { MappedinCategory } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinCategory';
|
|
3814
|
+
export const removeAccents: (it: string) => string;
|
|
3815
|
+
export type { SearchOptions };
|
|
3816
|
+
/**
|
|
3817
|
+
* A {@link Mappedin.OfflineSearch} is an offline search module
|
|
3818
|
+
*
|
|
3819
|
+
*
|
|
3820
|
+
* @class Mappedin.OfflineSearch
|
|
3821
|
+
*/
|
|
3822
|
+
export type TMappedinOfflineSearchAllOptions = {
|
|
3823
|
+
/**
|
|
3824
|
+
* Array of stopwords to ignore when searching, default: english stopwords
|
|
3825
|
+
*/
|
|
3826
|
+
stopWords?: string[];
|
|
3827
|
+
/**
|
|
3828
|
+
* Index location tags - typically better to use either tags or descriptions, depending on what's available
|
|
3829
|
+
* @default true
|
|
3830
|
+
*/
|
|
3831
|
+
searchTags?: boolean;
|
|
3832
|
+
/**
|
|
3833
|
+
* Index location descriptions - typically better to use either tags or descriptions, depending on what's available
|
|
3834
|
+
* @default true
|
|
3835
|
+
*/
|
|
3836
|
+
searchDescriptions?: boolean;
|
|
3837
|
+
/**
|
|
3838
|
+
* Also index all tags for every location in every category (caution: this may slow down indexing and search)
|
|
3839
|
+
* @default false
|
|
3840
|
+
*/
|
|
3841
|
+
searchTagsInCategories?: boolean;
|
|
3842
|
+
/**
|
|
3843
|
+
* Also index all tags for every location in every category (caution: this may slow down indexing and search)
|
|
3844
|
+
* @default false
|
|
3845
|
+
*/
|
|
3846
|
+
searchDescriptionsInCategories?: boolean;
|
|
3847
|
+
/**
|
|
3848
|
+
* Initialize Search with a previously indexed JSON string (outputted by OfflineSearch.toJSON())
|
|
3849
|
+
*/
|
|
3850
|
+
jsonIndex?: string;
|
|
3851
|
+
/**
|
|
3852
|
+
* Use the location polygons' rank in weighing results
|
|
3853
|
+
*/
|
|
3854
|
+
useLocationRank?: boolean;
|
|
3855
|
+
/**
|
|
3856
|
+
* Emit Analytics events when doing search
|
|
3857
|
+
* @default true when running in production
|
|
3858
|
+
*/
|
|
3859
|
+
emitAnalyticsEvents?: boolean;
|
|
3860
|
+
/**
|
|
3861
|
+
* Fine tune search constants
|
|
3862
|
+
*/
|
|
3863
|
+
constants: {
|
|
3864
|
+
/**
|
|
3865
|
+
* Fuzziness index for location names and tags
|
|
3866
|
+
* @default 0.09
|
|
3867
|
+
*/
|
|
3868
|
+
PRIMARY_INDEX_FUZZYNESS: number;
|
|
3869
|
+
/**
|
|
3870
|
+
* Multiplier for location names (1 by default)
|
|
3871
|
+
* @default 1
|
|
3872
|
+
*/
|
|
3873
|
+
PRIMARY_INDEX_WEIGHT: number;
|
|
3874
|
+
/**
|
|
3875
|
+
* Multiplier for descriptions
|
|
3876
|
+
* @default 0.025
|
|
3877
|
+
*/
|
|
3878
|
+
SECONDARY_INDEX_WEIGHT: number;
|
|
3879
|
+
/**
|
|
3880
|
+
* Multiplier for location names
|
|
3881
|
+
* @default 1
|
|
3882
|
+
*/
|
|
3883
|
+
LOCATION_NAME_WEIGHT: number;
|
|
3884
|
+
/**
|
|
3885
|
+
* Multiplier for category names
|
|
3886
|
+
* @default 0.5
|
|
3887
|
+
*/
|
|
3888
|
+
CATEGORY_NAME_WEIGHT: number;
|
|
3889
|
+
/**
|
|
3890
|
+
* Multiplier for category locations' descriptions
|
|
3891
|
+
* @default 0.0005
|
|
3892
|
+
*/
|
|
3893
|
+
CATEGORY_LOCATION_DESCRIPTION_WEIGHT: number;
|
|
3894
|
+
/**
|
|
3895
|
+
* Multiplier for category locations' tags
|
|
3896
|
+
* @default 0.0005
|
|
3897
|
+
*/
|
|
3898
|
+
CATEGORY_LOCATION_TAGS_WEIGHT: number;
|
|
3899
|
+
/**
|
|
3900
|
+
* Multiplier for category locations' names
|
|
3901
|
+
* @default 0.01
|
|
3902
|
+
*/
|
|
3903
|
+
CATEGORY_LOCATION_NAME_WEIGHT: number;
|
|
3904
|
+
/**
|
|
3905
|
+
* Multiplier for location tags
|
|
3906
|
+
* @default 0.05
|
|
3907
|
+
*/
|
|
3908
|
+
PRIMARY_INDEX_TAGS_NAME_WEIGHT: number;
|
|
3909
|
+
/**
|
|
3910
|
+
* Default rank when one isn't available in the data, default = 1
|
|
3911
|
+
* @default 1
|
|
3912
|
+
*/
|
|
3913
|
+
LOCATION_DEFAULT_RANK: number;
|
|
3914
|
+
/**
|
|
3915
|
+
* Ratio of Fuzzy Searches of Location names and tags relative to exact
|
|
3916
|
+
* @default 0.01
|
|
3917
|
+
*/
|
|
3918
|
+
RATIO_OF_FUZZY_TO_EXACT: number;
|
|
3919
|
+
/**
|
|
3920
|
+
* Ratio of Prefix Searches of Location names and tags relative to exact
|
|
3921
|
+
* @default 0.2
|
|
3922
|
+
*/
|
|
3923
|
+
RATIO_OF_PREFIX_TO_EXACT: number;
|
|
3924
|
+
};
|
|
3925
|
+
};
|
|
3926
|
+
export type TMappedinOfflineAllSearchMatch = {
|
|
3927
|
+
/**
|
|
3928
|
+
* The term that was found
|
|
3929
|
+
*/
|
|
3930
|
+
term: string;
|
|
3931
|
+
/**
|
|
3932
|
+
* Term's weight
|
|
3933
|
+
*/
|
|
3934
|
+
weight: number;
|
|
3935
|
+
/**
|
|
3936
|
+
* What field the search matched on
|
|
3937
|
+
*/
|
|
3938
|
+
matchesOn: string;
|
|
3939
|
+
/**
|
|
3940
|
+
* The value of that field
|
|
3941
|
+
*/
|
|
3942
|
+
value?: string;
|
|
3943
|
+
};
|
|
3944
|
+
export type TMappedinOfflineSearchOptions = Partial<TMappedinOfflineSearchAllOptions>;
|
|
3945
|
+
export type TMappedinOfflineSearchResult = {
|
|
3946
|
+
/**
|
|
3947
|
+
* Type describing the object
|
|
3948
|
+
*/
|
|
3949
|
+
type: 'MappedinLocation' | 'MappedinCategory' | 'Custom';
|
|
3950
|
+
/**
|
|
3951
|
+
* Details on why the result was returned
|
|
3952
|
+
*/
|
|
3953
|
+
matches: TMappedinOfflineAllSearchMatch[];
|
|
3954
|
+
/**
|
|
3955
|
+
* Found object
|
|
3956
|
+
*/
|
|
3957
|
+
object: MappedinLocation | MappedinCategory | Record<string, unknown>;
|
|
3958
|
+
/**
|
|
3959
|
+
* Total score of the result
|
|
3960
|
+
*/
|
|
3961
|
+
score: number;
|
|
3962
|
+
};
|
|
3963
|
+
export type TMappedinOfflineSearchSuggestions = {
|
|
3964
|
+
/**
|
|
3965
|
+
* Total number of suggestions generated
|
|
3966
|
+
*/
|
|
3967
|
+
total: number;
|
|
3968
|
+
/**
|
|
3969
|
+
* List of suggestions
|
|
3970
|
+
*/
|
|
3971
|
+
hits: {
|
|
3972
|
+
/**
|
|
3973
|
+
* Suggestion text
|
|
3974
|
+
*/
|
|
3975
|
+
text: string;
|
|
3976
|
+
}[];
|
|
3977
|
+
};
|
|
3978
|
+
/**
|
|
3979
|
+
* A {@link OfflineSearch} is an offline search module. It can be initialized at any time by passing the {@link Mappedin} object and a set of {@link TMappedinOfflineSearchOptions} options.
|
|
3980
|
+
*
|
|
3981
|
+
*
|
|
3982
|
+
* @class Mappedin.OfflineSearch
|
|
3983
|
+
*/
|
|
3984
|
+
export class OfflineSearch {
|
|
3985
|
+
#private;
|
|
3986
|
+
constructor(
|
|
3987
|
+
/**
|
|
3988
|
+
* Mappedin Venue Object, typically returned by `getVenue`/`showVenue`
|
|
3989
|
+
*/
|
|
3990
|
+
mappedin: Mappedin, options?: TMappedinOfflineSearchOptions);
|
|
3991
|
+
/**
|
|
3992
|
+
* Get Suggestions for term
|
|
3993
|
+
*/
|
|
3994
|
+
suggest(
|
|
3995
|
+
/**
|
|
3996
|
+
* Search term
|
|
3997
|
+
*/
|
|
3998
|
+
term: string): Promise<TMappedinOfflineSearchSuggestions>;
|
|
3999
|
+
/**
|
|
4000
|
+
* Search for a term
|
|
4001
|
+
*/
|
|
4002
|
+
search(
|
|
4003
|
+
/**
|
|
4004
|
+
* Search term
|
|
4005
|
+
*/
|
|
4006
|
+
term: string): Promise<TMappedinOfflineSearchResult[]>;
|
|
4007
|
+
/**
|
|
4008
|
+
* Export search index to JSON for storage/caching - this would avoid having to re-index
|
|
4009
|
+
* on page reload
|
|
4010
|
+
*/
|
|
4011
|
+
toJSON(): Promise<string>;
|
|
4012
|
+
/**
|
|
4013
|
+
* Add a custom query to the search index
|
|
4014
|
+
*/
|
|
4015
|
+
addQuery(params: {
|
|
4016
|
+
/**
|
|
4017
|
+
* Query string to match for this object
|
|
4018
|
+
*/
|
|
4019
|
+
query: string;
|
|
4020
|
+
/**
|
|
4021
|
+
* Object that is returned when query matches
|
|
4022
|
+
*/
|
|
4023
|
+
object: MappedinLocation | MappedinCategory | Record<string, unknown>;
|
|
4024
|
+
/**
|
|
4025
|
+
* Optional weight to multiply by the score
|
|
4026
|
+
*/
|
|
4027
|
+
weight?: number;
|
|
4028
|
+
}): Promise<void>;
|
|
4029
|
+
}
|
|
4030
|
+
}
|
|
4031
|
+
|
|
3467
4032
|
declare module '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.API.types' {
|
|
3468
4033
|
/**
|
|
3469
4034
|
* This file contains the API types for MappedinSDK - before they get turned into Classes
|
|
@@ -3579,9 +4144,6 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.API.
|
|
|
3579
4144
|
export type TMapGroup = {
|
|
3580
4145
|
name: string;
|
|
3581
4146
|
id: string;
|
|
3582
|
-
maps: {
|
|
3583
|
-
id: TMap['id'];
|
|
3584
|
-
}[];
|
|
3585
4147
|
};
|
|
3586
4148
|
export type TBuilding = TLocation & {
|
|
3587
4149
|
groupId: string;
|
|
@@ -3634,27 +4196,32 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.API.
|
|
|
3634
4196
|
entranceNodeId: string;
|
|
3635
4197
|
score: number;
|
|
3636
4198
|
};
|
|
3637
|
-
export type
|
|
3638
|
-
address: string;
|
|
3639
|
-
city: string;
|
|
3640
|
-
countrycode: string;
|
|
3641
|
-
defaultMap: string;
|
|
3642
|
-
externalId: string;
|
|
4199
|
+
export type TLocationState = {
|
|
3643
4200
|
id: string;
|
|
3644
|
-
latitude: number;
|
|
3645
|
-
logo: TLogo;
|
|
3646
|
-
longitude: number;
|
|
3647
|
-
metadata?: any;
|
|
3648
4201
|
name: string;
|
|
3649
|
-
|
|
3650
|
-
|
|
3651
|
-
|
|
3652
|
-
|
|
3653
|
-
|
|
3654
|
-
|
|
3655
|
-
|
|
3656
|
-
|
|
3657
|
-
|
|
4202
|
+
value: string;
|
|
4203
|
+
};
|
|
4204
|
+
export type TVenue = {
|
|
4205
|
+
address?: string;
|
|
4206
|
+
city?: string;
|
|
4207
|
+
countrycode?: string;
|
|
4208
|
+
defaultMap?: string;
|
|
4209
|
+
externalId?: string;
|
|
4210
|
+
id?: string;
|
|
4211
|
+
latitude?: number;
|
|
4212
|
+
logo?: TLogo;
|
|
4213
|
+
longitude?: number;
|
|
4214
|
+
metadata?: any;
|
|
4215
|
+
name?: string;
|
|
4216
|
+
operationHours?: TOpeningHours[];
|
|
4217
|
+
postal?: string;
|
|
4218
|
+
slug?: string;
|
|
4219
|
+
state?: string;
|
|
4220
|
+
telephone?: string;
|
|
4221
|
+
tzid?: string;
|
|
4222
|
+
tzidOverride?: string;
|
|
4223
|
+
utcOffset?: string;
|
|
4224
|
+
website?: string;
|
|
3658
4225
|
};
|
|
3659
4226
|
export type TMappedinAPI = {
|
|
3660
4227
|
nodes: TNode[];
|
|
@@ -3666,6 +4233,8 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.API.
|
|
|
3666
4233
|
themes: any;
|
|
3667
4234
|
venue: TVenue;
|
|
3668
4235
|
vortexes: TVortex[];
|
|
4236
|
+
locationStates?: TLocationState[];
|
|
4237
|
+
imageBinaries?: Map<string, Uint8Array>;
|
|
3669
4238
|
};
|
|
3670
4239
|
}
|
|
3671
4240
|
|
|
@@ -3804,6 +4373,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
3804
4373
|
RIGHT = "right"
|
|
3805
4374
|
}
|
|
3806
4375
|
class FloatingLabel extends BaseCollider implements ISmarterLabel {
|
|
4376
|
+
#private;
|
|
3807
4377
|
lines: number;
|
|
3808
4378
|
contextConfigured: boolean;
|
|
3809
4379
|
fillText: TDrawFn | undefined;
|
|
@@ -3813,11 +4383,10 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
3813
4383
|
clearColor: () => void;
|
|
3814
4384
|
zoomProportion: number;
|
|
3815
4385
|
_cache: {};
|
|
3816
|
-
_dirty: boolean;
|
|
3817
4386
|
appearance: TAppearanceFilledIn;
|
|
3818
4387
|
mapView: ICore;
|
|
3819
4388
|
constructor(options: TFloatingLabelOptionsInternal, mapView: ICore);
|
|
3820
|
-
enable(): void;
|
|
4389
|
+
enable(updateEngine?: boolean): void;
|
|
3821
4390
|
get strategies(): TColliderStrategy[];
|
|
3822
4391
|
getCachedSymbol(orientation: any, textAlign: any, xCoordinate: any): any;
|
|
3823
4392
|
colliderDidMount(): void;
|
|
@@ -3826,7 +4395,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
3826
4395
|
colliderDidUpdateVisiblity(): void;
|
|
3827
4396
|
colliderDidGoOutsideGrid(): void;
|
|
3828
4397
|
colliderDidNotFindAHome(): void;
|
|
3829
|
-
disable(): void;
|
|
4398
|
+
disable(updateEngine?: boolean): void;
|
|
3830
4399
|
draw(context: CanvasRenderingContext2D): void;
|
|
3831
4400
|
static original: FloatingLabel;
|
|
3832
4401
|
static clone(options: TFloatingLabelOptionsInternal, mapView: ICore): any;
|
|
@@ -3957,19 +4526,19 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
3957
4526
|
}
|
|
3958
4527
|
export type TBlueDotPositionUpdate = {
|
|
3959
4528
|
/**
|
|
3960
|
-
*
|
|
4529
|
+
* The {@link MappedinMap} Blue Dot position is on
|
|
3961
4530
|
*/
|
|
3962
4531
|
map?: MappedinMap;
|
|
3963
4532
|
/**
|
|
3964
|
-
* The nearest
|
|
4533
|
+
* The nearest {@link MappedinNode} to the Blue Dot position
|
|
3965
4534
|
*/
|
|
3966
4535
|
nearestNode?: MappedinNode;
|
|
3967
4536
|
/**
|
|
3968
|
-
* Actual position of
|
|
4537
|
+
* Actual position of Blue Dot (post smoothing, if smoothing is enabled)
|
|
3969
4538
|
*/
|
|
3970
4539
|
position?: TGeolocationObject;
|
|
3971
4540
|
/**
|
|
3972
|
-
* Current
|
|
4541
|
+
* Current Blue Dot bearing
|
|
3973
4542
|
*/
|
|
3974
4543
|
bearing?: number;
|
|
3975
4544
|
};
|
|
@@ -3979,11 +4548,11 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
3979
4548
|
*/
|
|
3980
4549
|
name: E_BLUEDOT_STATE;
|
|
3981
4550
|
/**
|
|
3982
|
-
* Visiblity
|
|
4551
|
+
* Visiblity state of the Blue Dot marker
|
|
3983
4552
|
*/
|
|
3984
4553
|
markerVisibility?: E_BLUEDOT_MARKER_STATE;
|
|
3985
4554
|
/**
|
|
3986
|
-
* Reason why
|
|
4555
|
+
* Reason why Blue Dot may be in the current state
|
|
3987
4556
|
*/
|
|
3988
4557
|
reason?: E_BLUEDOT_STATE_REASON;
|
|
3989
4558
|
/**
|
|
@@ -4003,80 +4572,84 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
4003
4572
|
FakeGeolocation: typeof FakeGeolocation;
|
|
4004
4573
|
};
|
|
4005
4574
|
export default BlueDot;
|
|
4006
|
-
}
|
|
4007
|
-
|
|
4008
|
-
declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.SmartTooltip' {
|
|
4009
|
-
import './Mappedin.SmartTooltip.scss';
|
|
4010
|
-
import { COLLISION_RANKING_TIERS } from '@mappedin/react-native-sdk/core/packages/renderer/MapView.enums';
|
|
4011
|
-
import HTMLCollider, { IHTMLCollider } from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.HTMLCollider';
|
|
4012
|
-
import { Vector3 } from 'three';
|
|
4013
|
-
import { TColliderStrategy } from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.SmartCollider';
|
|
4014
|
-
/**
|
|
4015
|
-
|
|
4016
|
-
|
|
4017
|
-
|
|
4018
|
-
|
|
4019
|
-
|
|
4020
|
-
|
|
4021
|
-
|
|
4022
|
-
|
|
4023
|
-
|
|
4024
|
-
|
|
4025
|
-
|
|
4026
|
-
|
|
4027
|
-
|
|
4028
|
-
|
|
4029
|
-
|
|
4030
|
-
|
|
4031
|
-
|
|
4032
|
-
|
|
4033
|
-
|
|
4034
|
-
|
|
4035
|
-
|
|
4036
|
-
|
|
4037
|
-
|
|
4575
|
+
}
|
|
4576
|
+
|
|
4577
|
+
declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.SmartTooltip' {
|
|
4578
|
+
import './Mappedin.SmartTooltip.scss';
|
|
4579
|
+
import { COLLISION_RANKING_TIERS } from '@mappedin/react-native-sdk/core/packages/renderer/MapView.enums';
|
|
4580
|
+
import HTMLCollider, { IHTMLCollider } from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.HTMLCollider';
|
|
4581
|
+
import { Vector3 } from 'three';
|
|
4582
|
+
import { TColliderStrategy } from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.SmartCollider';
|
|
4583
|
+
/**
|
|
4584
|
+
*
|
|
4585
|
+
* A Tooltip is an html element that attempts to orient itself around an anchor in 3D space. It will always maintain the same size on the screen, but will attempt to change its orientation based on other colliders in the scene.
|
|
4586
|
+
*
|
|
4587
|
+
* Make your own and add it directly to the map with {{#crossLink "MapView/createTooltip:method"}}{{/crossLink}}, or use the constructor and add it when you want.
|
|
4588
|
+
*
|
|
4589
|
+
* You will need to specify at least `options.position` and one of `options.html` and `options.selector` OR `options.contentHtml`.
|
|
4590
|
+
*
|
|
4591
|
+
*
|
|
4592
|
+
* @class Tooltip
|
|
4593
|
+
*
|
|
4594
|
+
* @constructor
|
|
4595
|
+
* @param options {Object} Passes on options (e.g. html, text, position, map, padding, defaultAnchorType, enabledAnchorTypes, collisionRank) to MapView.Tooltip's options argument.
|
|
4596
|
+
* @param [options.html] Pass in custom html for your marker, if using this method you must also pass in a selector for your content.
|
|
4597
|
+
* @param [options.selector] Used in conjuction with the html property to select the div for repositioning
|
|
4598
|
+
* @param [options.contentHtml] Use mappedin's default tooltip styling with custom inner html content
|
|
4599
|
+
* @param [options.text] Instead of passing html pass in plain text to be displayed in the tooltip
|
|
4600
|
+
* @param [options.position] should be something you got from {{#crossLink "MapView/getPositionPolygon:method"}}{{/crossLink}} or {{#crossLink "MapView/getPositionNode:method"}}{{/crossLink}}.
|
|
4601
|
+
* @param [options.map] The map ID where the tooltip should be displayed
|
|
4602
|
+
* @param [options.defaultAnchorType] The default orientation to place the tooltip.
|
|
4603
|
+
* @param [options.padding] The distance in pixel to offset the tooltip from the anchor point.
|
|
4604
|
+
* @param [options.enabledAnchorTypes] An object used to disable certain anchor positions from being used.
|
|
4605
|
+
* @param [options.collisionRank] The rank of the object used when comparing colliders to determine which should be shown.
|
|
4606
|
+
*/
|
|
4038
4607
|
export type TSmartTooltipOptions = {
|
|
4039
|
-
|
|
4040
|
-
|
|
4041
|
-
|
|
4042
|
-
|
|
4043
|
-
|
|
4044
|
-
|
|
4045
|
-
|
|
4046
|
-
|
|
4047
|
-
|
|
4048
|
-
|
|
4049
|
-
|
|
4050
|
-
|
|
4051
|
-
|
|
4608
|
+
html?: string;
|
|
4609
|
+
contentHtml?: string;
|
|
4610
|
+
text?: string;
|
|
4611
|
+
position: Vector3;
|
|
4612
|
+
selector?: string;
|
|
4613
|
+
map: string;
|
|
4614
|
+
padding?: number;
|
|
4615
|
+
alwaysVisible?: boolean;
|
|
4616
|
+
collisionRank?: COLLISION_RANKING_TIERS;
|
|
4617
|
+
defaultAnchorType?: string;
|
|
4618
|
+
enabledAnchorTypes?: {
|
|
4619
|
+
[type: string]: boolean;
|
|
4620
|
+
};
|
|
4052
4621
|
};
|
|
4053
4622
|
type TTooltipStyle = {
|
|
4054
|
-
|
|
4055
|
-
|
|
4623
|
+
top?: string;
|
|
4624
|
+
left?: string;
|
|
4056
4625
|
};
|
|
4057
4626
|
export type TOOLTIP_ANCHOR = {
|
|
4058
|
-
|
|
4059
|
-
|
|
4060
|
-
|
|
4061
|
-
|
|
4062
|
-
|
|
4063
|
-
|
|
4064
|
-
|
|
4065
|
-
|
|
4627
|
+
top?: boolean;
|
|
4628
|
+
left?: boolean;
|
|
4629
|
+
topLeft?: boolean;
|
|
4630
|
+
right?: boolean;
|
|
4631
|
+
topRight?: boolean;
|
|
4632
|
+
bottom?: boolean;
|
|
4633
|
+
bottomLeft?: boolean;
|
|
4634
|
+
bottomRight?: boolean;
|
|
4066
4635
|
};
|
|
4067
4636
|
class SmartTooltip extends HTMLCollider implements IHTMLCollider {
|
|
4068
|
-
|
|
4069
|
-
|
|
4070
|
-
|
|
4071
|
-
|
|
4072
|
-
|
|
4073
|
-
|
|
4074
|
-
|
|
4075
|
-
|
|
4076
|
-
|
|
4077
|
-
|
|
4078
|
-
|
|
4079
|
-
|
|
4637
|
+
#private;
|
|
4638
|
+
className: string;
|
|
4639
|
+
_el: Element | null;
|
|
4640
|
+
style: TTooltipStyle;
|
|
4641
|
+
constructor(options: TSmartTooltipOptions);
|
|
4642
|
+
updateClassName: (className: any) => void;
|
|
4643
|
+
get strategies(): TColliderStrategy[];
|
|
4644
|
+
colliderDidMount(): void;
|
|
4645
|
+
/**
|
|
4646
|
+
* @internal
|
|
4647
|
+
*/
|
|
4648
|
+
updateDimensionsImmediately(): void;
|
|
4649
|
+
setAction(action: any): void;
|
|
4650
|
+
colliderDidNotFindAHome(): void;
|
|
4651
|
+
colliderDidGoOffscreen(): void;
|
|
4652
|
+
colliderDidUpdateVisiblity(): void;
|
|
4080
4653
|
}
|
|
4081
4654
|
export default SmartTooltip;
|
|
4082
4655
|
}
|
|
@@ -4088,6 +4661,9 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/layers/BlueDot
|
|
|
4088
4661
|
import { TEnableBlueDotOptions } from '@mappedin/react-native-sdk/core/packages/renderer/MapView.types';
|
|
4089
4662
|
import { PubSub } from '@mappedin/react-native-sdk/core/packages/renderer/internal/pub-sub.typed';
|
|
4090
4663
|
import EventSystemLayer from '@mappedin/react-native-sdk/core/packages/renderer/layers/EventSystem';
|
|
4664
|
+
/**
|
|
4665
|
+
* Blue Dot Layer used for controlling the Blue Dot and listening to Blue Dot state change and position update events. Use the {@link on}-method to set listeners for {@link TBlueDotStateChange} and {@link TBlueDotPositionUpdate} events.
|
|
4666
|
+
*/
|
|
4091
4667
|
class BlueDotLayer extends PubSub<E_BLUEDOT_EVENT_PAYLOAD, E_BLUEDOT_EVENT> {
|
|
4092
4668
|
#private;
|
|
4093
4669
|
/**
|
|
@@ -4099,7 +4675,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/layers/BlueDot
|
|
|
4099
4675
|
*/
|
|
4100
4676
|
enable(options?: TEnableBlueDotOptions): void;
|
|
4101
4677
|
/**
|
|
4102
|
-
*
|
|
4678
|
+
* Disables Blue Dot and stops emitting events.
|
|
4103
4679
|
*/
|
|
4104
4680
|
disable(): void;
|
|
4105
4681
|
}
|
|
@@ -4118,7 +4694,17 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/layers/Journey
|
|
|
4118
4694
|
*/
|
|
4119
4695
|
constructor(mapView: MapView, core: ICore);
|
|
4120
4696
|
/**
|
|
4121
|
-
* Draw a Journey
|
|
4697
|
+
* Draw a Journey based on directions. Example usage:
|
|
4698
|
+
*
|
|
4699
|
+
* ```typescript
|
|
4700
|
+
* const startLocation = venue.locations.find(location => location.name === "Cleo");
|
|
4701
|
+
* const endLocation = venue.locations.find(location => location.name === "American Eagle");
|
|
4702
|
+
*
|
|
4703
|
+
* const directions = startLocation.directionsTo(endLocation);
|
|
4704
|
+
* mapView.Journey.draw(directions);
|
|
4705
|
+
* ```
|
|
4706
|
+
*
|
|
4707
|
+
* Use options to set connection (such as elevators and escalators) HTML tooltip template, departure and destination marker templates, path style and polygon higlight color. If no options are set, sane defaults are used to draw markers, tooltips and polygon highlights.
|
|
4122
4708
|
*/
|
|
4123
4709
|
draw(directions: MappedinDirections | MappedinDirections[], options?: TJourneyOptions): Journey;
|
|
4124
4710
|
/**
|
|
@@ -4151,8 +4737,10 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
4151
4737
|
}
|
|
4152
4738
|
export class FlatLabel {
|
|
4153
4739
|
constructor(options: any, venue: any, mapObject: any, DEFAULT_FONT: any, polygonMeshesById: any, textLabelsByPolygonId: any, mapView: any, scope: any, atlas: any);
|
|
4740
|
+
id: any;
|
|
4154
4741
|
text: any;
|
|
4155
4742
|
stateText: string;
|
|
4743
|
+
fullText: any;
|
|
4156
4744
|
font: any;
|
|
4157
4745
|
atlas: any;
|
|
4158
4746
|
canvasBounds: any;
|
|
@@ -4166,8 +4754,8 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
4166
4754
|
polygonMeshesById: any;
|
|
4167
4755
|
polyId: any;
|
|
4168
4756
|
map: any;
|
|
4169
|
-
color:
|
|
4170
|
-
baseColor:
|
|
4757
|
+
color: any;
|
|
4758
|
+
baseColor: any;
|
|
4171
4759
|
hideOnCreate: boolean;
|
|
4172
4760
|
hoverLabelText: any;
|
|
4173
4761
|
fontSize: number;
|
|
@@ -4198,7 +4786,6 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
4198
4786
|
index: any;
|
|
4199
4787
|
layout(map: any, origin: any, size: any, rotation: any, uv: any, color: any): void;
|
|
4200
4788
|
}
|
|
4201
|
-
import { Color } from "three/src/math/Color";
|
|
4202
4789
|
export {};
|
|
4203
4790
|
}
|
|
4204
4791
|
|
|
@@ -4376,23 +4963,6 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/pub-s
|
|
|
4376
4963
|
}
|
|
4377
4964
|
}
|
|
4378
4965
|
|
|
4379
|
-
declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.CameraControls' {
|
|
4380
|
-
export default CameraControls;
|
|
4381
|
-
/**
|
|
4382
|
-
* The advanced, manual camera controls for {{#crossLink "MapView"}}{{/crossLink}}. You probably don't need to use this at all, instead relying on the MapView's {{#crossLink "MapView/focusOn:method"}}{{/crossLink}}, {{#crossLink "MapView/resetCamera:method"}}{{/crossLink}} and built in touch/mouse controls.
|
|
4383
|
-
* This class will let you do things like change the min/max zoom, tilt, and pan, attach to camera events, and move/animate the camera to specifc points.
|
|
4384
|
-
*
|
|
4385
|
-
* The camera works by setting an anchor point on the scene at ground level and pointing the camera at it. {{#crossLink "CameraControls/zoom:method"}}{{/crossLink}} controls how far the camera is from the anchor, and {{#crossLink "CameraControls/tilt:method"}}{{/crossLink}}/{{#crossLink "CameraControls/rotate:method"}}{{/crossLink}} controls the angle the camera is rotated about it.
|
|
4386
|
-
* The camera will always be pointed directly at the anchor point. {{#crossLink "CameraControls/pan:method"}}{{/crossLink}} or {{#crossLink "CameraControls/setPosition:method"}}{{/crossLink}} will move that anchor around on the 2D ground plane.
|
|
4387
|
-
*
|
|
4388
|
-
* Created for you automatically with a MapView, don't re-create yourself.
|
|
4389
|
-
* @type {any}
|
|
4390
|
-
*
|
|
4391
|
-
* @class CameraControls
|
|
4392
|
-
*/
|
|
4393
|
-
let CameraControls: any;
|
|
4394
|
-
}
|
|
4395
|
-
|
|
4396
4966
|
declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.RenderTasks' {
|
|
4397
4967
|
export default RENDER;
|
|
4398
4968
|
namespace RENDER {
|
|
@@ -4748,9 +5318,9 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView' {
|
|
|
4748
5318
|
|
|
4749
5319
|
declare module '@mappedin/react-native-sdk/core/packages/renderer' {
|
|
4750
5320
|
import Search from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.Search';
|
|
4751
|
-
import Analytics from '@mappedin/react-native-sdk/core/packages/
|
|
5321
|
+
import Analytics from '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.Analytics';
|
|
4752
5322
|
import { MapView } from '@mappedin/react-native-sdk/core/packages/renderer/MapView';
|
|
4753
|
-
import { getVenue, getVenueBundle, Mappedin, downloadBundle, getVenueBundleURL, MappedinDestinationSet, MappedinMap, TGetVenueBundleOptions, TGetVenueOptions } from '@mappedin/react-native-sdk/core/packages/get-venue';
|
|
5323
|
+
import { getVenue, getVenueBundle, Mappedin, downloadBundle, getVenueBundleURL, downloadVenueBundleMVF, MappedinDestinationSet, MappedinMap, TGetVenueBundleOptions, TGetVenueOptions } from '@mappedin/react-native-sdk/core/packages/get-venue';
|
|
4754
5324
|
import { PositionUpdater } from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.BlueDot/Mappedin.BlueDot.core';
|
|
4755
5325
|
import type { TMapViewOptions, TJourneyOptions } from '@mappedin/react-native-sdk/core/packages/renderer/MapView.types';
|
|
4756
5326
|
import { labelThemes } from '@mappedin/react-native-sdk/core/packages/renderer/MapView.types';
|
|
@@ -4781,9 +5351,9 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer' {
|
|
|
4781
5351
|
*/
|
|
4782
5352
|
function showVenue<T extends Mappedin>(el: HTMLElement, venue: T, options?: TMapViewOptions): Promise<MapView>;
|
|
4783
5353
|
export { COLLISION_RANKING_TIERS, STATE, E_SDK_EVENT, E_BLUEDOT_STATE_REASON, E_BLUEDOT_MARKER_STATE, E_BLUEDOT_EVENT, E_BLUEDOT_STATE, E_CAMERA_EVENT } from '@mappedin/react-native-sdk/core/packages/renderer/MapView.enums';
|
|
4784
|
-
export { Search, getVenue, getVenueBundle, showVenue, downloadBundle, getVenueBundleURL, PositionUpdater, Analytics, MappedinDestinationSet, MARKER_ANCHOR, labelThemes };
|
|
5354
|
+
export { Search, getVenue, getVenueBundle, showVenue, downloadBundle, getVenueBundleURL, downloadVenueBundleMVF, PositionUpdater, Analytics, MappedinDestinationSet, MARKER_ANCHOR, labelThemes };
|
|
4785
5355
|
import DefaultAssetManager from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.AssetManager';
|
|
4786
|
-
const setAssetManager: (am:
|
|
5356
|
+
const setAssetManager: <T extends DefaultAssetManager>(am: T) => void;
|
|
4787
5357
|
/**
|
|
4788
5358
|
* @internal
|
|
4789
5359
|
*/
|
|
@@ -4797,8 +5367,234 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer' {
|
|
|
4797
5367
|
export type { MapView } from '@mappedin/react-native-sdk/core/packages/renderer/MapView';
|
|
4798
5368
|
export type { TSafeAreaInsets, TFocusOnTargets, TFocusOnCameraOptions, TAnimatePositionOptions, TCameraAnimationOptions, TFocusOnOptions, default as Camera } from '@mappedin/react-native-sdk/core/packages/renderer/Camera';
|
|
4799
5369
|
export { SAFE_AREA_INSET_TYPE, ANIMATION_TWEENS, CAMERA_EASING_MODE } from '@mappedin/react-native-sdk/core/packages/renderer/Camera';
|
|
4800
|
-
export type { TGetVenueOptions,
|
|
4801
|
-
export { Mappedin, MappedinDirections } from '@mappedin/react-native-sdk/core/packages/get-venue';
|
|
5370
|
+
export type { TGetVenueOptions, TShowVenueOptions, TMappedinOfflineSearchOptions, TMappedinOfflineSearchResult, TMappedinOfflineSearchSuggestions, TMappedinOfflineAllSearchMatch, TMappedinOfflineSearchAllOptions } from '@mappedin/react-native-sdk/core/packages/get-venue';
|
|
5371
|
+
export { Mappedin, MappedinDirections, MappedinLocation, MappedinPolygon, MappedinNode, MappedinCategory, MappedinMap, MappedinEvent, MappedinMapGroup, MappedinVenue, MappedinVortex, MappedinNavigatable, MappedinCoordinate, OfflineSearch, MAP_RENDER_MODE } from '@mappedin/react-native-sdk/core/packages/get-venue';
|
|
5372
|
+
export { BundleAssetManager } from '@mappedin/react-native-sdk/core/packages/renderer/bundle-asset-manager';
|
|
5373
|
+
}
|
|
5374
|
+
|
|
5375
|
+
declare module '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.MVF.types' {
|
|
5376
|
+
import { FeatureCollection, Polygon, Point, MultiPolygon, Position } from 'geojson';
|
|
5377
|
+
type ManifestFile = {
|
|
5378
|
+
type: 'file';
|
|
5379
|
+
name: string;
|
|
5380
|
+
};
|
|
5381
|
+
type ManifestFolder = {
|
|
5382
|
+
type: 'folder';
|
|
5383
|
+
name: string;
|
|
5384
|
+
children: ManifestFile[];
|
|
5385
|
+
};
|
|
5386
|
+
type OpeningHours = {
|
|
5387
|
+
opens: string;
|
|
5388
|
+
closes: string;
|
|
5389
|
+
dayOfWeek: string;
|
|
5390
|
+
validFrom?: string;
|
|
5391
|
+
validThrough?: string;
|
|
5392
|
+
};
|
|
5393
|
+
type Image = {
|
|
5394
|
+
original?: string;
|
|
5395
|
+
xlarge?: string;
|
|
5396
|
+
xxlarge?: string;
|
|
5397
|
+
medium?: string;
|
|
5398
|
+
'140x140'?: string;
|
|
5399
|
+
xsmall?: string;
|
|
5400
|
+
xxsmall?: string;
|
|
5401
|
+
'66x66'?: string;
|
|
5402
|
+
small?: string;
|
|
5403
|
+
large?: string;
|
|
5404
|
+
};
|
|
5405
|
+
type PolygonImage = string;
|
|
5406
|
+
type Phone = {
|
|
5407
|
+
number: string;
|
|
5408
|
+
extension?: string;
|
|
5409
|
+
};
|
|
5410
|
+
type Link = {
|
|
5411
|
+
label: string;
|
|
5412
|
+
url: string;
|
|
5413
|
+
};
|
|
5414
|
+
type Social = {
|
|
5415
|
+
facebook?: string;
|
|
5416
|
+
twitter?: string;
|
|
5417
|
+
instagram?: string;
|
|
5418
|
+
website?: string;
|
|
5419
|
+
};
|
|
5420
|
+
type LocationState = {
|
|
5421
|
+
type: string;
|
|
5422
|
+
start?: string;
|
|
5423
|
+
end?: string;
|
|
5424
|
+
};
|
|
5425
|
+
type SiblingGroup = {
|
|
5426
|
+
label: string;
|
|
5427
|
+
siblings: string[];
|
|
5428
|
+
};
|
|
5429
|
+
export type MILocationProperties = {
|
|
5430
|
+
id: string;
|
|
5431
|
+
address?: string | null;
|
|
5432
|
+
categories: string[];
|
|
5433
|
+
description?: string | null;
|
|
5434
|
+
email?: string | null;
|
|
5435
|
+
externalId?: string | null;
|
|
5436
|
+
hours?: OpeningHours[] | null;
|
|
5437
|
+
links?: Link[] | null;
|
|
5438
|
+
logo?: Image | null;
|
|
5439
|
+
name: string;
|
|
5440
|
+
phone?: Phone | null;
|
|
5441
|
+
picture?: Image | null;
|
|
5442
|
+
services?: string | null;
|
|
5443
|
+
siblingGroups?: SiblingGroup[] | null;
|
|
5444
|
+
social?: Social | null;
|
|
5445
|
+
spaces?: TLocationSpaceReference[] | null;
|
|
5446
|
+
states?: LocationState[] | null;
|
|
5447
|
+
type: string;
|
|
5448
|
+
};
|
|
5449
|
+
export type MICategoryProperties = {
|
|
5450
|
+
id: string;
|
|
5451
|
+
name: string;
|
|
5452
|
+
picture?: Image;
|
|
5453
|
+
};
|
|
5454
|
+
export type MIBuildingProperties = {
|
|
5455
|
+
id: string;
|
|
5456
|
+
name: string;
|
|
5457
|
+
venue: string;
|
|
5458
|
+
};
|
|
5459
|
+
export type MILevelProperties = {
|
|
5460
|
+
id: string;
|
|
5461
|
+
abbreviation?: string;
|
|
5462
|
+
building?: string;
|
|
5463
|
+
elevation?: number;
|
|
5464
|
+
name: string;
|
|
5465
|
+
};
|
|
5466
|
+
export type MIPolygonlikeProperties = {
|
|
5467
|
+
id: string;
|
|
5468
|
+
altitude?: string;
|
|
5469
|
+
color?: string;
|
|
5470
|
+
externalId?: string | null;
|
|
5471
|
+
height?: string;
|
|
5472
|
+
layer?: string;
|
|
5473
|
+
level: string;
|
|
5474
|
+
parent?: string | null;
|
|
5475
|
+
};
|
|
5476
|
+
type TPseudoNodeSpaceReference = {
|
|
5477
|
+
node: string;
|
|
5478
|
+
map: string;
|
|
5479
|
+
};
|
|
5480
|
+
export type TRealSpaceReference = {
|
|
5481
|
+
id: string;
|
|
5482
|
+
map: string;
|
|
5483
|
+
};
|
|
5484
|
+
type TLocationSpaceReference = TPseudoNodeSpaceReference | TRealSpaceReference;
|
|
5485
|
+
export type TEntrances = {
|
|
5486
|
+
id: string;
|
|
5487
|
+
level: string;
|
|
5488
|
+
};
|
|
5489
|
+
export type MISpaceProperties = MIPolygonlikeProperties & {
|
|
5490
|
+
entrances: TEntrances[];
|
|
5491
|
+
};
|
|
5492
|
+
export type MIObstructionProperties = MIPolygonlikeProperties;
|
|
5493
|
+
export type MIConnectionProperties = {
|
|
5494
|
+
id: string;
|
|
5495
|
+
accessible: boolean;
|
|
5496
|
+
destinations: string[];
|
|
5497
|
+
level: string;
|
|
5498
|
+
multiplier: number;
|
|
5499
|
+
name: string;
|
|
5500
|
+
type: string;
|
|
5501
|
+
weight: number;
|
|
5502
|
+
};
|
|
5503
|
+
export type MINodeProperties = {
|
|
5504
|
+
id: string;
|
|
5505
|
+
accessible: boolean;
|
|
5506
|
+
externalId: string | null;
|
|
5507
|
+
level: string;
|
|
5508
|
+
multiplier: number;
|
|
5509
|
+
neighbors: string[];
|
|
5510
|
+
weight: number;
|
|
5511
|
+
};
|
|
5512
|
+
export type MIManifestProperties = {
|
|
5513
|
+
name: string;
|
|
5514
|
+
folder_struct: (ManifestFolder | ManifestFile)[];
|
|
5515
|
+
version: string;
|
|
5516
|
+
time: string;
|
|
5517
|
+
};
|
|
5518
|
+
export type MIStyle = {
|
|
5519
|
+
id: string;
|
|
5520
|
+
/** The altitude of the bottom of the geometry, in metres. */
|
|
5521
|
+
altitude: number;
|
|
5522
|
+
color: string;
|
|
5523
|
+
height: number;
|
|
5524
|
+
image?: PolygonImage;
|
|
5525
|
+
opacity: number;
|
|
5526
|
+
};
|
|
5527
|
+
export type MIImageInstance = {
|
|
5528
|
+
/** The local path or URL of the image. */
|
|
5529
|
+
path: string;
|
|
5530
|
+
/** The position of the centre of the image, in [long, lat] form. */
|
|
5531
|
+
position: Position;
|
|
5532
|
+
/** The altitude of the image, in metres. */
|
|
5533
|
+
altitude: number;
|
|
5534
|
+
/** Euler angles representing the rotation of the image, in degrees. Angles are in XYZ order. */
|
|
5535
|
+
rotation: {
|
|
5536
|
+
x: number;
|
|
5537
|
+
y: number;
|
|
5538
|
+
z: number;
|
|
5539
|
+
};
|
|
5540
|
+
/** The size of the image, in metres. */
|
|
5541
|
+
size: {
|
|
5542
|
+
x: number;
|
|
5543
|
+
y: number;
|
|
5544
|
+
};
|
|
5545
|
+
/** The portion of the image to display. */
|
|
5546
|
+
viewBox: {
|
|
5547
|
+
top: number;
|
|
5548
|
+
left: number;
|
|
5549
|
+
width: number;
|
|
5550
|
+
height: number;
|
|
5551
|
+
};
|
|
5552
|
+
/**
|
|
5553
|
+
* A space or obstruction to associate this image with. If provided,
|
|
5554
|
+
* changes to the polygon's visibility will affect this image.
|
|
5555
|
+
* */
|
|
5556
|
+
polygonId?: string;
|
|
5557
|
+
};
|
|
5558
|
+
export type MIGeoJSONManifestCollection = FeatureCollection<Point, MIManifestProperties>;
|
|
5559
|
+
export type MIGeoJSONBuildingCollection = FeatureCollection<Polygon, MIBuildingProperties>;
|
|
5560
|
+
export type MIGeoJSONConnectionCollection = FeatureCollection<Point, MIConnectionProperties>;
|
|
5561
|
+
export type MIGeoJSONLevelCollection = FeatureCollection<Polygon | MultiPolygon, MILevelProperties>;
|
|
5562
|
+
export type MIGeoJSONSpaceCollection = FeatureCollection<Polygon, MISpaceProperties>;
|
|
5563
|
+
export type MIGeoJSONObstructionCollection = FeatureCollection<Polygon, MIObstructionProperties>;
|
|
5564
|
+
export type MIGeoJSONNodeCollection = FeatureCollection<Point, MINodeProperties>;
|
|
5565
|
+
export type MIGeoJSONLocationCollection = FeatureCollection<null, MILocationProperties>;
|
|
5566
|
+
export type MIGeoJSONCategoryCollection = FeatureCollection<null, MICategoryProperties>;
|
|
5567
|
+
export type WithIDs<T> = Map<string, T>;
|
|
5568
|
+
export type MIStyleCollection = MIStyle[];
|
|
5569
|
+
/**
|
|
5570
|
+
* A mapping of polygon IDs to style IDs;
|
|
5571
|
+
*/
|
|
5572
|
+
export type MIPolygonStyle = {
|
|
5573
|
+
[key in string]: string;
|
|
5574
|
+
};
|
|
5575
|
+
export type MIImageInstanceCollection = MIImageInstance[];
|
|
5576
|
+
/**
|
|
5577
|
+
* The entire data collection for an MVF, in a single JSON collection.
|
|
5578
|
+
*
|
|
5579
|
+
*/
|
|
5580
|
+
export type MVFDataJSON = {
|
|
5581
|
+
connection: WithIDs<MIGeoJSONConnectionCollection>;
|
|
5582
|
+
level: WithIDs<MIGeoJSONLevelCollection>;
|
|
5583
|
+
node: WithIDs<MIGeoJSONNodeCollection>;
|
|
5584
|
+
obstruction: WithIDs<MIGeoJSONObstructionCollection>;
|
|
5585
|
+
space: WithIDs<MIGeoJSONSpaceCollection>;
|
|
5586
|
+
building: MIGeoJSONBuildingCollection;
|
|
5587
|
+
category: MIGeoJSONCategoryCollection;
|
|
5588
|
+
style: MIStyleCollection;
|
|
5589
|
+
polygonStyle: WithIDs<MIPolygonStyle>;
|
|
5590
|
+
imageInstance: WithIDs<MIImageInstanceCollection>;
|
|
5591
|
+
location: MIGeoJSONLocationCollection;
|
|
5592
|
+
manifest: MIGeoJSONManifestCollection;
|
|
5593
|
+
};
|
|
5594
|
+
export type MVFData = MVFDataJSON & {
|
|
5595
|
+
imageBinaries: WithIDs<Uint8Array>;
|
|
5596
|
+
};
|
|
5597
|
+
export {};
|
|
4802
5598
|
}
|
|
4803
5599
|
|
|
4804
5600
|
declare module '@mappedin/react-native-sdk/core/packages/get-venue/MappedinLocationRankings' {
|
|
@@ -4850,9 +5646,95 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/MappedinTheme
|
|
|
4850
5646
|
}
|
|
4851
5647
|
}
|
|
4852
5648
|
|
|
5649
|
+
declare module '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.Analytics' {
|
|
5650
|
+
type AnalyticsOptions = {
|
|
5651
|
+
clientId?: string;
|
|
5652
|
+
clientSecret?: string;
|
|
5653
|
+
accessToken?: string;
|
|
5654
|
+
noAuth?: boolean;
|
|
5655
|
+
venue: string;
|
|
5656
|
+
testMode?: boolean | string;
|
|
5657
|
+
context?: string;
|
|
5658
|
+
platformString?: string;
|
|
5659
|
+
};
|
|
5660
|
+
/**
|
|
5661
|
+
* A class to access the Mappedin Analytics platform. Correct usage will improve Smart Search results, and lead to more accurate insights.
|
|
5662
|
+
* This will be created for you as part of Mappedin.{{#crossLink "Mappedin/initialize:method"}}{{/crossLink}}, but you can also create one manually. You are mostly going to use `locationSelected`.
|
|
5663
|
+
*
|
|
5664
|
+
* @type {any}
|
|
5665
|
+
*
|
|
5666
|
+
* @class Analytics
|
|
5667
|
+
* @param options {Object} A list of configuration options for the Analytics API.
|
|
5668
|
+
* @param [options.clientId] {String} The same key you are using for getVenue. Handled automatically in Mapview.initialize()
|
|
5669
|
+
* @param [options.clientSecret] {String} The same secret you are using for getVenue. Handled automatically in Mapview.initialize()
|
|
5670
|
+
* @param [options.venue] {String} The same venue slug you are using for getVenue. Handled automatically in MapView.initialize()
|
|
5671
|
+
* @param [options.context] {String} The context to pass with the analytics request. Defaults to "websdk".
|
|
5672
|
+
* @param [options.noAuth] {Boolean} Whether authentication should not be sent with analytics requests.
|
|
5673
|
+
* @param [options.testMode] {Boolean} Whether analytics events should be dropped because this is running in a test environment.
|
|
5674
|
+
*/
|
|
5675
|
+
class Analytics {
|
|
5676
|
+
#private;
|
|
5677
|
+
constructor(options: AnalyticsOptions);
|
|
5678
|
+
track(target: any, query: any): void;
|
|
5679
|
+
/**
|
|
5680
|
+
* Whenever a location is selected, you should fire this event. What "selected" means can vary by venue,
|
|
5681
|
+
* but a good rule of thumb is that you fire the event whenever you would show the location's details.
|
|
5682
|
+
* Typically this is when the user taps it's polygon on the map, picks it from search results or a category list.
|
|
5683
|
+
* or deep links directly into the map.
|
|
5684
|
+
* @method locationSelected
|
|
5685
|
+
* @param location {MappedinLocation} The location the user selected.
|
|
5686
|
+
*/
|
|
5687
|
+
locationSelected(location: any): void;
|
|
5688
|
+
/**
|
|
5689
|
+
* Whenever a category is selected, you should fire this event.
|
|
5690
|
+
* @method categorySelected
|
|
5691
|
+
* @param category {MappedinCategory} The category the user selected.
|
|
5692
|
+
*/
|
|
5693
|
+
categorySelected(category: any): void;
|
|
5694
|
+
mapViewLoaded(type: any, forced: any, benchmark: any, reason: any): void;
|
|
5695
|
+
/**
|
|
5696
|
+
* Whenever a user requests directions, you should fire this event.
|
|
5697
|
+
* @method getDirections
|
|
5698
|
+
* @param start {MappedinLocation} The start location for wayfinding.
|
|
5699
|
+
* @param end {MappedinLocation} The end location for wayfinding.
|
|
5700
|
+
*/
|
|
5701
|
+
getDirections(start: any, end: any): void;
|
|
5702
|
+
getSessionID(): string;
|
|
5703
|
+
getDeviceID(): string;
|
|
5704
|
+
/**
|
|
5705
|
+
* @param mode {Boolean} Indicates whether the user's geolocation is enabled.
|
|
5706
|
+
*/
|
|
5707
|
+
setGeolocationMode(mode: any): void;
|
|
5708
|
+
/**
|
|
5709
|
+
* Track an event.
|
|
5710
|
+
* @method trackBlueDotEvent
|
|
5711
|
+
* @param event {String}
|
|
5712
|
+
* event param should be a property of the {{#crossLink "Analytics/BLUEDOT_EVENT:property"}}{{/crossLink}} property.
|
|
5713
|
+
*/
|
|
5714
|
+
trackBlueDotEvent(blueDotEvent: any): void;
|
|
5715
|
+
trackSearch(searchAnalyticsObject: any): void;
|
|
5716
|
+
trackSearchSuggest(searchAnalyticsObject: any): void;
|
|
5717
|
+
/**
|
|
5718
|
+
* Enum of valid bluedot events.
|
|
5719
|
+
* Pass a property of this into the {{#crossLink "Analytics/trackBlueDotEvent:method"}}{{/crossLink}} method.
|
|
5720
|
+
* Valid properties are: ATTEMPT_BLUEDOT, FOUND_POSITION, FOUND_FLOOR.
|
|
5721
|
+
* @property BLUEDOT_EVENT {Object}
|
|
5722
|
+
* @example
|
|
5723
|
+
* Analytics.trackBlueDotEvent(Analytics.BLUEDOT_EVENT.ATTEMPT_BLUEDOT)
|
|
5724
|
+
*/
|
|
5725
|
+
static BLUEDOT_EVENT: {
|
|
5726
|
+
ATTEMPT_BLUEDOT: string;
|
|
5727
|
+
FOUND_POSITION: string;
|
|
5728
|
+
FOUND_FLOOR: string;
|
|
5729
|
+
};
|
|
5730
|
+
}
|
|
5731
|
+
export default Analytics;
|
|
5732
|
+
}
|
|
5733
|
+
|
|
4853
5734
|
declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.SmartCollider' {
|
|
4854
5735
|
import SmartCollisionEngine from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.SmartCollisionEngine';
|
|
4855
5736
|
import { Vector3 } from 'three';
|
|
5737
|
+
import { Rectangle } from '@mappedin/react-native-sdk/core/packages/renderer/internal/quad-tree';
|
|
4856
5738
|
export type TRange = [number, number, number, number];
|
|
4857
5739
|
type TCustomCollider<T> = ICollider & T;
|
|
4858
5740
|
export type TColliderStrategyProps = {
|
|
@@ -4866,6 +5748,10 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
4866
5748
|
getBoundingBox: (TColliderStrategyProps: any) => TRange;
|
|
4867
5749
|
onStrategySelected: (collider: TCustomCollider<any>) => void;
|
|
4868
5750
|
};
|
|
5751
|
+
export type TGetBoundingBox = ({ x, y }: {
|
|
5752
|
+
x: any;
|
|
5753
|
+
y: any;
|
|
5754
|
+
}) => [number, number, number, number];
|
|
4869
5755
|
export type TDimensions = {
|
|
4870
5756
|
width: number;
|
|
4871
5757
|
height: number;
|
|
@@ -4878,13 +5764,19 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
4878
5764
|
export interface ICollider {
|
|
4879
5765
|
dimensions: TDimensions;
|
|
4880
5766
|
screenPosition: [number, number];
|
|
4881
|
-
|
|
5767
|
+
getBoundingBoxForCurrentStrategy?: TGetBoundingBox;
|
|
4882
5768
|
options?: Record<string, unknown>;
|
|
4883
5769
|
mapId: string;
|
|
4884
5770
|
visible: boolean;
|
|
4885
5771
|
rank: number;
|
|
4886
|
-
_dirty?: boolean;
|
|
4887
5772
|
id: string;
|
|
5773
|
+
_bboxes?: [
|
|
5774
|
+
string,
|
|
5775
|
+
Rectangle,
|
|
5776
|
+
(collider: TCustomCollider<any>) => void,
|
|
5777
|
+
TGetBoundingBox
|
|
5778
|
+
][];
|
|
5779
|
+
offscreen?: boolean;
|
|
4888
5780
|
setAction: (action: EColliderAction) => void;
|
|
4889
5781
|
action?: EColliderAction;
|
|
4890
5782
|
position: Vector3;
|
|
@@ -4908,15 +5800,16 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
4908
5800
|
__engine: any;
|
|
4909
5801
|
_initialRank: number;
|
|
4910
5802
|
screenPosition: [number, number];
|
|
4911
|
-
currentStrategyName: null;
|
|
4912
5803
|
enabled: boolean;
|
|
4913
5804
|
options: any;
|
|
4914
5805
|
mapId: string;
|
|
4915
5806
|
id: string;
|
|
4916
5807
|
action: EColliderAction;
|
|
5808
|
+
getBoundingBoxForCurrentStrategy: undefined;
|
|
4917
5809
|
rank: number;
|
|
4918
5810
|
visible: boolean;
|
|
4919
|
-
|
|
5811
|
+
offscreen: boolean;
|
|
5812
|
+
position: any;
|
|
4920
5813
|
dimensions: {
|
|
4921
5814
|
width: number;
|
|
4922
5815
|
height: number;
|
|
@@ -5176,11 +6069,11 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
5176
6069
|
}
|
|
5177
6070
|
|
|
5178
6071
|
declare module '@mappedin/react-native-sdk/core/packages/renderer/layers/EventSystem' {
|
|
5179
|
-
import { Object3D
|
|
6072
|
+
import { Object3D } from 'three';
|
|
5180
6073
|
import { MapView } from '@mappedin/react-native-sdk/core/packages/renderer';
|
|
5181
6074
|
import { ICore } from '@mappedin/react-native-sdk/core/packages/renderer/Core.interface';
|
|
5182
6075
|
import BlueDotManager from '@mappedin/react-native-sdk/core/packages/renderer/internal/blue-dot-manager';
|
|
5183
|
-
export const raycaster:
|
|
6076
|
+
export const raycaster: any;
|
|
5184
6077
|
class EventSystemLayer {
|
|
5185
6078
|
mapView: MapView;
|
|
5186
6079
|
core: ICore;
|
|
@@ -5223,7 +6116,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/layers/EventSy
|
|
|
5223
6116
|
};
|
|
5224
6117
|
hasTouched: boolean;
|
|
5225
6118
|
calculateMouseCoordinates: (event: any) => void;
|
|
5226
|
-
getMouseRayIntersects: (objects: Object3D | Object3D[]) =>
|
|
6119
|
+
getMouseRayIntersects: (objects: Object3D | Object3D[]) => any;
|
|
5227
6120
|
detectPolygonsUnderMouse: () => any[];
|
|
5228
6121
|
getMouseMapPosition: () => {
|
|
5229
6122
|
x: number;
|
|
@@ -5403,6 +6296,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
5403
6296
|
get strategies(): TColliderStrategy[];
|
|
5404
6297
|
colliderDidMount(): void;
|
|
5405
6298
|
setAction(action: any): void;
|
|
6299
|
+
colliderDidNotFindAHome(): void;
|
|
5406
6300
|
colliderDidGoOffscreen(): void;
|
|
5407
6301
|
colliderDidUpdateVisiblity(): void;
|
|
5408
6302
|
}
|
|
@@ -5410,6 +6304,15 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
5410
6304
|
}
|
|
5411
6305
|
|
|
5412
6306
|
declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.MapObject' {
|
|
6307
|
+
export namespace TASK_PRIORITY {
|
|
6308
|
+
const VISIBLE_MAP_HIGH: number;
|
|
6309
|
+
const VISIBLE_MAP_LOW: number;
|
|
6310
|
+
const VISIBLE_MAP_MARKER: number;
|
|
6311
|
+
const ASYNC_MAP_HIGH: number;
|
|
6312
|
+
const ASYNC_MAP_LOW: number;
|
|
6313
|
+
const ASYNC_MAP_MARKER: number;
|
|
6314
|
+
const MAP_LOADED: number;
|
|
6315
|
+
}
|
|
5413
6316
|
export const SCENE_FROM_LIVE_JSON: false;
|
|
5414
6317
|
/**
|
|
5415
6318
|
* A handle to a 3D marker added to a map.
|
|
@@ -5439,10 +6342,11 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
5439
6342
|
_started: boolean;
|
|
5440
6343
|
_loaderPromise: null;
|
|
5441
6344
|
_promiseResolve: null;
|
|
6345
|
+
hoverableMeshChildren: any[];
|
|
5442
6346
|
objectsDictionary: {};
|
|
5443
6347
|
north: null;
|
|
5444
6348
|
mapScale: null;
|
|
5445
|
-
object:
|
|
6349
|
+
object: any;
|
|
5446
6350
|
labels: Set<any>;
|
|
5447
6351
|
tooltips: Set<any>;
|
|
5448
6352
|
markers: Set<any>;
|
|
@@ -5459,6 +6363,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
5459
6363
|
loadAsync: any;
|
|
5460
6364
|
_taskScheduler: any;
|
|
5461
6365
|
id: any;
|
|
6366
|
+
mapRenderingStrategy: any;
|
|
5462
6367
|
_highPriorityTasks: FrameTaskGroup;
|
|
5463
6368
|
_lowPriorityTasks: FrameTaskGroup;
|
|
5464
6369
|
_markerTasks: FrameTaskGroup;
|
|
@@ -5466,11 +6371,12 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
5466
6371
|
_visibilityLatch: boolean | null;
|
|
5467
6372
|
_objLoadedComplete: boolean;
|
|
5468
6373
|
_objLoaded(object: any): any;
|
|
6374
|
+
_objLoadedMerged(object: any): void;
|
|
5469
6375
|
enableImageFlipping(polygonId: any, rotation: any): void;
|
|
5470
6376
|
elements: any;
|
|
5471
6377
|
boundingBox: {
|
|
5472
|
-
min:
|
|
5473
|
-
max:
|
|
6378
|
+
min: any;
|
|
6379
|
+
max: any;
|
|
5474
6380
|
} | undefined;
|
|
5475
6381
|
loadPolygonNow(polygonId: any): void;
|
|
5476
6382
|
_addElementToScene(element: any): void;
|
|
@@ -5547,10 +6453,10 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
5547
6453
|
* @return {ThreeJSMarkerHandle} a unique identifier for the marker
|
|
5548
6454
|
*/
|
|
5549
6455
|
addThreeJSMarker(options: {
|
|
5550
|
-
object?:
|
|
5551
|
-
position?:
|
|
6456
|
+
object?: any;
|
|
6457
|
+
position?: any;
|
|
5552
6458
|
rotation?: any;
|
|
5553
|
-
scale?:
|
|
6459
|
+
scale?: any;
|
|
5554
6460
|
}): ThreeJSMarkerHandle;
|
|
5555
6461
|
/**
|
|
5556
6462
|
* Remove the given `ThreeJSMarker` from this map.
|
|
@@ -5582,9 +6488,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
5582
6488
|
_popinChildObjects(): void;
|
|
5583
6489
|
}
|
|
5584
6490
|
import { PubSub } from "@mappedin/react-native-sdk/core/packages/renderer/internal/pub-sub";
|
|
5585
|
-
import {
|
|
5586
|
-
import { FrameTaskGroup } from "@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.TaskScheduler";
|
|
5587
|
-
import { Vector3 } from "three/src/math/Vector3";
|
|
6491
|
+
import { FrameTaskGroup } from "@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.TaskScheduler";
|
|
5588
6492
|
}
|
|
5589
6493
|
|
|
5590
6494
|
declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.Search' {
|
|
@@ -5606,30 +6510,25 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
5606
6510
|
let Search: any;
|
|
5607
6511
|
}
|
|
5608
6512
|
|
|
5609
|
-
declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.Analytics' {
|
|
5610
|
-
export default Analytics;
|
|
5611
|
-
/**
|
|
5612
|
-
* A class to access the Mappedin Analytics platform. Correct usage will improve Smart Search results, and lead to more accurate insights.
|
|
5613
|
-
* This will be created for you as part of Mappedin.{{#crossLink "Mappedin/initialize:method"}}{{/crossLink}}, but you can also create one manually. You are mostly going to use `locationSelected`.
|
|
5614
|
-
*
|
|
5615
|
-
* @type {any}
|
|
5616
|
-
*
|
|
5617
|
-
* @class Analytics
|
|
5618
|
-
* @param options {Object} A list of configuration options for the Analytics API.
|
|
5619
|
-
* @param [options.key] {String} The same key you are using for getVenue. Handled automatically in Mapview.initialize()
|
|
5620
|
-
* @param [options.secret] {String} The same secret you are using for getVenue. Handled automatically in Mapview.initialize()
|
|
5621
|
-
* @param [options.venue] {String} The same venue slug you are using for getVenue. Handled automatically in MapView.initialize()
|
|
5622
|
-
*/
|
|
5623
|
-
var Analytics: any;
|
|
5624
|
-
}
|
|
5625
|
-
|
|
5626
6513
|
declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.AssetManager' {
|
|
5627
|
-
import {
|
|
6514
|
+
import { Texture } from 'three';
|
|
5628
6515
|
import type { MappedinMap } from '@mappedin/react-native-sdk/core/packages/renderer';
|
|
5629
6516
|
export default class DefaultAssetManager {
|
|
5630
|
-
textureLoader:
|
|
6517
|
+
textureLoader: any;
|
|
5631
6518
|
loadMapPolygons(map: MappedinMap): Promise<any>;
|
|
5632
|
-
loadImage(url: string): Promise<
|
|
6519
|
+
loadImage(url: string): Promise<Texture>;
|
|
6520
|
+
}
|
|
6521
|
+
}
|
|
6522
|
+
|
|
6523
|
+
declare module '@mappedin/react-native-sdk/core/packages/renderer/bundle-asset-manager' {
|
|
6524
|
+
import type { Texture } from 'three';
|
|
6525
|
+
import { Mappedin, MappedinMap } from '@mappedin/react-native-sdk/core/packages/renderer';
|
|
6526
|
+
import AssetManager from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.AssetManager';
|
|
6527
|
+
export class BundleAssetManager extends AssetManager {
|
|
6528
|
+
venueData: Mappedin;
|
|
6529
|
+
constructor(venueData: Mappedin);
|
|
6530
|
+
loadMapPolygons(map: MappedinMap): Promise<Record<string, any>>;
|
|
6531
|
+
loadImage(url: string): Promise<Texture>;
|
|
5633
6532
|
}
|
|
5634
6533
|
}
|
|
5635
6534
|
|
|
@@ -5638,74 +6537,86 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
5638
6537
|
import './Mappedin.SmartCollisionEngine.scss';
|
|
5639
6538
|
import { ICollider, TRange } from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.SmartCollider';
|
|
5640
6539
|
import { MappedinMap, MapView } from '@mappedin/react-native-sdk/core/packages/renderer';
|
|
6540
|
+
import { ICore } from '@mappedin/react-native-sdk/core/packages/renderer/Core.interface';
|
|
6541
|
+
import { Rectangle, QuadTree } from '@mappedin/react-native-sdk/core/packages/renderer/internal/quad-tree';
|
|
5641
6542
|
export const COLLIDER_STRATEGY_LOW_PRIORITY = "LOW_PRIORITY";
|
|
5642
6543
|
class SmartCollisionEngine {
|
|
5643
|
-
|
|
5644
|
-
|
|
5645
|
-
|
|
5646
|
-
|
|
5647
|
-
|
|
5648
|
-
|
|
5649
|
-
|
|
5650
|
-
|
|
5651
|
-
|
|
5652
|
-
|
|
5653
|
-
|
|
5654
|
-
|
|
5655
|
-
|
|
5656
|
-
|
|
5657
|
-
|
|
5658
|
-
|
|
5659
|
-
|
|
5660
|
-
|
|
5661
|
-
|
|
5662
|
-
|
|
5663
|
-
|
|
5664
|
-
|
|
5665
|
-
|
|
5666
|
-
|
|
5667
|
-
|
|
5668
|
-
|
|
5669
|
-
|
|
5670
|
-
|
|
5671
|
-
|
|
5672
|
-
|
|
5673
|
-
|
|
5674
|
-
|
|
5675
|
-
|
|
5676
|
-
|
|
5677
|
-
|
|
5678
|
-
/**
|
|
5679
|
-
* Allow to throttle making collders dirty. This is useful for things like BlueDot follow mode,
|
|
5680
|
-
* As we follow the BlueDot, colliders will overlap, but constantly updating their visiblity makes
|
|
5681
|
-
* for a bad experience
|
|
5682
|
-
*/
|
|
5683
|
-
makeCollidersDirtyThrottled: (time: any) => void;
|
|
5684
|
-
resize: (container: any) => void;
|
|
5685
|
-
update: () => void;
|
|
5686
|
-
destroy: () => void;
|
|
6544
|
+
#private;
|
|
6545
|
+
colliderCanvas: HTMLCanvasElement;
|
|
6546
|
+
debugCanvas: HTMLCanvasElement;
|
|
6547
|
+
colliderCanvasContext: CanvasRenderingContext2D;
|
|
6548
|
+
debugCanvasContext: CanvasRenderingContext2D;
|
|
6549
|
+
collisionEngineContainerEl: HTMLDivElement;
|
|
6550
|
+
stepsX: any;
|
|
6551
|
+
stepsY: any;
|
|
6552
|
+
totalWidth: any;
|
|
6553
|
+
totalHeight: any;
|
|
6554
|
+
project: any;
|
|
6555
|
+
colliders: Map<string, ICollider>;
|
|
6556
|
+
offscreenRanges: TRange[];
|
|
6557
|
+
get sortedColliders(): ICollider[];
|
|
6558
|
+
initialized: boolean;
|
|
6559
|
+
mapView: MapView;
|
|
6560
|
+
core: ICore;
|
|
6561
|
+
screen: Rectangle;
|
|
6562
|
+
constructor(mapView: any, core: ICore);
|
|
6563
|
+
init: (container: HTMLDivElement, projectFn: ({ position, mapId }: {
|
|
6564
|
+
position: any;
|
|
6565
|
+
mapId: MappedinMap['id'];
|
|
6566
|
+
}) => {
|
|
6567
|
+
x: number;
|
|
6568
|
+
y: number;
|
|
6569
|
+
}) => void;
|
|
6570
|
+
qtree: QuadTree;
|
|
6571
|
+
recompute: () => void;
|
|
6572
|
+
draw: () => void;
|
|
6573
|
+
reposition: () => void;
|
|
6574
|
+
add: (colliderId: string, collider: ICollider) => void;
|
|
6575
|
+
remove: (colliderId: string) => void;
|
|
6576
|
+
update: () => void;
|
|
6577
|
+
resize: (container: any) => void;
|
|
6578
|
+
destroy: () => void;
|
|
5687
6579
|
}
|
|
5688
6580
|
export default SmartCollisionEngine;
|
|
5689
6581
|
}
|
|
5690
6582
|
|
|
5691
|
-
declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/
|
|
5692
|
-
export
|
|
5693
|
-
|
|
5694
|
-
|
|
5695
|
-
|
|
5696
|
-
|
|
5697
|
-
|
|
5698
|
-
|
|
6583
|
+
declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/quad-tree' {
|
|
6584
|
+
export function contains(rect1: Rectangle, rect2: Rectangle): boolean;
|
|
6585
|
+
export function intersects(rect1: Rectangle, rect2: Rectangle): boolean;
|
|
6586
|
+
class Rectangle {
|
|
6587
|
+
x: number;
|
|
6588
|
+
y: number;
|
|
6589
|
+
w: number;
|
|
6590
|
+
h: number;
|
|
6591
|
+
userData?: any;
|
|
6592
|
+
constructor(x: number, y: number, w: number, h: number, userData?: any);
|
|
6593
|
+
contains(rectangle: Rectangle): boolean;
|
|
6594
|
+
intersects(rectangle: Rectangle): boolean;
|
|
6595
|
+
draw(context: CanvasRenderingContext2D): void;
|
|
5699
6596
|
}
|
|
5700
|
-
|
|
5701
|
-
|
|
5702
|
-
|
|
5703
|
-
|
|
5704
|
-
|
|
5705
|
-
|
|
5706
|
-
|
|
5707
|
-
|
|
6597
|
+
class QuadTree {
|
|
6598
|
+
#private;
|
|
6599
|
+
boundary: Rectangle;
|
|
6600
|
+
capacity: number;
|
|
6601
|
+
objects: Rectangle[];
|
|
6602
|
+
topLeft: QuadTree;
|
|
6603
|
+
topRight: QuadTree;
|
|
6604
|
+
bottomLeft: QuadTree;
|
|
6605
|
+
bottomRight: QuadTree;
|
|
6606
|
+
divided: boolean;
|
|
6607
|
+
parent?: QuadTree;
|
|
6608
|
+
getSize(): any;
|
|
6609
|
+
constructor(boundary: Rectangle, parent?: QuadTree);
|
|
6610
|
+
subdivide(): void;
|
|
6611
|
+
query(rectangle: Rectangle): Rectangle[];
|
|
6612
|
+
insert(rectangle: Rectangle): boolean;
|
|
6613
|
+
drawObjects(context: CanvasRenderingContext2D): void;
|
|
6614
|
+
draw(context: CanvasRenderingContext2D): void;
|
|
5708
6615
|
}
|
|
6616
|
+
export { QuadTree, Rectangle };
|
|
6617
|
+
}
|
|
6618
|
+
|
|
6619
|
+
declare module '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.TaskScheduler' {
|
|
5709
6620
|
/**
|
|
5710
6621
|
* A function that can be submitted to the Task Scheduler to run each frame for
|
|
5711
6622
|
* some provided number of frames. A single update can be repeatedly submitted;
|
|
@@ -5739,22 +6650,22 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
5739
6650
|
* @param [options.userdata] {Any}
|
|
5740
6651
|
* Arbitrary data that you can store along with this update.
|
|
5741
6652
|
*/
|
|
5742
|
-
constructor(options
|
|
5743
|
-
callback
|
|
5744
|
-
frameCount?: number
|
|
5745
|
-
ordering?: number
|
|
5746
|
-
supersededBy?:
|
|
5747
|
-
name
|
|
5748
|
-
userdata?: any
|
|
5749
|
-
}
|
|
5750
|
-
_callback: Function
|
|
6653
|
+
constructor(options: {
|
|
6654
|
+
callback: Function;
|
|
6655
|
+
frameCount?: number;
|
|
6656
|
+
ordering?: number;
|
|
6657
|
+
supersededBy?: Set<never>;
|
|
6658
|
+
name: string;
|
|
6659
|
+
userdata?: Record<string, any>;
|
|
6660
|
+
});
|
|
6661
|
+
_callback: Function;
|
|
5751
6662
|
_frameCount: number;
|
|
5752
6663
|
_ordering: number;
|
|
5753
|
-
_supersededBy: Set<
|
|
5754
|
-
name: string
|
|
5755
|
-
userdata: any;
|
|
6664
|
+
_supersededBy: Set<never>;
|
|
6665
|
+
name: string;
|
|
5756
6666
|
_remainingFrameCount: number;
|
|
5757
6667
|
_lastFrameTime: number;
|
|
6668
|
+
userdata?: Record<string, any>;
|
|
5758
6669
|
/**
|
|
5759
6670
|
* Return the amount of time that this frame update took to execute during
|
|
5760
6671
|
* its most recent execution, in milliseconds. If called during this frame
|
|
@@ -5794,24 +6705,25 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
5794
6705
|
* @param [options.userdata] {Any}
|
|
5795
6706
|
* Arbitrary data that you can store along with this task.
|
|
5796
6707
|
*/
|
|
5797
|
-
constructor(options
|
|
5798
|
-
|
|
5799
|
-
|
|
5800
|
-
|
|
5801
|
-
postponeOnAdd
|
|
5802
|
-
name
|
|
5803
|
-
|
|
5804
|
-
|
|
5805
|
-
|
|
5806
|
-
_group: FrameTaskGroup | null;
|
|
5807
|
-
_priority: number;
|
|
6708
|
+
constructor(options: {
|
|
6709
|
+
userdata: Record<string, any>;
|
|
6710
|
+
priority: number;
|
|
6711
|
+
group?: FrameTaskGroup;
|
|
6712
|
+
postponeOnAdd: number | boolean;
|
|
6713
|
+
name: string;
|
|
6714
|
+
lastFrameTime: number;
|
|
6715
|
+
callback: Function;
|
|
6716
|
+
});
|
|
5808
6717
|
_postponed: number | boolean;
|
|
5809
|
-
|
|
5810
|
-
|
|
6718
|
+
userdata: Record<string, any>;
|
|
6719
|
+
_priority: number;
|
|
6720
|
+
_group: FrameTaskGroup | null;
|
|
6721
|
+
name: string;
|
|
6722
|
+
_lastFrameTime: number;
|
|
6723
|
+
_callback: Function;
|
|
5811
6724
|
_complete: boolean;
|
|
5812
6725
|
_scheduled: boolean;
|
|
5813
6726
|
_cancelled: boolean;
|
|
5814
|
-
_lastFrameTime: number;
|
|
5815
6727
|
/**
|
|
5816
6728
|
* Return true if this task has been run at least once.
|
|
5817
6729
|
*
|
|
@@ -5858,18 +6770,18 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
5858
6770
|
* @param [options.userdata] {Any}
|
|
5859
6771
|
* Arbitrary data that you can store along with this task group.
|
|
5860
6772
|
*/
|
|
5861
|
-
constructor(options
|
|
5862
|
-
onComplete?: Function
|
|
5863
|
-
priority?: number
|
|
5864
|
-
|
|
5865
|
-
|
|
5866
|
-
|
|
5867
|
-
}
|
|
6773
|
+
constructor(options: {
|
|
6774
|
+
onComplete?: Function;
|
|
6775
|
+
priority?: number;
|
|
6776
|
+
userdata: Record<string, any>;
|
|
6777
|
+
postponeOnAdd: number | boolean;
|
|
6778
|
+
name: string;
|
|
6779
|
+
});
|
|
6780
|
+
_postponed: number | boolean;
|
|
5868
6781
|
_onComplete: Function;
|
|
5869
6782
|
_priority: number;
|
|
5870
|
-
|
|
5871
|
-
name: string
|
|
5872
|
-
userdata: any;
|
|
6783
|
+
userdata: Record<string, any>;
|
|
6784
|
+
name: string;
|
|
5873
6785
|
_tasks: Set<any>;
|
|
5874
6786
|
_scheduledTasks: Set<any>;
|
|
5875
6787
|
_scheduled: boolean;
|
|
@@ -5888,13 +6800,22 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
5888
6800
|
* @method tasks
|
|
5889
6801
|
* @return {[FrameTask]} list of tasks in this group
|
|
5890
6802
|
*/
|
|
5891
|
-
getTasks(): [
|
|
6803
|
+
getTasks(): any[];
|
|
5892
6804
|
/**
|
|
5893
6805
|
* Empty this task group. This will trivially satisfy `isComplete`.
|
|
5894
6806
|
*
|
|
5895
6807
|
* @method clear
|
|
5896
6808
|
*/
|
|
5897
6809
|
clear(): void;
|
|
6810
|
+
/**
|
|
6811
|
+
* Return one arbitrary incomplete task from this group, or undefined if
|
|
6812
|
+
* there are none.
|
|
6813
|
+
*
|
|
6814
|
+
* @method _popTask
|
|
6815
|
+
* @return {FrameTask} arbitrary scheduled task
|
|
6816
|
+
* @private
|
|
6817
|
+
*/
|
|
6818
|
+
_popTask(): any;
|
|
5898
6819
|
}
|
|
5899
6820
|
/**
|
|
5900
6821
|
* A timer for the task scheduler that uses real wall-time to determine if there's
|
|
@@ -5904,6 +6825,8 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
5904
6825
|
* @private
|
|
5905
6826
|
*/
|
|
5906
6827
|
export class RealTimeTimer {
|
|
6828
|
+
_maxMillisecondsPerFrame: number;
|
|
6829
|
+
_time: number;
|
|
5907
6830
|
/**
|
|
5908
6831
|
* @constructor
|
|
5909
6832
|
* @param [options] {Object} Options for the timer
|
|
@@ -5912,10 +6835,8 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
5912
6835
|
* or equal to this value, then another task may be executed
|
|
5913
6836
|
*/
|
|
5914
6837
|
constructor(options?: {
|
|
5915
|
-
maxMillisecondsPerFrame?:
|
|
5916
|
-
}
|
|
5917
|
-
_maxMillisecondsPerFrame: any;
|
|
5918
|
-
_time: any;
|
|
6838
|
+
maxMillisecondsPerFrame?: number;
|
|
6839
|
+
});
|
|
5919
6840
|
/**
|
|
5920
6841
|
* Begin timing a frame.
|
|
5921
6842
|
*
|
|
@@ -5937,6 +6858,8 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
5937
6858
|
* @private
|
|
5938
6859
|
*/
|
|
5939
6860
|
export class FixedTimer {
|
|
6861
|
+
_ticks: number;
|
|
6862
|
+
maxTasksPerFrame: number;
|
|
5940
6863
|
/**
|
|
5941
6864
|
* @constructor
|
|
5942
6865
|
* @param [options] {Object} Options for the timer
|
|
@@ -5945,10 +6868,8 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
5945
6868
|
* Can be modified as the `maxTasksPerFrame` property on this boject.
|
|
5946
6869
|
*/
|
|
5947
6870
|
constructor(options?: {
|
|
5948
|
-
maxTasksPerFrame?:
|
|
5949
|
-
}
|
|
5950
|
-
maxTasksPerFrame: any;
|
|
5951
|
-
_ticks: number;
|
|
6871
|
+
maxTasksPerFrame?: number;
|
|
6872
|
+
});
|
|
5952
6873
|
/**
|
|
5953
6874
|
* Begin timing a frame.
|
|
5954
6875
|
*
|
|
@@ -5992,11 +6913,11 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
5992
6913
|
* performance information.
|
|
5993
6914
|
*/
|
|
5994
6915
|
constructor(options?: {
|
|
5995
|
-
timer?:
|
|
5996
|
-
performance?:
|
|
5997
|
-
}
|
|
5998
|
-
_timer:
|
|
5999
|
-
_performance:
|
|
6916
|
+
timer?: RealTimeTimer;
|
|
6917
|
+
performance?: boolean;
|
|
6918
|
+
});
|
|
6919
|
+
_timer: RealTimeTimer;
|
|
6920
|
+
_performance: boolean;
|
|
6000
6921
|
_scheduledUpdatesByOrdering: Multimap;
|
|
6001
6922
|
_scheduledTasksByPriority: Multimap;
|
|
6002
6923
|
_postponedTasks: Set<any>;
|
|
@@ -6004,18 +6925,6 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
6004
6925
|
_updatesToRunThisFrame: any[];
|
|
6005
6926
|
_lastFrameTime: number;
|
|
6006
6927
|
_updatesRunLastFrame: Set<any>;
|
|
6007
|
-
/**
|
|
6008
|
-
* Run all scheduled updates, and re-schedule another animation frame if any
|
|
6009
|
-
* scheduled updates still exist. If any scheduled update specifies
|
|
6010
|
-
* `shouldRunTasksAfterCompletion`, this will also run queued tasks until the
|
|
6011
|
-
* frame time runs out.
|
|
6012
|
-
*
|
|
6013
|
-
* @method update
|
|
6014
|
-
* @param timestamp {number} the current animation time, as returned from
|
|
6015
|
-
* `performance.now()`; will be automatically filled in by
|
|
6016
|
-
* `requestAnimationFrame` when it triggers this as a callback
|
|
6017
|
-
*/
|
|
6018
|
-
update(timestamp: number): void;
|
|
6019
6928
|
/**
|
|
6020
6929
|
* Empty the task scheduler's queue. All tasks in it will be cancelled.
|
|
6021
6930
|
*
|
|
@@ -6035,6 +6944,18 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
6035
6944
|
* @method requestAnimationFrame
|
|
6036
6945
|
*/
|
|
6037
6946
|
requestAnimationFrame(): void;
|
|
6947
|
+
/**
|
|
6948
|
+
* Run all scheduled updates, and re-schedule another animation frame if any
|
|
6949
|
+
* scheduled updates still exist. If any scheduled update specifies
|
|
6950
|
+
* `shouldRunTasksAfterCompletion`, this will also run queued tasks until the
|
|
6951
|
+
* frame time runs out.
|
|
6952
|
+
*
|
|
6953
|
+
* @method update
|
|
6954
|
+
* @param timestamp {number} the current animation time, as returned from
|
|
6955
|
+
* `performance.now()`; will be automatically filled in by
|
|
6956
|
+
* `requestAnimationFrame` when it triggers this as a callback
|
|
6957
|
+
*/
|
|
6958
|
+
update(timestamp: number): void;
|
|
6038
6959
|
/**
|
|
6039
6960
|
* Execute all tasks that are currently pending, without regard for the
|
|
6040
6961
|
* available frame time.
|
|
@@ -6059,7 +6980,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
6059
6980
|
* has not yet been run or if the scheduler has been cleared.
|
|
6060
6981
|
*/
|
|
6061
6982
|
getUpdatesRunLastFrame(): Set<any>;
|
|
6062
|
-
_executeOneTask(timestamp:
|
|
6983
|
+
_executeOneTask(timestamp: number): void;
|
|
6063
6984
|
/**
|
|
6064
6985
|
* Schedule an update to be run for the next `update.frameCount` frames. If
|
|
6065
6986
|
* the update already exists in the scheduler, the update's frame count will
|
|
@@ -6069,7 +6990,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
6069
6990
|
* @method scheduleUpdate
|
|
6070
6991
|
* @param task {FrameUpdate} the update to schedule
|
|
6071
6992
|
*/
|
|
6072
|
-
scheduleUpdate(update:
|
|
6993
|
+
scheduleUpdate(update: FrameUpdate): void;
|
|
6073
6994
|
/**
|
|
6074
6995
|
* Schedule a task to be run during a frame update. This will also schedule
|
|
6075
6996
|
* an animation frame to begin processing the task queue.
|
|
@@ -6084,7 +7005,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
6084
7005
|
* @method cancelUpdate
|
|
6085
7006
|
* @param task {FrameUpdate} the update to cancel
|
|
6086
7007
|
*/
|
|
6087
|
-
cancelUpdate(update:
|
|
7008
|
+
cancelUpdate(update: FrameUpdate): void;
|
|
6088
7009
|
/**
|
|
6089
7010
|
* If the given task or group is in the queue, remove it. Cancelling a
|
|
6090
7011
|
* completed task is a no-op.
|
|
@@ -6095,7 +7016,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
6095
7016
|
* @method cancelTask
|
|
6096
7017
|
* @param task {FrameTask or FrameTaskGroup} the task to cancel
|
|
6097
7018
|
*/
|
|
6098
|
-
cancelTask(task: FrameTask): void;
|
|
7019
|
+
cancelTask(task: FrameTask | FrameTaskGroup): void;
|
|
6099
7020
|
/**
|
|
6100
7021
|
* Set the provided task or group not to run, until it's resumed using `resumeTask`.
|
|
6101
7022
|
*
|
|
@@ -6105,7 +7026,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
6105
7026
|
* @method postponeTask
|
|
6106
7027
|
* @param task {FrameTask or FrameTaskGroup} the task to postpone
|
|
6107
7028
|
*/
|
|
6108
|
-
postponeTask(task: FrameTask): void;
|
|
7029
|
+
postponeTask(task: FrameTask | FrameTaskGroup): void;
|
|
6109
7030
|
/**
|
|
6110
7031
|
* Allow a postponed task or task group to resume processing. This will also
|
|
6111
7032
|
* request an animation frame to allow the resumed task to be processed.
|
|
@@ -6116,7 +7037,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
6116
7037
|
* @method resumeTask
|
|
6117
7038
|
* @param task {FrameTask or FrameTaskGroup} the task to resume
|
|
6118
7039
|
*/
|
|
6119
|
-
resumeTask(task: FrameTask): void;
|
|
7040
|
+
resumeTask(task: FrameTask | FrameTaskGroup): void;
|
|
6120
7041
|
/**
|
|
6121
7042
|
* Change the priority of the given scheduled task or task group.
|
|
6122
7043
|
*
|
|
@@ -6124,7 +7045,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
6124
7045
|
* @param task {FrameTask or FrameTaskGroup} the task whose priority will be changed
|
|
6125
7046
|
* @param priority {number} the priority to assign the task
|
|
6126
7047
|
*/
|
|
6127
|
-
setTaskPriority(task: FrameTask, priority: number): void;
|
|
7048
|
+
setTaskPriority(task: FrameTask | FrameTaskGroup, priority: number): void;
|
|
6128
7049
|
}
|
|
6129
7050
|
/**
|
|
6130
7051
|
* A map that maps a numeric key to a set of values.
|
|
@@ -6135,6 +7056,10 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
6135
7056
|
* @private
|
|
6136
7057
|
*/
|
|
6137
7058
|
class Multimap {
|
|
7059
|
+
/**
|
|
7060
|
+
* @method constructor
|
|
7061
|
+
*/
|
|
7062
|
+
constructor();
|
|
6138
7063
|
_map: Map<any, any>;
|
|
6139
7064
|
_size: number;
|
|
6140
7065
|
_sortedKeys: any[];
|
|
@@ -6194,7 +7119,10 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
6194
7119
|
* @method values
|
|
6195
7120
|
* @return {Iterator} iterator over the values in the map
|
|
6196
7121
|
*/
|
|
6197
|
-
values():
|
|
7122
|
+
values(): {
|
|
7123
|
+
[Symbol.iterator]: () => any;
|
|
7124
|
+
next: () => any;
|
|
7125
|
+
};
|
|
6198
7126
|
/**
|
|
6199
7127
|
* A list of keys in this set, sorted by numeric value. Not cloned,
|
|
6200
7128
|
* for efficiency's sake, so please don't mutate it.
|
|
@@ -6202,7 +7130,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
6202
7130
|
* @method keys
|
|
6203
7131
|
* @return {[number]} sorted list of numeric keys in the map
|
|
6204
7132
|
*/
|
|
6205
|
-
keys(): [
|
|
7133
|
+
keys(): any[];
|
|
6206
7134
|
/**
|
|
6207
7135
|
* The number of elements in this multimap, equal to the sum of the sizes
|
|
6208
7136
|
* of each key's set of values.
|