@mappedin/react-native-sdk 4.0.16 → 4.0.17
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 +28 -20
- package/dist/browser-BS2JP2M5.js +1 -0
- package/dist/chunk-JMLUNIL6.js +1 -0
- package/dist/index.d.ts +633 -201
- package/dist/index.js +205 -205
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
// ../three
|
|
7
7
|
// ../@tweenjs/tween.js
|
|
8
8
|
// ../three/src/math/Color
|
|
9
|
+
// ../geojson
|
|
9
10
|
// ../three/src/core/Object3D
|
|
10
11
|
// ../three/src/math/Vector3
|
|
11
12
|
|
|
@@ -18,7 +19,7 @@ declare module '@mappedin/react-native-sdk' {
|
|
|
18
19
|
export { getVenue, getVenueBundle } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
19
20
|
export type { TGetVenueOptions, TGetVenueBundleOptions } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
20
21
|
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';
|
|
22
|
+
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
23
|
export type { TSerializableJourneyOptions, TMiMapViewOptions } from '@mappedin/react-native-sdk/wrappers/common';
|
|
23
24
|
import type { TEnableBlueDotOptions as TEnableBlueDotOptionsBase, TLabelAllLocationCommonOptions as TLabelAllLocationCommonOptionsBase } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
24
25
|
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';
|
|
@@ -36,7 +37,7 @@ declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapVi
|
|
|
36
37
|
import { TMiMapViewOptions } from '@mappedin/react-native-sdk/wrappers/common';
|
|
37
38
|
import { STATE } from '@mappedin/react-native-sdk/wrappers/react-native-sdk/src';
|
|
38
39
|
import { MapViewStore } from '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapView.store';
|
|
39
|
-
import type { TBlueDotPositionUpdate, TBlueDotStateChange, MappedinPolygon, MappedinMap, Mappedin } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
40
|
+
import type { TBlueDotPositionUpdate, TBlueDotStateChange, MappedinPolygon, MappedinMap, Mappedin, MAP_RENDER_MODE } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
40
41
|
import { ERROR, ERROR_MESSAGES } from '@mappedin/react-native-sdk/wrappers/common/errors';
|
|
41
42
|
export type TMiMapViewProps = {
|
|
42
43
|
/**
|
|
@@ -52,6 +53,13 @@ declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapVi
|
|
|
52
53
|
* @beta
|
|
53
54
|
*/
|
|
54
55
|
useBundle?: boolean;
|
|
56
|
+
loadOptions?: {
|
|
57
|
+
/**
|
|
58
|
+
* By default, the SDK will merge all geometries by material to reduce the number of draw calls to the GPU
|
|
59
|
+
* To rever back to using a single geometry for every polygon, pass `MAP_RENDER_MODE.MULTI_GEOMETRY`
|
|
60
|
+
*/
|
|
61
|
+
mapRenderStrategy?: MAP_RENDER_MODE;
|
|
62
|
+
};
|
|
55
63
|
};
|
|
56
64
|
/**
|
|
57
65
|
* Venue Data to render inside the MapView. This is returned by {@link getVenue} or {@link getVenueBundle}
|
|
@@ -120,7 +128,7 @@ declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapVi
|
|
|
120
128
|
/**
|
|
121
129
|
* @category Component
|
|
122
130
|
*/
|
|
123
|
-
export const MiMapView: React.MemoExoticComponent<React.ForwardRefExoticComponent<Pick<TMiMapViewProps, "
|
|
131
|
+
export const MiMapView: React.MemoExoticComponent<React.ForwardRefExoticComponent<Pick<TMiMapViewProps, "options" | "style" | "onFirstMapLoaded" | "venueData" | "onPolygonClicked" | "onBlueDotStateChanged" | "onBlueDotPositionUpdated" | "onDataLoaded" | "onNothingClicked" | "onMapChanged" | "onStateChanged" | "onVenueLoadError"> & React.RefAttributes<MapViewStore>>>;
|
|
124
132
|
}
|
|
125
133
|
|
|
126
134
|
declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMiniMap' {
|
|
@@ -404,7 +412,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/index.rn' {
|
|
|
404
412
|
export { BEARING_TYPE, ACTION_TYPE } from '@mappedin/react-native-sdk/core/packages/navigator';
|
|
405
413
|
export type { IDirectionsResult, E_MESSAGES as E_GET_DIRECTIONS_MESSAGES } from '@mappedin/react-native-sdk/core/packages/navigator';
|
|
406
414
|
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';
|
|
415
|
+
export { MappedinLocation, MappedinPolygon, MappedinNode, MappedinCategory, MappedinMap, MappedinEvent, MappedinMapGroup, MappedinVenue, MappedinVortex, MappedinDirections, MappedinNavigatable, MappedinCoordinate, MappedinRankings, MAP_RENDER_MODE } from '@mappedin/react-native-sdk/core/packages/get-venue';
|
|
408
416
|
export type { TSafeAreaInsets, TFocusOnTargets, TFocusOnCameraOptions, TAnimatePositionOptions, TCameraAnimationOptions, TFocusOnOptions } from '@mappedin/react-native-sdk/core/packages/renderer/Camera';
|
|
409
417
|
export { SAFE_AREA_INSET_TYPE, ANIMATION_TWEENS, CAMERA_EASING_MODE } from '@mappedin/react-native-sdk/core/packages/renderer/Camera';
|
|
410
418
|
}
|
|
@@ -439,7 +447,7 @@ declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src' {
|
|
|
439
447
|
export { getVenue, getVenueBundle } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
440
448
|
export type { TGetVenueOptions, TGetVenueBundleOptions } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
441
449
|
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';
|
|
450
|
+
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
451
|
export type { TSerializableJourneyOptions, TMiMapViewOptions } from '@mappedin/react-native-sdk/wrappers/common';
|
|
444
452
|
import type { TEnableBlueDotOptions as TEnableBlueDotOptionsBase, TLabelAllLocationCommonOptions as TLabelAllLocationCommonOptionsBase } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
|
|
445
453
|
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';
|
|
@@ -515,7 +523,7 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue' {
|
|
|
515
523
|
import type { TGetVenueOptions } from '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.types';
|
|
516
524
|
import { Mappedin } from '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin';
|
|
517
525
|
/** Classes */
|
|
518
|
-
export { Mappedin } from '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin';
|
|
526
|
+
export { Mappedin, MappedinCollectionType } from '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin';
|
|
519
527
|
export { MappedinLocation } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinLocation';
|
|
520
528
|
export { MappedinPolygon } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinPolygon';
|
|
521
529
|
export { MappedinNode } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinNode';
|
|
@@ -538,6 +546,7 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue' {
|
|
|
538
546
|
/** API data types */
|
|
539
547
|
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
548
|
export type { TGetVenueOptions } from '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.types';
|
|
549
|
+
import { MAP_RENDER_MODE } from '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.types';
|
|
541
550
|
export type TShowVenueOptions = {
|
|
542
551
|
/**
|
|
543
552
|
* Sets the initial background color of the map, including while loading.
|
|
@@ -549,14 +558,24 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue' {
|
|
|
549
558
|
*/
|
|
550
559
|
backgroundAlpha?: number;
|
|
551
560
|
/**
|
|
552
|
-
* Whether or not to display
|
|
561
|
+
* Whether or not to display default styled Floating Labels initially
|
|
553
562
|
*/
|
|
554
563
|
labelAllLocationsOnInit?: boolean;
|
|
555
564
|
/**
|
|
556
565
|
* The id of the first map to show on map load
|
|
557
566
|
*/
|
|
558
567
|
firstMapId?: string;
|
|
568
|
+
loadOptions?: {
|
|
569
|
+
/**
|
|
570
|
+
* Set the map render strategy in order to optimize FPS
|
|
571
|
+
*
|
|
572
|
+
* @beta
|
|
573
|
+
*/
|
|
574
|
+
mapRenderStrategy?: MAP_RENDER_MODE;
|
|
575
|
+
};
|
|
559
576
|
};
|
|
577
|
+
export { MAP_RENDER_MODE };
|
|
578
|
+
export function getVenueMVF(userOptions: TGetVenueOptions): Promise<Mappedin>;
|
|
560
579
|
/**
|
|
561
580
|
* Get Venue Data for a Mappedin Venue
|
|
562
581
|
*/
|
|
@@ -593,6 +612,23 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue' {
|
|
|
593
612
|
url: any;
|
|
594
613
|
updated_at: any;
|
|
595
614
|
}): Promise<Mappedin>;
|
|
615
|
+
/**
|
|
616
|
+
* Get the bundle URL and updated_at time.
|
|
617
|
+
* @internal
|
|
618
|
+
*/
|
|
619
|
+
export function getVenueMVFURL(userOptions: TGetVenueBundleOptions): Promise<{
|
|
620
|
+
url: string;
|
|
621
|
+
updated_at: string;
|
|
622
|
+
}>;
|
|
623
|
+
/**
|
|
624
|
+
* @internal
|
|
625
|
+
*/
|
|
626
|
+
export function downloadVenueBundleMVF(options: TGetVenueOptions,
|
|
627
|
+
/**
|
|
628
|
+
* use Web Workers to speed up MVF parsing. This is likely only benefitial for larger venues,
|
|
629
|
+
* and may be determental to smaller ones, hence it is off by default
|
|
630
|
+
*/
|
|
631
|
+
useWorker?: boolean): Promise<unknown>;
|
|
596
632
|
}
|
|
597
633
|
|
|
598
634
|
declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.enums' {
|
|
@@ -625,30 +661,30 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.enums'
|
|
|
625
661
|
CUSTOM_GEOLOCATION_PROVIDER_ERROR = 3
|
|
626
662
|
}
|
|
627
663
|
/**
|
|
628
|
-
What we currently know about the user's position
|
|
664
|
+
What we currently know about the user's position and how confident we are.
|
|
629
665
|
*/
|
|
630
666
|
export enum E_BLUEDOT_STATE {
|
|
631
667
|
/**
|
|
632
|
-
*
|
|
668
|
+
* Not listening to Blue Dot position updates
|
|
633
669
|
*/
|
|
634
670
|
NOT_LISTENING = 0,
|
|
635
671
|
/**
|
|
636
|
-
*
|
|
672
|
+
* Listenign for listening to position updates but have not yet received a position
|
|
637
673
|
*/
|
|
638
674
|
LISTENING = 1,
|
|
639
675
|
/**
|
|
640
|
-
*
|
|
676
|
+
* Received relevant positions and user is in the venue
|
|
641
677
|
*/
|
|
642
678
|
HAS_POSITION = 2,
|
|
643
679
|
/**
|
|
644
680
|
* We've received a relevant position, and we have enough information to determine
|
|
645
681
|
* which floor the user is on - either because we received a floor level, the venue
|
|
646
|
-
* only has one floor
|
|
682
|
+
* only has one floor or we're allowing implicit floor level detection.
|
|
647
683
|
*/
|
|
648
684
|
HAS_INDOOR_POSITION = 3,
|
|
649
685
|
/**
|
|
650
686
|
* We are uncertain about the user's position, likely because we haven't received
|
|
651
|
-
* a relevant position in a while
|
|
687
|
+
* a relevant position in a while. Blue Dot will be rendered grey to indicate uncertainty of the actual position.
|
|
652
688
|
*/
|
|
653
689
|
LOCATION_UNCERTAIN = 4
|
|
654
690
|
}
|
|
@@ -657,26 +693,29 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.enums'
|
|
|
657
693
|
*/
|
|
658
694
|
export enum E_BLUEDOT_MARKER_STATE {
|
|
659
695
|
/**
|
|
660
|
-
*
|
|
696
|
+
* Blue Dot is hidden
|
|
661
697
|
*/
|
|
662
698
|
HIDDEN = 0,
|
|
663
699
|
/**
|
|
664
|
-
*
|
|
700
|
+
* Blue Dot is transparent indicating the position is on a different floor
|
|
665
701
|
*/
|
|
666
702
|
GHOST = 1,
|
|
667
703
|
/**
|
|
668
|
-
*
|
|
704
|
+
* Blue Dot is visible and opaque indicating accurate positioning on the current floor
|
|
669
705
|
*/
|
|
670
706
|
NORMAL = 2,
|
|
671
707
|
/**
|
|
672
|
-
*
|
|
708
|
+
* Blue Dot is grayed out due to uncertainty about user's location, most likely due to not receiving recent position updates.
|
|
673
709
|
*/
|
|
674
710
|
UNCERTAIN = 3
|
|
675
711
|
}
|
|
676
712
|
export enum STATE {
|
|
713
|
+
/**
|
|
714
|
+
* The map is in exploration mode where the user controls the camera position.
|
|
715
|
+
*/
|
|
677
716
|
EXPLORE = "explore",
|
|
678
717
|
/**
|
|
679
|
-
*
|
|
718
|
+
* Follows user's current location by keeping the camera centered on the Blue Dot.
|
|
680
719
|
*/
|
|
681
720
|
FOLLOW = "follow"
|
|
682
721
|
/**
|
|
@@ -692,19 +731,19 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.enums'
|
|
|
692
731
|
}
|
|
693
732
|
export enum E_SDK_EVENT {
|
|
694
733
|
/**
|
|
695
|
-
* Emitted when the map is clicked
|
|
734
|
+
* Emitted when the map is clicked or tapped on a touch screen.
|
|
696
735
|
*/
|
|
697
736
|
CLICK = "CLICK",
|
|
698
737
|
/**
|
|
699
|
-
* Emitted when the {@link STATE | SDK state} changes
|
|
738
|
+
* Emitted when the {@link STATE | SDK state} changes.
|
|
700
739
|
*/
|
|
701
740
|
STATE_CHANGE = "STATE_CHANGE",
|
|
702
741
|
/**
|
|
703
|
-
* Emitted when
|
|
742
|
+
* Emitted when an interactive {@link MappedinPolygon | polygon} is clicked
|
|
704
743
|
*/
|
|
705
744
|
POLYGON_CLICKED = "POLYGON_CLICKED",
|
|
706
745
|
/**
|
|
707
|
-
* Emitted when nothing is clicked
|
|
746
|
+
* Emitted when nothing (outside of interactive polygons) is clicked
|
|
708
747
|
*/
|
|
709
748
|
NOTHING_CLICKED = "NOTHING_CLICKED",
|
|
710
749
|
/**
|
|
@@ -725,6 +764,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.enums'
|
|
|
725
764
|
ROTATION_CHANGED = "ROTATION_CHANGED",
|
|
726
765
|
TILT_CHANGED = "TILT_CHANGED"
|
|
727
766
|
}
|
|
767
|
+
export { MAP_RENDER_MODE } from '@mappedin/react-native-sdk/core/packages/get-venue';
|
|
728
768
|
}
|
|
729
769
|
|
|
730
770
|
declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.types' {
|
|
@@ -734,7 +774,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.types'
|
|
|
734
774
|
import { TBlueDotPositionUpdate, TBlueDotStateChange } from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.BlueDot/Mappedin.BlueDot.core';
|
|
735
775
|
import { TOOLTIP_ANCHOR } from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.SmartTooltip';
|
|
736
776
|
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';
|
|
777
|
+
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
778
|
export type { TEnableBlueDotOptions, TFloatingLabelAppearance };
|
|
739
779
|
/**
|
|
740
780
|
An extension of the GeolocationPosition type.
|
|
@@ -943,6 +983,13 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.types'
|
|
|
943
983
|
* The rank of the object used when comparing colliders to determine which should be shown.
|
|
944
984
|
*/
|
|
945
985
|
collisionRank?: COLLISION_RANKING_TIERS;
|
|
986
|
+
/**
|
|
987
|
+
* By default, we don't hide tooltips when they collide. This is
|
|
988
|
+
* so that for floor switching tooltips we don't lose where the elevator is
|
|
989
|
+
* This option will override that behavior
|
|
990
|
+
* @default true
|
|
991
|
+
*/
|
|
992
|
+
alwaysVisible?: boolean;
|
|
946
993
|
};
|
|
947
994
|
export type TCreateTextTooltipOptions = TCreateTooltipCommonOptions & {
|
|
948
995
|
/**
|
|
@@ -997,19 +1044,27 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.types'
|
|
|
997
1044
|
scale?: Vector3;
|
|
998
1045
|
};
|
|
999
1046
|
export type TMapViewOptions = {
|
|
1047
|
+
/**
|
|
1048
|
+
* Background color of the map in hex number or string e.g. `0x2e2e2e` or `#2e2e2e`.
|
|
1049
|
+
*/
|
|
1000
1050
|
backgroundColor?: number | string;
|
|
1001
1051
|
/**
|
|
1002
1052
|
* The opacity of the initial background color.
|
|
1003
1053
|
*/
|
|
1004
1054
|
backgroundAlpha?: number;
|
|
1005
1055
|
/**
|
|
1006
|
-
* Controls whether antialiasing is on. Defaults to true
|
|
1056
|
+
* Controls whether antialiasing is on. Defaults to `true`, as long as devicePixelRatio is 1. This is very expensive on high resolution screens.
|
|
1007
1057
|
* @default true
|
|
1008
1058
|
*/
|
|
1009
1059
|
antialias?: boolean;
|
|
1010
1060
|
disableHover?: boolean;
|
|
1011
1061
|
disableZoomOnMapSizeChange?: boolean;
|
|
1012
1062
|
loadOptions?: {
|
|
1063
|
+
/**
|
|
1064
|
+
* By default, the SDK will merge all geometries by material to reduce the number of draw calls to the GPU
|
|
1065
|
+
* To rever back to using a single geometry for every polygon, pass `MAP_RENDER_MODE.MULTI_GEOMETRY`
|
|
1066
|
+
*/
|
|
1067
|
+
mapRenderStrategy?: MAP_RENDER_MODE;
|
|
1013
1068
|
async?: boolean;
|
|
1014
1069
|
zoomOverrides?: {
|
|
1015
1070
|
zoomMultiplier?: number;
|
|
@@ -1018,7 +1073,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.types'
|
|
|
1018
1073
|
};
|
|
1019
1074
|
};
|
|
1020
1075
|
/**
|
|
1021
|
-
*
|
|
1076
|
+
* First map to be rendered
|
|
1022
1077
|
*/
|
|
1023
1078
|
firstMap?: MappedinMap | string;
|
|
1024
1079
|
/**
|
|
@@ -1037,6 +1092,9 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.types'
|
|
|
1037
1092
|
onWebGLRendererError?: () => void;
|
|
1038
1093
|
};
|
|
1039
1094
|
export type TMapViewOptionsLegacy = {
|
|
1095
|
+
/**
|
|
1096
|
+
* Background color of the map in hex number or string e.g. `0x2e2e2e` or `#2e2e2e`.
|
|
1097
|
+
*/
|
|
1040
1098
|
backgroundColor?: number | string;
|
|
1041
1099
|
/**
|
|
1042
1100
|
* The opacity of the initial background color.
|
|
@@ -1070,7 +1128,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.types'
|
|
|
1070
1128
|
};
|
|
1071
1129
|
};
|
|
1072
1130
|
/**
|
|
1073
|
-
*
|
|
1131
|
+
* First map to be rendered
|
|
1074
1132
|
*/
|
|
1075
1133
|
firstMap?: MappedinMap | string;
|
|
1076
1134
|
/**
|
|
@@ -1140,21 +1198,21 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.types'
|
|
|
1140
1198
|
*/
|
|
1141
1199
|
height?: number;
|
|
1142
1200
|
/**
|
|
1143
|
-
* The amount of space to leave before starting the text
|
|
1201
|
+
* The amount of space to leave before starting the text in pixels
|
|
1144
1202
|
* @default 5
|
|
1145
1203
|
*/
|
|
1146
1204
|
margin?: number;
|
|
1147
1205
|
/**
|
|
1148
|
-
*
|
|
1206
|
+
* Optional color in hexadecimal string e.g. `#2e2e2e`.
|
|
1149
1207
|
*/
|
|
1150
1208
|
color?: string;
|
|
1151
1209
|
/**
|
|
1152
|
-
*
|
|
1210
|
+
* Size of the font in pixels.
|
|
1153
1211
|
* @default 12
|
|
1154
1212
|
*/
|
|
1155
1213
|
fontSize?: number;
|
|
1156
1214
|
/**
|
|
1157
|
-
* A CSS style string font.
|
|
1215
|
+
* 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.
|
|
1158
1216
|
*/
|
|
1159
1217
|
font?: string;
|
|
1160
1218
|
/**
|
|
@@ -1163,7 +1221,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.types'
|
|
|
1163
1221
|
*/
|
|
1164
1222
|
scaleMin?: number;
|
|
1165
1223
|
/**
|
|
1166
|
-
* 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
|
|
1224
|
+
* 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,
|
|
1167
1225
|
* you can set this and and scaleMin to 0.1 to fit everything except really long names perfectly.
|
|
1168
1226
|
* @default 0.25
|
|
1169
1227
|
*/
|
|
@@ -1173,7 +1231,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.types'
|
|
|
1173
1231
|
scale?: number;
|
|
1174
1232
|
flatLabels?: false | undefined;
|
|
1175
1233
|
/**
|
|
1176
|
-
*
|
|
1234
|
+
* Ranking tier to determine how likely a {@link FloatingLabel} will appear
|
|
1177
1235
|
*/
|
|
1178
1236
|
rank?: COLLISION_RANKING_TIERS | number;
|
|
1179
1237
|
/**
|
|
@@ -1208,7 +1266,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.types'
|
|
|
1208
1266
|
[key in string]: string;
|
|
1209
1267
|
};
|
|
1210
1268
|
/**
|
|
1211
|
-
* Display label despite the
|
|
1269
|
+
* Display label despite the {@link MappedinPolygon} having an image on it. Often these images represent store logos.
|
|
1212
1270
|
* @default false
|
|
1213
1271
|
*/
|
|
1214
1272
|
createDespiteImage?: boolean;
|
|
@@ -1243,7 +1301,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.types'
|
|
|
1243
1301
|
longitude: number;
|
|
1244
1302
|
};
|
|
1245
1303
|
/**
|
|
1246
|
-
* A list of
|
|
1304
|
+
* A list of {@link MappedinPolygon}s corresponding to every polygon that a user's
|
|
1247
1305
|
* click passed through. These are in order of first to last intersected.
|
|
1248
1306
|
* Will be empty if no interactive polygons were clicked.
|
|
1249
1307
|
*/
|
|
@@ -1347,6 +1405,9 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/Camera' {
|
|
|
1347
1405
|
EASE_IN_OUT = "ease-in-out"
|
|
1348
1406
|
}
|
|
1349
1407
|
export type TCameraAnimationOptions = {
|
|
1408
|
+
/**
|
|
1409
|
+
* Animation duration in milliseconds
|
|
1410
|
+
*/
|
|
1350
1411
|
duration?: number;
|
|
1351
1412
|
easing?: CAMERA_EASING_MODE;
|
|
1352
1413
|
};
|
|
@@ -1383,27 +1444,27 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/Camera' {
|
|
|
1383
1444
|
*/
|
|
1384
1445
|
get zoom(): number;
|
|
1385
1446
|
/**
|
|
1386
|
-
* Current Camera rotation (in radians)
|
|
1447
|
+
* Current Camera rotation (in radians) from north
|
|
1387
1448
|
*/
|
|
1388
1449
|
get rotation(): number;
|
|
1389
1450
|
/**
|
|
1390
|
-
* Current Camera tilt
|
|
1451
|
+
* Current Camera tilt between 0 (top-down) to 1 (from the side)
|
|
1391
1452
|
*/
|
|
1392
1453
|
get tilt(): number;
|
|
1393
1454
|
/**
|
|
1394
|
-
*
|
|
1455
|
+
* Get the minimum distance (in meters) the camera is allowed to get to the ground.
|
|
1395
1456
|
*/
|
|
1396
1457
|
get minZoom(): number;
|
|
1397
1458
|
/**
|
|
1398
|
-
*
|
|
1459
|
+
* Set the minimum distance (in meters) the camera is allowed to get to the ground.
|
|
1399
1460
|
*/
|
|
1400
1461
|
set minZoom(meters: number);
|
|
1401
1462
|
/**
|
|
1402
|
-
*
|
|
1463
|
+
* Get the maximum distance (in meters) the camera is allowed to get from the ground.
|
|
1403
1464
|
*/
|
|
1404
1465
|
get maxZoom(): number;
|
|
1405
1466
|
/**
|
|
1406
|
-
*
|
|
1467
|
+
* Set the maximum distance (in meters) the camera is allowed to get from the ground.
|
|
1407
1468
|
*/
|
|
1408
1469
|
set maxZoom(meters: number);
|
|
1409
1470
|
setSafeAreaInsets(insets: {
|
|
@@ -1414,7 +1475,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/Camera' {
|
|
|
1414
1475
|
}): void;
|
|
1415
1476
|
getSafeAreaInsets(): any;
|
|
1416
1477
|
/**
|
|
1417
|
-
*
|
|
1478
|
+
* Focus the Camera view on a collection of targets and animate to that state.
|
|
1418
1479
|
* @returns a Promise that resolves when the animation finishes, or rejects when it is cancelled.
|
|
1419
1480
|
*/
|
|
1420
1481
|
focusOn(options: TFocusOnOptions): Promise<any>;
|
|
@@ -1424,7 +1485,6 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/Camera' {
|
|
|
1424
1485
|
set(positionOptions?: TAnimatePositionOptions): void;
|
|
1425
1486
|
/**
|
|
1426
1487
|
* Animate the Camera's view to smoothly transition to a new state over time.
|
|
1427
|
-
* Returns a promise that resolves when the animation completes and gets rejected if the animation is cancelled.
|
|
1428
1488
|
*
|
|
1429
1489
|
* @returns a Promise that resolves when the animation finishes, or rejects when it is cancelled.
|
|
1430
1490
|
*/
|
|
@@ -2098,7 +2158,7 @@ declare module '@mappedin/react-native-sdk/wrappers/common/controller' {
|
|
|
2098
2158
|
msgID?: string | undefined;
|
|
2099
2159
|
data: {
|
|
2100
2160
|
polygonId: string;
|
|
2101
|
-
options: (import("../react-native-sdk/src").
|
|
2161
|
+
options: (import("../react-native-sdk/src").TFlatLabelPolygonOptions | import("../react-native-sdk/src").TFloatingLabelPolygonOptions) & {
|
|
2102
2162
|
legacyLabels?: boolean | undefined;
|
|
2103
2163
|
};
|
|
2104
2164
|
};
|
|
@@ -2295,7 +2355,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/Core.interface
|
|
|
2295
2355
|
*/
|
|
2296
2356
|
polygons?: (MappedinPolygon | MappedinPolygon['id'])[];
|
|
2297
2357
|
/**
|
|
2298
|
-
* The duration the focus animation should last for.
|
|
2358
|
+
* The duration (in ms) the focus animation should last for.
|
|
2299
2359
|
* @defaultValue `100`
|
|
2300
2360
|
*/
|
|
2301
2361
|
duration?: number;
|
|
@@ -2334,6 +2394,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/Core.interface
|
|
|
2334
2394
|
* @internal
|
|
2335
2395
|
*/
|
|
2336
2396
|
currentScale: number;
|
|
2397
|
+
loadOptions?: TMapViewOptions['loadOptions'];
|
|
2337
2398
|
imageFlippingEnabled: boolean;
|
|
2338
2399
|
imageFlippingCache: any;
|
|
2339
2400
|
cachedPadding: any;
|
|
@@ -2486,38 +2547,49 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/Core.interface
|
|
|
2486
2547
|
|
|
2487
2548
|
declare module '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.types' {
|
|
2488
2549
|
export type TGetVenueOptions = {
|
|
2489
|
-
|
|
2490
|
-
|
|
2491
|
-
|
|
2492
|
-
|
|
2493
|
-
|
|
2494
|
-
|
|
2495
|
-
|
|
2496
|
-
|
|
2497
|
-
|
|
2498
|
-
|
|
2499
|
-
|
|
2500
|
-
|
|
2501
|
-
|
|
2550
|
+
accessToken?: string;
|
|
2551
|
+
clientId?: string;
|
|
2552
|
+
clientSecret?: string;
|
|
2553
|
+
baseUrl?: string;
|
|
2554
|
+
includeHidden?: boolean;
|
|
2555
|
+
noAuth?: boolean;
|
|
2556
|
+
perspective?: string;
|
|
2557
|
+
language?: string;
|
|
2558
|
+
headers?: {
|
|
2559
|
+
[key in string]: string;
|
|
2560
|
+
};
|
|
2561
|
+
venue: string;
|
|
2562
|
+
things?: any;
|
|
2502
2563
|
};
|
|
2503
2564
|
export type TGetVenueOptionsInternal = {
|
|
2504
|
-
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
2509
|
-
|
|
2510
|
-
|
|
2511
|
-
|
|
2512
|
-
|
|
2513
|
-
|
|
2514
|
-
|
|
2515
|
-
|
|
2565
|
+
baseUrl?: string;
|
|
2566
|
+
supplementaryUrl?: string;
|
|
2567
|
+
noAuth?: boolean;
|
|
2568
|
+
includeHidden?: boolean;
|
|
2569
|
+
apiGateway?: string;
|
|
2570
|
+
authorization?: string;
|
|
2571
|
+
/**
|
|
2572
|
+
* @deprecated 2D support will be removed in the future
|
|
2573
|
+
*/
|
|
2574
|
+
do2D?: boolean;
|
|
2575
|
+
things?: any;
|
|
2576
|
+
headers?: any;
|
|
2516
2577
|
};
|
|
2578
|
+
export enum MAP_RENDER_MODE {
|
|
2579
|
+
/** Each polygon, its geometry and mesh are sent to the GPU every render frame.
|
|
2580
|
+
* This was the default rendering mode before 4.0.17
|
|
2581
|
+
*/
|
|
2582
|
+
MULTI_GEOMETRY = "MULTI_GEOMETRY",
|
|
2583
|
+
/** Polygons' geometries are grouped by material and merged together, resulting in far fewer
|
|
2584
|
+
* draw calls to the GPU. Default rendering mode since 4.0.17
|
|
2585
|
+
*/
|
|
2586
|
+
SINGLE_GEOMETRY = "SINGLE_GEOMETRY"
|
|
2587
|
+
}
|
|
2517
2588
|
}
|
|
2518
2589
|
|
|
2519
2590
|
declare module '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin' {
|
|
2520
2591
|
import { Navigator } from '@mappedin/react-native-sdk/core/packages/navigator';
|
|
2592
|
+
import { MVFData } from '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.MVF.types';
|
|
2521
2593
|
import type { TGetVenueOptions, TGetVenueOptionsInternal } from '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.types';
|
|
2522
2594
|
import { MappedinCategory } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinCategory';
|
|
2523
2595
|
import { MappedinEvent } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinEvent';
|
|
@@ -2533,7 +2605,7 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin' {
|
|
|
2533
2605
|
import { MappedinVenue } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinVenue';
|
|
2534
2606
|
import { MappedinVortex } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinVortex';
|
|
2535
2607
|
export const defaultOptions: TGetVenueOptionsInternal & TGetVenueOptions;
|
|
2536
|
-
export enum
|
|
2608
|
+
export enum MappedinCollectionType {
|
|
2537
2609
|
CATEGORY = "categories",
|
|
2538
2610
|
EVENT = "events",
|
|
2539
2611
|
LOCATION = "locations",
|
|
@@ -2544,14 +2616,14 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin' {
|
|
|
2544
2616
|
VORTEX = "vortexes"
|
|
2545
2617
|
}
|
|
2546
2618
|
type TAccessors = {
|
|
2547
|
-
[
|
|
2548
|
-
[
|
|
2549
|
-
[
|
|
2550
|
-
[
|
|
2551
|
-
[
|
|
2552
|
-
[
|
|
2553
|
-
[
|
|
2554
|
-
[
|
|
2619
|
+
[MappedinCollectionType.CATEGORY]: MappedinCategory;
|
|
2620
|
+
[MappedinCollectionType.EVENT]: MappedinEvent;
|
|
2621
|
+
[MappedinCollectionType.LOCATION]: MappedinLocation;
|
|
2622
|
+
[MappedinCollectionType.MAPGROUP]: MappedinMapGroup;
|
|
2623
|
+
[MappedinCollectionType.MAP]: MappedinMap;
|
|
2624
|
+
[MappedinCollectionType.NODE]: MappedinNode;
|
|
2625
|
+
[MappedinCollectionType.POLYGON]: MappedinPolygon;
|
|
2626
|
+
[MappedinCollectionType.VORTEX]: MappedinVortex;
|
|
2555
2627
|
};
|
|
2556
2628
|
const THINGS: {
|
|
2557
2629
|
categories: typeof MappedinCategory;
|
|
@@ -2747,6 +2819,11 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin' {
|
|
|
2747
2819
|
[id: string]: MappedinRankings;
|
|
2748
2820
|
};
|
|
2749
2821
|
getCollectionItemById<T extends keyof TAccessors, I extends string>(name: T, id: I): TAccessors[T] | null;
|
|
2822
|
+
/**
|
|
2823
|
+
* @hidden
|
|
2824
|
+
* @internal
|
|
2825
|
+
*/
|
|
2826
|
+
hydrateFromMVF(mvfData: MVFData): Promise<undefined>;
|
|
2750
2827
|
/**
|
|
2751
2828
|
*
|
|
2752
2829
|
* [experimental] Hydrate the Mappedin instance using a response from either {@link IMappedin.toString()}, {@link getVenueBundle} or by downloading the bundle manually
|
|
@@ -2881,6 +2958,59 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/MappedinPolyg
|
|
|
2881
2958
|
export class MappedinPolygon extends MappedinNavigatable {
|
|
2882
2959
|
#private;
|
|
2883
2960
|
geometry: any;
|
|
2961
|
+
image?: {
|
|
2962
|
+
visible: boolean;
|
|
2963
|
+
url: string | Blob;
|
|
2964
|
+
original: string | Blob;
|
|
2965
|
+
useLocalScaling: boolean;
|
|
2966
|
+
viewBox: {
|
|
2967
|
+
width: number;
|
|
2968
|
+
height: number;
|
|
2969
|
+
};
|
|
2970
|
+
scale: {
|
|
2971
|
+
x: number;
|
|
2972
|
+
y: number;
|
|
2973
|
+
};
|
|
2974
|
+
fitToBounds: boolean;
|
|
2975
|
+
position: {
|
|
2976
|
+
x: number;
|
|
2977
|
+
y: number;
|
|
2978
|
+
z: number;
|
|
2979
|
+
};
|
|
2980
|
+
rotation: {
|
|
2981
|
+
x: number;
|
|
2982
|
+
y: number;
|
|
2983
|
+
z: number;
|
|
2984
|
+
};
|
|
2985
|
+
};
|
|
2986
|
+
holes?: unknown[];
|
|
2987
|
+
textures?: {
|
|
2988
|
+
image: any;
|
|
2989
|
+
name: 'front' | 'side';
|
|
2990
|
+
useFrontFaceImage?: boolean;
|
|
2991
|
+
}[];
|
|
2992
|
+
material: {
|
|
2993
|
+
color: string;
|
|
2994
|
+
opacity?: number;
|
|
2995
|
+
};
|
|
2996
|
+
label?: {
|
|
2997
|
+
visible: boolean;
|
|
2998
|
+
text: string;
|
|
2999
|
+
align: string;
|
|
3000
|
+
position: {
|
|
3001
|
+
x: number;
|
|
3002
|
+
y: number;
|
|
3003
|
+
z: number;
|
|
3004
|
+
};
|
|
3005
|
+
rotation: {
|
|
3006
|
+
x: number;
|
|
3007
|
+
y: number;
|
|
3008
|
+
z: number;
|
|
3009
|
+
};
|
|
3010
|
+
fontFamily: string;
|
|
3011
|
+
fontSize: number;
|
|
3012
|
+
color: string;
|
|
3013
|
+
};
|
|
2884
3014
|
/**
|
|
2885
3015
|
* Node ID.
|
|
2886
3016
|
*
|
|
@@ -3067,6 +3197,7 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/MappedinMap'
|
|
|
3067
3197
|
import type { TGeoReference } from '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.API.types';
|
|
3068
3198
|
import type { MappedinMapGroup } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinMapGroup';
|
|
3069
3199
|
import { MappedinCoordinate } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinCoordinate';
|
|
3200
|
+
import { MappedinLocation } from '@mappedin/react-native-sdk/core/packages/get-venue';
|
|
3070
3201
|
/**
|
|
3071
3202
|
* 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.
|
|
3072
3203
|
*
|
|
@@ -3093,6 +3224,11 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/MappedinMap'
|
|
|
3093
3224
|
shortName: string;
|
|
3094
3225
|
elevation: number;
|
|
3095
3226
|
scale?: number;
|
|
3227
|
+
layers: {
|
|
3228
|
+
visible: boolean;
|
|
3229
|
+
name: string;
|
|
3230
|
+
id: string;
|
|
3231
|
+
}[];
|
|
3096
3232
|
x_scale?: number;
|
|
3097
3233
|
perspectiveId?: string;
|
|
3098
3234
|
scene: any;
|
|
@@ -3107,6 +3243,11 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/MappedinMap'
|
|
|
3107
3243
|
* @property polygons {[MappedinPolygon]}
|
|
3108
3244
|
*/
|
|
3109
3245
|
get polygons(): MappedinPolygon[] | undefined;
|
|
3246
|
+
/**
|
|
3247
|
+
* Locations on this map
|
|
3248
|
+
*/
|
|
3249
|
+
get locations(): MappedinLocation[];
|
|
3250
|
+
get nodes(): import("./MappedinNode").MappedinNode[];
|
|
3110
3251
|
/**
|
|
3111
3252
|
* Map Group this map belongs to.
|
|
3112
3253
|
*
|
|
@@ -3144,28 +3285,56 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/MappedinEvent
|
|
|
3144
3285
|
import type { Mappedin } from '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin';
|
|
3145
3286
|
import type { MappedinLocation } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinLocation';
|
|
3146
3287
|
/**
|
|
3147
|
-
* An event.
|
|
3288
|
+
* 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.
|
|
3148
3289
|
*
|
|
3149
3290
|
* @class MappedinEvent
|
|
3150
3291
|
*/
|
|
3151
3292
|
export class MappedinEvent {
|
|
3152
3293
|
#private;
|
|
3294
|
+
/**
|
|
3295
|
+
* Unique id string of the event.
|
|
3296
|
+
*/
|
|
3153
3297
|
id: string;
|
|
3154
3298
|
type: string;
|
|
3299
|
+
/**
|
|
3300
|
+
* Event name
|
|
3301
|
+
*/
|
|
3155
3302
|
name: string;
|
|
3303
|
+
/**
|
|
3304
|
+
* Optional, longer description of the event.
|
|
3305
|
+
*/
|
|
3156
3306
|
description?: string | undefined;
|
|
3307
|
+
/**
|
|
3308
|
+
* Optional image to be used for displaying the event.
|
|
3309
|
+
*/
|
|
3157
3310
|
image?: TImage | undefined;
|
|
3311
|
+
/**
|
|
3312
|
+
* Start timestamp of the event. Javascript date in milliseconds since 1 January 1970 UTC.
|
|
3313
|
+
*/
|
|
3158
3314
|
startDate?: number | undefined;
|
|
3315
|
+
/**
|
|
3316
|
+
* Start timestamp of the event. Javascript date in milliseconds since 1 January 1970 UTC.
|
|
3317
|
+
*/
|
|
3159
3318
|
endDate?: number | undefined;
|
|
3319
|
+
/**
|
|
3320
|
+
* Timestamp when the event should be displayed. Javascript date in milliseconds since 1 January 1970 UTC.
|
|
3321
|
+
*/
|
|
3160
3322
|
showDate?: number | undefined;
|
|
3323
|
+
/**
|
|
3324
|
+
* @internal
|
|
3325
|
+
*/
|
|
3161
3326
|
constructor(mappedin: Mappedin, data: any);
|
|
3162
3327
|
/**
|
|
3163
|
-
* Location this
|
|
3164
|
-
*
|
|
3165
|
-
* @property location {MappedinLocation}
|
|
3328
|
+
* Location this event is occuring at.
|
|
3166
3329
|
*/
|
|
3167
3330
|
location(): MappedinLocation | undefined;
|
|
3331
|
+
/**
|
|
3332
|
+
* @internal
|
|
3333
|
+
*/
|
|
3168
3334
|
static hydrate(events: any, mappedin: Mappedin): MappedinEvent[];
|
|
3335
|
+
/**
|
|
3336
|
+
* @internal
|
|
3337
|
+
*/
|
|
3169
3338
|
static fetch(mappedin: Mappedin): Promise<MappedinEvent[]>;
|
|
3170
3339
|
toJSON(): any;
|
|
3171
3340
|
}
|
|
@@ -3572,9 +3741,6 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.API.
|
|
|
3572
3741
|
export type TMapGroup = {
|
|
3573
3742
|
name: string;
|
|
3574
3743
|
id: string;
|
|
3575
|
-
maps: {
|
|
3576
|
-
id: TMap['id'];
|
|
3577
|
-
}[];
|
|
3578
3744
|
};
|
|
3579
3745
|
export type TBuilding = TLocation & {
|
|
3580
3746
|
groupId: string;
|
|
@@ -3627,27 +3793,32 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.API.
|
|
|
3627
3793
|
entranceNodeId: string;
|
|
3628
3794
|
score: number;
|
|
3629
3795
|
};
|
|
3630
|
-
export type
|
|
3631
|
-
address: string;
|
|
3632
|
-
city: string;
|
|
3633
|
-
countrycode: string;
|
|
3634
|
-
defaultMap: string;
|
|
3635
|
-
externalId: string;
|
|
3796
|
+
export type TLocationState = {
|
|
3636
3797
|
id: string;
|
|
3637
|
-
latitude: number;
|
|
3638
|
-
logo: TLogo;
|
|
3639
|
-
longitude: number;
|
|
3640
|
-
metadata?: any;
|
|
3641
3798
|
name: string;
|
|
3642
|
-
|
|
3643
|
-
|
|
3644
|
-
|
|
3645
|
-
|
|
3646
|
-
|
|
3647
|
-
|
|
3648
|
-
|
|
3649
|
-
|
|
3650
|
-
|
|
3799
|
+
value: string;
|
|
3800
|
+
};
|
|
3801
|
+
export type TVenue = {
|
|
3802
|
+
address?: string;
|
|
3803
|
+
city?: string;
|
|
3804
|
+
countrycode?: string;
|
|
3805
|
+
defaultMap?: string;
|
|
3806
|
+
externalId?: string;
|
|
3807
|
+
id?: string;
|
|
3808
|
+
latitude?: number;
|
|
3809
|
+
logo?: TLogo;
|
|
3810
|
+
longitude?: number;
|
|
3811
|
+
metadata?: any;
|
|
3812
|
+
name?: string;
|
|
3813
|
+
operationHours?: TOpeningHours[];
|
|
3814
|
+
postal?: string;
|
|
3815
|
+
slug?: string;
|
|
3816
|
+
state?: string;
|
|
3817
|
+
telephone?: string;
|
|
3818
|
+
tzid?: string;
|
|
3819
|
+
tzidOverride?: string;
|
|
3820
|
+
utcOffset?: string;
|
|
3821
|
+
website?: string;
|
|
3651
3822
|
};
|
|
3652
3823
|
export type TMappedinAPI = {
|
|
3653
3824
|
nodes: TNode[];
|
|
@@ -3659,6 +3830,7 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.API.
|
|
|
3659
3830
|
themes: any;
|
|
3660
3831
|
venue: TVenue;
|
|
3661
3832
|
vortexes: TVortex[];
|
|
3833
|
+
locationStates?: TLocationState[];
|
|
3662
3834
|
};
|
|
3663
3835
|
}
|
|
3664
3836
|
|
|
@@ -3797,6 +3969,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
3797
3969
|
RIGHT = "right"
|
|
3798
3970
|
}
|
|
3799
3971
|
class FloatingLabel extends BaseCollider implements ISmarterLabel {
|
|
3972
|
+
#private;
|
|
3800
3973
|
lines: number;
|
|
3801
3974
|
contextConfigured: boolean;
|
|
3802
3975
|
fillText: TDrawFn | undefined;
|
|
@@ -3814,7 +3987,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
3814
3987
|
get strategies(): TColliderStrategy[];
|
|
3815
3988
|
getCachedSymbol(orientation: any, textAlign: any, xCoordinate: any): any;
|
|
3816
3989
|
colliderDidMount(): void;
|
|
3817
|
-
colliderDidUpdatePosition(
|
|
3990
|
+
colliderDidUpdatePosition(pos: any): void;
|
|
3818
3991
|
setPriority(priority: any): void;
|
|
3819
3992
|
colliderDidUpdateVisiblity(): void;
|
|
3820
3993
|
colliderDidGoOutsideGrid(): void;
|
|
@@ -3950,19 +4123,19 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
3950
4123
|
}
|
|
3951
4124
|
export type TBlueDotPositionUpdate = {
|
|
3952
4125
|
/**
|
|
3953
|
-
*
|
|
4126
|
+
* The {@link MappedinMap} Blue Dot position is on
|
|
3954
4127
|
*/
|
|
3955
4128
|
map?: MappedinMap;
|
|
3956
4129
|
/**
|
|
3957
|
-
* The nearest
|
|
4130
|
+
* The nearest {@link MappedinNode} to the Blue Dot position
|
|
3958
4131
|
*/
|
|
3959
4132
|
nearestNode?: MappedinNode;
|
|
3960
4133
|
/**
|
|
3961
|
-
* Actual position of
|
|
4134
|
+
* Actual position of Blue Dot (post smoothing, if smoothing is enabled)
|
|
3962
4135
|
*/
|
|
3963
4136
|
position?: TGeolocationObject;
|
|
3964
4137
|
/**
|
|
3965
|
-
* Current
|
|
4138
|
+
* Current Blue Dot bearing
|
|
3966
4139
|
*/
|
|
3967
4140
|
bearing?: number;
|
|
3968
4141
|
};
|
|
@@ -3972,11 +4145,11 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
3972
4145
|
*/
|
|
3973
4146
|
name: E_BLUEDOT_STATE;
|
|
3974
4147
|
/**
|
|
3975
|
-
* Visiblity
|
|
4148
|
+
* Visiblity state of the Blue Dot marker
|
|
3976
4149
|
*/
|
|
3977
4150
|
markerVisibility?: E_BLUEDOT_MARKER_STATE;
|
|
3978
4151
|
/**
|
|
3979
|
-
* Reason why
|
|
4152
|
+
* Reason why Blue Dot may be in the current state
|
|
3980
4153
|
*/
|
|
3981
4154
|
reason?: E_BLUEDOT_STATE_REASON;
|
|
3982
4155
|
/**
|
|
@@ -4005,70 +4178,75 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
4005
4178
|
import { Vector3 } from 'three';
|
|
4006
4179
|
import { TColliderStrategy } from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.SmartCollider';
|
|
4007
4180
|
/**
|
|
4008
|
-
|
|
4009
|
-
|
|
4010
|
-
|
|
4011
|
-
|
|
4012
|
-
|
|
4013
|
-
|
|
4014
|
-
|
|
4015
|
-
|
|
4016
|
-
|
|
4017
|
-
|
|
4018
|
-
|
|
4019
|
-
|
|
4020
|
-
|
|
4021
|
-
|
|
4022
|
-
|
|
4023
|
-
|
|
4024
|
-
|
|
4025
|
-
|
|
4026
|
-
|
|
4027
|
-
|
|
4028
|
-
|
|
4029
|
-
|
|
4030
|
-
|
|
4181
|
+
*
|
|
4182
|
+
* 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.
|
|
4183
|
+
*
|
|
4184
|
+
* 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.
|
|
4185
|
+
*
|
|
4186
|
+
* You will need to specify at least `options.position` and one of `options.html` and `options.selector` OR `options.contentHtml`.
|
|
4187
|
+
*
|
|
4188
|
+
*
|
|
4189
|
+
* @class Tooltip
|
|
4190
|
+
*
|
|
4191
|
+
* @constructor
|
|
4192
|
+
* @param options {Object} Passes on options (e.g. html, text, position, map, padding, defaultAnchorType, enabledAnchorTypes, collisionRank) to MapView.Tooltip's options argument.
|
|
4193
|
+
* @param [options.html] Pass in custom html for your marker, if using this method you must also pass in a selector for your content.
|
|
4194
|
+
* @param [options.selector] Used in conjuction with the html property to select the div for repositioning
|
|
4195
|
+
* @param [options.contentHtml] Use mappedin's default tooltip styling with custom inner html content
|
|
4196
|
+
* @param [options.text] Instead of passing html pass in plain text to be displayed in the tooltip
|
|
4197
|
+
* @param [options.position] should be something you got from {{#crossLink "MapView/getPositionPolygon:method"}}{{/crossLink}} or {{#crossLink "MapView/getPositionNode:method"}}{{/crossLink}}.
|
|
4198
|
+
* @param [options.map] The map ID where the tooltip should be displayed
|
|
4199
|
+
* @param [options.defaultAnchorType] The default orientation to place the tooltip.
|
|
4200
|
+
* @param [options.padding] The distance in pixel to offset the tooltip from the anchor point.
|
|
4201
|
+
* @param [options.enabledAnchorTypes] An object used to disable certain anchor positions from being used.
|
|
4202
|
+
* @param [options.collisionRank] The rank of the object used when comparing colliders to determine which should be shown.
|
|
4203
|
+
*/
|
|
4031
4204
|
export type TSmartTooltipOptions = {
|
|
4032
|
-
|
|
4033
|
-
|
|
4034
|
-
|
|
4035
|
-
|
|
4036
|
-
|
|
4037
|
-
|
|
4038
|
-
|
|
4039
|
-
|
|
4040
|
-
|
|
4041
|
-
|
|
4042
|
-
|
|
4043
|
-
|
|
4205
|
+
html?: string;
|
|
4206
|
+
contentHtml?: string;
|
|
4207
|
+
text?: string;
|
|
4208
|
+
position: Vector3;
|
|
4209
|
+
selector?: string;
|
|
4210
|
+
map: string;
|
|
4211
|
+
padding?: number;
|
|
4212
|
+
alwaysVisible?: boolean;
|
|
4213
|
+
collisionRank?: COLLISION_RANKING_TIERS;
|
|
4214
|
+
defaultAnchorType?: string;
|
|
4215
|
+
enabledAnchorTypes?: {
|
|
4216
|
+
[type: string]: boolean;
|
|
4217
|
+
};
|
|
4044
4218
|
};
|
|
4045
4219
|
type TTooltipStyle = {
|
|
4046
|
-
|
|
4047
|
-
|
|
4220
|
+
top?: string;
|
|
4221
|
+
left?: string;
|
|
4048
4222
|
};
|
|
4049
4223
|
export type TOOLTIP_ANCHOR = {
|
|
4050
|
-
|
|
4051
|
-
|
|
4052
|
-
|
|
4053
|
-
|
|
4054
|
-
|
|
4055
|
-
|
|
4056
|
-
|
|
4057
|
-
|
|
4224
|
+
top?: boolean;
|
|
4225
|
+
left?: boolean;
|
|
4226
|
+
topLeft?: boolean;
|
|
4227
|
+
right?: boolean;
|
|
4228
|
+
topRight?: boolean;
|
|
4229
|
+
bottom?: boolean;
|
|
4230
|
+
bottomLeft?: boolean;
|
|
4231
|
+
bottomRight?: boolean;
|
|
4058
4232
|
};
|
|
4059
4233
|
class SmartTooltip extends HTMLCollider implements IHTMLCollider {
|
|
4060
|
-
|
|
4061
|
-
|
|
4062
|
-
|
|
4063
|
-
|
|
4064
|
-
|
|
4065
|
-
|
|
4066
|
-
|
|
4067
|
-
|
|
4068
|
-
|
|
4069
|
-
|
|
4070
|
-
|
|
4071
|
-
|
|
4234
|
+
#private;
|
|
4235
|
+
className: string;
|
|
4236
|
+
_el: Element | null;
|
|
4237
|
+
style: TTooltipStyle;
|
|
4238
|
+
constructor(options: TSmartTooltipOptions);
|
|
4239
|
+
updateClassName: (className: any) => void;
|
|
4240
|
+
get strategies(): TColliderStrategy[];
|
|
4241
|
+
colliderDidMount(): void;
|
|
4242
|
+
/**
|
|
4243
|
+
* @internal
|
|
4244
|
+
*/
|
|
4245
|
+
updateDimensionsImmediately(): void;
|
|
4246
|
+
setAction(action: any): void;
|
|
4247
|
+
colliderDidNotFindAHome(): void;
|
|
4248
|
+
colliderDidGoOffscreen(): void;
|
|
4249
|
+
colliderDidUpdateVisiblity(): void;
|
|
4072
4250
|
}
|
|
4073
4251
|
export default SmartTooltip;
|
|
4074
4252
|
}
|
|
@@ -4080,6 +4258,9 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/layers/BlueDot
|
|
|
4080
4258
|
import { TEnableBlueDotOptions } from '@mappedin/react-native-sdk/core/packages/renderer/MapView.types';
|
|
4081
4259
|
import { PubSub } from '@mappedin/react-native-sdk/core/packages/renderer/internal/pub-sub.typed';
|
|
4082
4260
|
import EventSystemLayer from '@mappedin/react-native-sdk/core/packages/renderer/layers/EventSystem';
|
|
4261
|
+
/**
|
|
4262
|
+
* 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.
|
|
4263
|
+
*/
|
|
4083
4264
|
class BlueDotLayer extends PubSub<E_BLUEDOT_EVENT_PAYLOAD, E_BLUEDOT_EVENT> {
|
|
4084
4265
|
#private;
|
|
4085
4266
|
/**
|
|
@@ -4091,7 +4272,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/layers/BlueDot
|
|
|
4091
4272
|
*/
|
|
4092
4273
|
enable(options?: TEnableBlueDotOptions): void;
|
|
4093
4274
|
/**
|
|
4094
|
-
*
|
|
4275
|
+
* Disables Blue Dot and stops emitting events.
|
|
4095
4276
|
*/
|
|
4096
4277
|
disable(): void;
|
|
4097
4278
|
}
|
|
@@ -4110,7 +4291,17 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/layers/Journey
|
|
|
4110
4291
|
*/
|
|
4111
4292
|
constructor(mapView: MapView, core: ICore);
|
|
4112
4293
|
/**
|
|
4113
|
-
* Draw a Journey
|
|
4294
|
+
* Draw a Journey based on directions. Example usage:
|
|
4295
|
+
*
|
|
4296
|
+
* ```typescript
|
|
4297
|
+
* const startLocation = venue.locations.find(location => location.name === "Cleo");
|
|
4298
|
+
* const endLocation = venue.locations.find(location => location.name === "American Eagle");
|
|
4299
|
+
*
|
|
4300
|
+
* const directions = startLocation.directionsTo(endLocation);
|
|
4301
|
+
* mapView.Journey.draw(directions);
|
|
4302
|
+
* ```
|
|
4303
|
+
*
|
|
4304
|
+
* 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.
|
|
4114
4305
|
*/
|
|
4115
4306
|
draw(directions: MappedinDirections | MappedinDirections[], options?: TJourneyOptions): Journey;
|
|
4116
4307
|
/**
|
|
@@ -4143,8 +4334,10 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
4143
4334
|
}
|
|
4144
4335
|
export class FlatLabel {
|
|
4145
4336
|
constructor(options: any, venue: any, mapObject: any, DEFAULT_FONT: any, polygonMeshesById: any, textLabelsByPolygonId: any, mapView: any, scope: any, atlas: any);
|
|
4337
|
+
id: any;
|
|
4146
4338
|
text: any;
|
|
4147
4339
|
stateText: string;
|
|
4340
|
+
fullText: any;
|
|
4148
4341
|
font: any;
|
|
4149
4342
|
atlas: any;
|
|
4150
4343
|
canvasBounds: any;
|
|
@@ -4742,7 +4935,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer' {
|
|
|
4742
4935
|
import Search from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.Search';
|
|
4743
4936
|
import Analytics from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.Analytics';
|
|
4744
4937
|
import { MapView } from '@mappedin/react-native-sdk/core/packages/renderer/MapView';
|
|
4745
|
-
import { getVenue, getVenueBundle, Mappedin, downloadBundle, getVenueBundleURL, MappedinDestinationSet, MappedinMap, TGetVenueBundleOptions, TGetVenueOptions } from '@mappedin/react-native-sdk/core/packages/get-venue';
|
|
4938
|
+
import { getVenue, getVenueBundle, Mappedin, downloadBundle, getVenueBundleURL, downloadVenueBundleMVF, MappedinDestinationSet, MappedinMap, TGetVenueBundleOptions, TGetVenueOptions } from '@mappedin/react-native-sdk/core/packages/get-venue';
|
|
4746
4939
|
import { PositionUpdater } from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.BlueDot/Mappedin.BlueDot.core';
|
|
4747
4940
|
import type { TMapViewOptions, TJourneyOptions } from '@mappedin/react-native-sdk/core/packages/renderer/MapView.types';
|
|
4748
4941
|
import { labelThemes } from '@mappedin/react-native-sdk/core/packages/renderer/MapView.types';
|
|
@@ -4773,9 +4966,9 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer' {
|
|
|
4773
4966
|
*/
|
|
4774
4967
|
function showVenue<T extends Mappedin>(el: HTMLElement, venue: T, options?: TMapViewOptions): Promise<MapView>;
|
|
4775
4968
|
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';
|
|
4776
|
-
export { Search, getVenue, getVenueBundle, showVenue, downloadBundle, getVenueBundleURL, PositionUpdater, Analytics, MappedinDestinationSet, MARKER_ANCHOR, labelThemes };
|
|
4969
|
+
export { Search, getVenue, getVenueBundle, showVenue, downloadBundle, getVenueBundleURL, downloadVenueBundleMVF, PositionUpdater, Analytics, MappedinDestinationSet, MARKER_ANCHOR, labelThemes };
|
|
4777
4970
|
import DefaultAssetManager from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.AssetManager';
|
|
4778
|
-
const setAssetManager: (am:
|
|
4971
|
+
const setAssetManager: <T extends DefaultAssetManager>(am: T) => void;
|
|
4779
4972
|
/**
|
|
4780
4973
|
* @internal
|
|
4781
4974
|
*/
|
|
@@ -4790,7 +4983,210 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer' {
|
|
|
4790
4983
|
export type { TSafeAreaInsets, TFocusOnTargets, TFocusOnCameraOptions, TAnimatePositionOptions, TCameraAnimationOptions, TFocusOnOptions, default as Camera } from '@mappedin/react-native-sdk/core/packages/renderer/Camera';
|
|
4791
4984
|
export { SAFE_AREA_INSET_TYPE, ANIMATION_TWEENS, CAMERA_EASING_MODE } from '@mappedin/react-native-sdk/core/packages/renderer/Camera';
|
|
4792
4985
|
export type { TGetVenueOptions, MappedinLocation, MappedinPolygon, MappedinNode, MappedinCategory, MappedinMap, MappedinEvent, MappedinMapGroup, MappedinVenue, MappedinVortex, MappedinNavigatable, MappedinCoordinate, TShowVenueOptions } from '@mappedin/react-native-sdk/core/packages/get-venue';
|
|
4793
|
-
export { Mappedin, MappedinDirections } from '@mappedin/react-native-sdk/core/packages/get-venue';
|
|
4986
|
+
export { Mappedin, MappedinDirections, MAP_RENDER_MODE } from '@mappedin/react-native-sdk/core/packages/get-venue';
|
|
4987
|
+
}
|
|
4988
|
+
|
|
4989
|
+
declare module '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.MVF.types' {
|
|
4990
|
+
import { FeatureCollection, Polygon, Point, MultiPolygon } from 'geojson';
|
|
4991
|
+
type ManifestFile = {
|
|
4992
|
+
type: 'file';
|
|
4993
|
+
name: string;
|
|
4994
|
+
};
|
|
4995
|
+
type ManifestFolder = {
|
|
4996
|
+
type: 'folder';
|
|
4997
|
+
name: string;
|
|
4998
|
+
children: ManifestFile[];
|
|
4999
|
+
};
|
|
5000
|
+
type OpeningHours = {
|
|
5001
|
+
opens: string;
|
|
5002
|
+
closes: string;
|
|
5003
|
+
dayOfWeek: string;
|
|
5004
|
+
validFrom?: string;
|
|
5005
|
+
validThrough?: string;
|
|
5006
|
+
};
|
|
5007
|
+
type Image = {
|
|
5008
|
+
original?: string;
|
|
5009
|
+
xlarge?: string;
|
|
5010
|
+
xxlarge?: string;
|
|
5011
|
+
medium?: string;
|
|
5012
|
+
'140x140'?: string;
|
|
5013
|
+
xsmall?: string;
|
|
5014
|
+
xxsmall?: string;
|
|
5015
|
+
'66x66'?: string;
|
|
5016
|
+
small?: string;
|
|
5017
|
+
large?: string;
|
|
5018
|
+
};
|
|
5019
|
+
type PolygonImage = string;
|
|
5020
|
+
type Phone = {
|
|
5021
|
+
number: string;
|
|
5022
|
+
extension?: string;
|
|
5023
|
+
};
|
|
5024
|
+
type Link = {
|
|
5025
|
+
label: string;
|
|
5026
|
+
url: string;
|
|
5027
|
+
};
|
|
5028
|
+
type Social = {
|
|
5029
|
+
facebook?: string;
|
|
5030
|
+
twitter?: string;
|
|
5031
|
+
instagram?: string;
|
|
5032
|
+
website?: string;
|
|
5033
|
+
};
|
|
5034
|
+
type LocationState = {
|
|
5035
|
+
type: string;
|
|
5036
|
+
start?: string;
|
|
5037
|
+
end?: string;
|
|
5038
|
+
};
|
|
5039
|
+
type ImageTransform = {
|
|
5040
|
+
position: {
|
|
5041
|
+
x: number;
|
|
5042
|
+
y: number;
|
|
5043
|
+
z: number;
|
|
5044
|
+
};
|
|
5045
|
+
rotation: number;
|
|
5046
|
+
scale: {
|
|
5047
|
+
x: number;
|
|
5048
|
+
y: number;
|
|
5049
|
+
};
|
|
5050
|
+
};
|
|
5051
|
+
type SiblingGroup = {
|
|
5052
|
+
label: string;
|
|
5053
|
+
siblings: string[];
|
|
5054
|
+
};
|
|
5055
|
+
export type MILocationProperties = {
|
|
5056
|
+
id: string;
|
|
5057
|
+
address?: string | null;
|
|
5058
|
+
categories: string[];
|
|
5059
|
+
description?: string | null;
|
|
5060
|
+
email?: string | null;
|
|
5061
|
+
externalId?: string | null;
|
|
5062
|
+
hours?: OpeningHours[] | null;
|
|
5063
|
+
links?: Link[] | null;
|
|
5064
|
+
logo?: Image | null;
|
|
5065
|
+
name: string;
|
|
5066
|
+
phone?: Phone | null;
|
|
5067
|
+
picture?: Image | null;
|
|
5068
|
+
services?: string | null;
|
|
5069
|
+
siblingGroups?: SiblingGroup[] | null;
|
|
5070
|
+
social?: Social | null;
|
|
5071
|
+
spaces?: TLocationSpaceReference[] | null;
|
|
5072
|
+
states?: LocationState[] | null;
|
|
5073
|
+
type: string;
|
|
5074
|
+
};
|
|
5075
|
+
export type MICategoryProperties = {
|
|
5076
|
+
id: string;
|
|
5077
|
+
name: string;
|
|
5078
|
+
picture?: Image;
|
|
5079
|
+
};
|
|
5080
|
+
export type MIBuildingProperties = {
|
|
5081
|
+
id: string;
|
|
5082
|
+
name: string;
|
|
5083
|
+
venue: string;
|
|
5084
|
+
};
|
|
5085
|
+
export type MILevelProperties = {
|
|
5086
|
+
id: string;
|
|
5087
|
+
abbreviation?: string;
|
|
5088
|
+
building?: string;
|
|
5089
|
+
elevation?: number;
|
|
5090
|
+
name: string;
|
|
5091
|
+
};
|
|
5092
|
+
export type MIPolygonlikeProperties = {
|
|
5093
|
+
id: string;
|
|
5094
|
+
altitude?: string;
|
|
5095
|
+
color?: string;
|
|
5096
|
+
externalId?: string | null;
|
|
5097
|
+
height?: string;
|
|
5098
|
+
layer?: string;
|
|
5099
|
+
level: string;
|
|
5100
|
+
parent?: string | null;
|
|
5101
|
+
};
|
|
5102
|
+
type TPseudoNodeSpaceReference = {
|
|
5103
|
+
node: string;
|
|
5104
|
+
map: string;
|
|
5105
|
+
};
|
|
5106
|
+
export type TRealSpaceReference = {
|
|
5107
|
+
id: string;
|
|
5108
|
+
map: string;
|
|
5109
|
+
};
|
|
5110
|
+
type TLocationSpaceReference = TPseudoNodeSpaceReference | TRealSpaceReference;
|
|
5111
|
+
export type TEntrances = {
|
|
5112
|
+
id: string;
|
|
5113
|
+
level: string;
|
|
5114
|
+
};
|
|
5115
|
+
export type MISpaceProperties = MIPolygonlikeProperties & {
|
|
5116
|
+
entrances: TEntrances[];
|
|
5117
|
+
};
|
|
5118
|
+
export type MIObstructionProperties = MIPolygonlikeProperties;
|
|
5119
|
+
export type MIConnectionProperties = {
|
|
5120
|
+
id: string;
|
|
5121
|
+
accessible: boolean;
|
|
5122
|
+
destinations: string[];
|
|
5123
|
+
level: string;
|
|
5124
|
+
multiplier: number;
|
|
5125
|
+
name: string;
|
|
5126
|
+
type: string;
|
|
5127
|
+
weight: number;
|
|
5128
|
+
};
|
|
5129
|
+
export type MINodeProperties = {
|
|
5130
|
+
id: string;
|
|
5131
|
+
accessible: boolean;
|
|
5132
|
+
externalId: string | null;
|
|
5133
|
+
level: string;
|
|
5134
|
+
multiplier: number;
|
|
5135
|
+
neighbors: string[];
|
|
5136
|
+
weight: number;
|
|
5137
|
+
};
|
|
5138
|
+
export type MIManifestProperties = {
|
|
5139
|
+
name: string;
|
|
5140
|
+
folder_struct: (ManifestFolder | ManifestFile)[];
|
|
5141
|
+
version: string;
|
|
5142
|
+
time: string;
|
|
5143
|
+
};
|
|
5144
|
+
export type MILayerStyleProperties = {
|
|
5145
|
+
layer: string;
|
|
5146
|
+
altitude: number;
|
|
5147
|
+
color: string;
|
|
5148
|
+
height: number;
|
|
5149
|
+
opacity: number;
|
|
5150
|
+
};
|
|
5151
|
+
export type MIPolygonStyleProperties = {
|
|
5152
|
+
id: string;
|
|
5153
|
+
altitude: number;
|
|
5154
|
+
color: string;
|
|
5155
|
+
height: number;
|
|
5156
|
+
image: PolygonImage;
|
|
5157
|
+
imageTransform: ImageTransform;
|
|
5158
|
+
opacity: number;
|
|
5159
|
+
};
|
|
5160
|
+
export type MIGeoJSONManifestCollection = FeatureCollection<Point, MIManifestProperties>;
|
|
5161
|
+
export type MIGeoJSONBuildingCollection = FeatureCollection<Polygon, MIBuildingProperties>;
|
|
5162
|
+
export type MIGeoJSONConnectionCollection = FeatureCollection<Point, MIConnectionProperties>;
|
|
5163
|
+
export type MIGeoJSONLevelCollection = FeatureCollection<Polygon | MultiPolygon, MILevelProperties>;
|
|
5164
|
+
export type MIGeoJSONSpaceCollection = FeatureCollection<Polygon, MISpaceProperties>;
|
|
5165
|
+
export type MIGeoJSONObstructionCollection = FeatureCollection<Polygon, MIObstructionProperties>;
|
|
5166
|
+
export type MIGeoJSONNodeCollection = FeatureCollection<Point, MINodeProperties>;
|
|
5167
|
+
export type MIGeoJSONLocationCollection = FeatureCollection<null, MILocationProperties>;
|
|
5168
|
+
export type MIGeoJSONCategoryCollection = FeatureCollection<null, MICategoryProperties>;
|
|
5169
|
+
export type MIGeoJSONLayerStyleCollection = FeatureCollection<null, MILayerStyleProperties>;
|
|
5170
|
+
export type MIGeoJSONPolygonStyleCollection = FeatureCollection<null, MIPolygonStyleProperties>;
|
|
5171
|
+
export type WithIDs<T> = Map<string, T>;
|
|
5172
|
+
/**
|
|
5173
|
+
* The entire data collection for an MVF, in a single JSON collection.
|
|
5174
|
+
*
|
|
5175
|
+
*/
|
|
5176
|
+
export type MVFData = {
|
|
5177
|
+
connection: WithIDs<MIGeoJSONConnectionCollection>;
|
|
5178
|
+
level: WithIDs<MIGeoJSONLevelCollection>;
|
|
5179
|
+
node: WithIDs<MIGeoJSONNodeCollection>;
|
|
5180
|
+
obstruction: WithIDs<MIGeoJSONObstructionCollection>;
|
|
5181
|
+
polygonStyle: WithIDs<MIGeoJSONPolygonStyleCollection>;
|
|
5182
|
+
space: WithIDs<MIGeoJSONSpaceCollection>;
|
|
5183
|
+
building: MIGeoJSONBuildingCollection;
|
|
5184
|
+
category: MIGeoJSONCategoryCollection;
|
|
5185
|
+
layerStyle: MIGeoJSONLayerStyleCollection;
|
|
5186
|
+
location: MIGeoJSONLocationCollection;
|
|
5187
|
+
manifest: MIGeoJSONManifestCollection;
|
|
5188
|
+
};
|
|
5189
|
+
export {};
|
|
4794
5190
|
}
|
|
4795
5191
|
|
|
4796
5192
|
declare module '@mappedin/react-native-sdk/core/packages/get-venue/MappedinLocationRankings' {
|
|
@@ -4843,7 +5239,7 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/MappedinTheme
|
|
|
4843
5239
|
}
|
|
4844
5240
|
|
|
4845
5241
|
declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.SmartCollider' {
|
|
4846
|
-
import
|
|
5242
|
+
import SmartCollisionEngine from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.SmartCollisionEngine';
|
|
4847
5243
|
import { Vector3 } from 'three';
|
|
4848
5244
|
export type TRange = [number, number, number, number];
|
|
4849
5245
|
type TCustomCollider<T> = ICollider & T;
|
|
@@ -4880,7 +5276,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
4880
5276
|
setAction: (action: EColliderAction) => void;
|
|
4881
5277
|
action?: EColliderAction;
|
|
4882
5278
|
position: Vector3;
|
|
4883
|
-
__engine?:
|
|
5279
|
+
__engine?: SmartCollisionEngine;
|
|
4884
5280
|
enable: () => void;
|
|
4885
5281
|
disable: () => void;
|
|
4886
5282
|
enabled: boolean;
|
|
@@ -4894,7 +5290,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
4894
5290
|
colliderDidGoOffscreen?: () => void;
|
|
4895
5291
|
colliderDidGoOutsideGrid?: () => void;
|
|
4896
5292
|
colliderDidUpdateVisiblity?: () => void;
|
|
4897
|
-
colliderDidUpdatePosition?: (x: number, y: number) => void;
|
|
5293
|
+
colliderDidUpdatePosition?: (prop: [x: number, y: number]) => void;
|
|
4898
5294
|
}
|
|
4899
5295
|
class BaseCollider implements ICollider {
|
|
4900
5296
|
__engine: any;
|
|
@@ -4924,7 +5320,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
4924
5320
|
removeSelf(): void;
|
|
4925
5321
|
enable(): void;
|
|
4926
5322
|
disable(): void;
|
|
4927
|
-
colliderDidUpdatePosition(
|
|
5323
|
+
colliderDidUpdatePosition(pos: any): void;
|
|
4928
5324
|
colliderDidNotFindAHome(): void;
|
|
4929
5325
|
colliderDidMount(): void;
|
|
4930
5326
|
colliderDidUpdateVisiblity(): void;
|
|
@@ -5147,6 +5543,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
5147
5543
|
contentEl: any;
|
|
5148
5544
|
}
|
|
5149
5545
|
class HTMLCollider extends BaseCollider {
|
|
5546
|
+
#private;
|
|
5150
5547
|
contentEl: any;
|
|
5151
5548
|
containerEl: any;
|
|
5152
5549
|
removeSelf(): void;
|
|
@@ -5154,7 +5551,12 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
5154
5551
|
disable(): void;
|
|
5155
5552
|
colliderDidGoOffscreen(): void;
|
|
5156
5553
|
colliderDidNotFindAHome(): void;
|
|
5157
|
-
colliderDidUpdatePosition(
|
|
5554
|
+
colliderDidUpdatePosition(pos: any): void;
|
|
5555
|
+
updateDimensions(): void;
|
|
5556
|
+
/**
|
|
5557
|
+
* @internal
|
|
5558
|
+
*/
|
|
5559
|
+
updateDimensionsImmediately(): void;
|
|
5158
5560
|
colliderDidMount(): void;
|
|
5159
5561
|
colliderDidUpdateVisiblity(): void;
|
|
5160
5562
|
}
|
|
@@ -5389,7 +5791,6 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
5389
5791
|
get strategies(): TColliderStrategy[];
|
|
5390
5792
|
colliderDidMount(): void;
|
|
5391
5793
|
setAction(action: any): void;
|
|
5392
|
-
updateDimensions(): void;
|
|
5393
5794
|
colliderDidGoOffscreen(): void;
|
|
5394
5795
|
colliderDidUpdateVisiblity(): void;
|
|
5395
5796
|
}
|
|
@@ -5426,6 +5827,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
5426
5827
|
_started: boolean;
|
|
5427
5828
|
_loaderPromise: null;
|
|
5428
5829
|
_promiseResolve: null;
|
|
5830
|
+
hoverableMeshChildren: any[];
|
|
5429
5831
|
objectsDictionary: {};
|
|
5430
5832
|
north: null;
|
|
5431
5833
|
mapScale: null;
|
|
@@ -5446,6 +5848,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
5446
5848
|
loadAsync: any;
|
|
5447
5849
|
_taskScheduler: any;
|
|
5448
5850
|
id: any;
|
|
5851
|
+
mapRenderingStrategy: any;
|
|
5449
5852
|
_highPriorityTasks: FrameTaskGroup;
|
|
5450
5853
|
_lowPriorityTasks: FrameTaskGroup;
|
|
5451
5854
|
_markerTasks: FrameTaskGroup;
|
|
@@ -5453,6 +5856,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
5453
5856
|
_visibilityLatch: boolean | null;
|
|
5454
5857
|
_objLoadedComplete: boolean;
|
|
5455
5858
|
_objLoaded(object: any): any;
|
|
5859
|
+
_objLoadedMerged(object: any): void;
|
|
5456
5860
|
enableImageFlipping(polygonId: any, rotation: any): void;
|
|
5457
5861
|
elements: any;
|
|
5458
5862
|
boundingBox: {
|
|
@@ -5611,39 +6015,67 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
|
|
|
5611
6015
|
}
|
|
5612
6016
|
|
|
5613
6017
|
declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.AssetManager' {
|
|
5614
|
-
import { TextureLoader } from 'three';
|
|
6018
|
+
import { Texture, TextureLoader } from 'three';
|
|
5615
6019
|
import type { MappedinMap } from '@mappedin/react-native-sdk/core/packages/renderer';
|
|
5616
6020
|
export default class DefaultAssetManager {
|
|
5617
6021
|
textureLoader: TextureLoader;
|
|
5618
6022
|
loadMapPolygons(map: MappedinMap): Promise<any>;
|
|
5619
|
-
loadImage(url: string): Promise<
|
|
6023
|
+
loadImage(url: string): Promise<Texture>;
|
|
5620
6024
|
}
|
|
5621
6025
|
}
|
|
5622
6026
|
|
|
5623
6027
|
declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.SmartCollisionEngine' {
|
|
5624
6028
|
import { Vector3 } from 'three';
|
|
5625
6029
|
import './Mappedin.SmartCollisionEngine.scss';
|
|
5626
|
-
import { ICollider } from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.SmartCollider';
|
|
6030
|
+
import { ICollider, TRange } from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.SmartCollider';
|
|
6031
|
+
import { MappedinMap, MapView } from '@mappedin/react-native-sdk/core/packages/renderer';
|
|
5627
6032
|
export const COLLIDER_STRATEGY_LOW_PRIORITY = "LOW_PRIORITY";
|
|
5628
|
-
|
|
5629
|
-
|
|
5630
|
-
|
|
5631
|
-
|
|
5632
|
-
|
|
5633
|
-
|
|
5634
|
-
|
|
5635
|
-
|
|
5636
|
-
|
|
5637
|
-
|
|
5638
|
-
|
|
5639
|
-
|
|
5640
|
-
|
|
5641
|
-
|
|
5642
|
-
|
|
5643
|
-
|
|
5644
|
-
|
|
6033
|
+
class SmartCollisionEngine {
|
|
6034
|
+
#private;
|
|
6035
|
+
_makeCollidersDirtyThrottled: any;
|
|
6036
|
+
colliderCanvas: HTMLCanvasElement;
|
|
6037
|
+
debugCanvas: HTMLCanvasElement;
|
|
6038
|
+
colliderCanvasContext: CanvasRenderingContext2D;
|
|
6039
|
+
debugCanvasContext: CanvasRenderingContext2D;
|
|
6040
|
+
collisionEngineContainerEl: HTMLDivElement;
|
|
6041
|
+
stepsX: any;
|
|
6042
|
+
stepsY: any;
|
|
6043
|
+
totalWidth: any;
|
|
6044
|
+
totalHeight: any;
|
|
6045
|
+
project: any;
|
|
6046
|
+
grid: Uint8Array;
|
|
6047
|
+
colliders: Map<string, ICollider>;
|
|
6048
|
+
offscreenRanges: TRange[];
|
|
6049
|
+
get sortedColliders(): ICollider[];
|
|
6050
|
+
initialized: boolean;
|
|
6051
|
+
mapView: MapView;
|
|
6052
|
+
constructor(mapView: any);
|
|
6053
|
+
init: (container: HTMLDivElement, projectFn: ({ position, mapId }: {
|
|
6054
|
+
position: Vector3;
|
|
6055
|
+
mapId: MappedinMap['id'];
|
|
6056
|
+
}) => {
|
|
6057
|
+
x: number;
|
|
6058
|
+
y: number;
|
|
6059
|
+
}) => void;
|
|
6060
|
+
updatePosition: () => void;
|
|
6061
|
+
updateVisibility: () => void;
|
|
6062
|
+
add: (colliderId: string, collider: ICollider) => void;
|
|
6063
|
+
remove: (colliderId: string) => void;
|
|
6064
|
+
/**
|
|
6065
|
+
* When adding/removing new colliders, or when updating their priorty, we need to make all colliders around them as "dirty",
|
|
6066
|
+
* so they can be reconcilded correctly
|
|
6067
|
+
*/
|
|
6068
|
+
makeCollidersDirty: () => void;
|
|
6069
|
+
/**
|
|
6070
|
+
* Allow to throttle making collders dirty. This is useful for things like BlueDot follow mode,
|
|
6071
|
+
* As we follow the BlueDot, colliders will overlap, but constantly updating their visiblity makes
|
|
6072
|
+
* for a bad experience
|
|
6073
|
+
*/
|
|
6074
|
+
makeCollidersDirtyThrottled: (time: any) => void;
|
|
6075
|
+
resize: (container: any) => void;
|
|
6076
|
+
update: () => void;
|
|
6077
|
+
destroy: () => void;
|
|
5645
6078
|
}
|
|
5646
|
-
const SmartCollisionEngine: () => ISmartCollisionEngine;
|
|
5647
6079
|
export default SmartCollisionEngine;
|
|
5648
6080
|
}
|
|
5649
6081
|
|