venue-js 1.0.0-next.3 → 1.0.0-next.4
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/dist/index.d.mts +80 -43
- package/dist/index.d.ts +80 -43
- package/dist/index.js +39736 -1229
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +39678 -1181
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -3
package/dist/index.d.mts
CHANGED
|
@@ -2,10 +2,16 @@ import { QueryClient, QueryObserver, EnsureQueryDataOptions } from '@tanstack/qu
|
|
|
2
2
|
export { QueryObserver } from '@tanstack/query-core';
|
|
3
3
|
import * as geojson from 'geojson';
|
|
4
4
|
import { Position, Geometry, GeoJsonProperties, Feature, Point, Polygon, MultiPolygon, LineString, GeometryCollection } from 'geojson';
|
|
5
|
+
import * as maptalks_dist_core_Class from 'maptalks/dist/core/Class';
|
|
6
|
+
import * as maptalks_dist_geo_Extent from 'maptalks/dist/geo/Extent';
|
|
7
|
+
import { Map, Coordinate as Coordinate$1, Extent } from 'maptalks-gl';
|
|
8
|
+
import { BaseObject, ThreeLayer } from 'maptalks.three';
|
|
5
9
|
import * as maptalks from 'maptalks';
|
|
6
|
-
import { Coordinate,
|
|
7
|
-
import { ThreeLayer, BaseObject } from 'maptalks.three';
|
|
10
|
+
import { Coordinate, Marker, ui, LineString as LineString$1, Polygon as Polygon$1, MultiPolygon as MultiPolygon$1, MultiLineString } from 'maptalks';
|
|
8
11
|
import { ExtrudePolygonOptionType } from 'maptalks.three/dist/type';
|
|
12
|
+
import { PolygonOptionsType } from 'maptalks/dist/geometry/Polygon';
|
|
13
|
+
import { LineStringOptionsType } from 'maptalks/dist/geometry/LineString';
|
|
14
|
+
import { MapViewType, MapAnimationOptionsType } from 'maptalks/dist/map/Map';
|
|
9
15
|
import { SpriteMaterial, AmbientLight, DirectionalLight } from 'three';
|
|
10
16
|
|
|
11
17
|
type Id = string;
|
|
@@ -557,6 +563,22 @@ type OccupantFeaturePopulated = OccupantFeature & {
|
|
|
557
563
|
privileges: PrivilegeFeature[];
|
|
558
564
|
};
|
|
559
565
|
};
|
|
566
|
+
type OpeningFeaturePopulated = OpeningFeature & {
|
|
567
|
+
properties: OpeningFeature["properties"] & {
|
|
568
|
+
/**
|
|
569
|
+
* [IMDF] Level that section is on
|
|
570
|
+
*/
|
|
571
|
+
level: LevelFeaturePopulated;
|
|
572
|
+
/**
|
|
573
|
+
* [venue.in.th] Venue that level is in
|
|
574
|
+
*/
|
|
575
|
+
venue: VenueFeaturePopulated;
|
|
576
|
+
/**
|
|
577
|
+
* [Derived] Level's ordinal that unit is on
|
|
578
|
+
*/
|
|
579
|
+
ordinal: number;
|
|
580
|
+
};
|
|
581
|
+
};
|
|
560
582
|
type SectionFeaturePopulated = SectionFeature & {
|
|
561
583
|
properties: SectionFeature["properties"] & {
|
|
562
584
|
/**
|
|
@@ -611,7 +633,7 @@ type FeaturePopulatedResponseMap = {
|
|
|
611
633
|
kiosk: KioskFeaturePopulated;
|
|
612
634
|
level: LevelFeaturePopulated;
|
|
613
635
|
occupant: OccupantFeaturePopulated;
|
|
614
|
-
opening:
|
|
636
|
+
opening: OpeningFeaturePopulated;
|
|
615
637
|
relationship: RelationshipFeature;
|
|
616
638
|
section: SectionFeaturePopulated;
|
|
617
639
|
unit: UnitFeaturePopulated;
|
|
@@ -690,10 +712,10 @@ type TypeRenderOptions<TOptionsType> = {
|
|
|
690
712
|
byCategory?: Record<string, TOptionsType>;
|
|
691
713
|
};
|
|
692
714
|
type Element2DRendererOptions = {
|
|
693
|
-
unit?: TypeRenderOptions<
|
|
694
|
-
kiosk?: TypeRenderOptions<
|
|
695
|
-
door?: TypeRenderOptions<
|
|
696
|
-
fixture?: TypeRenderOptions<
|
|
715
|
+
unit?: TypeRenderOptions<PolygonOptionsType>;
|
|
716
|
+
kiosk?: TypeRenderOptions<PolygonOptionsType>;
|
|
717
|
+
door?: TypeRenderOptions<LineStringOptionsType>;
|
|
718
|
+
fixture?: TypeRenderOptions<PolygonOptionsType>;
|
|
697
719
|
};
|
|
698
720
|
/** 3D */
|
|
699
721
|
type CreateExtrudePolygonOptionType = ExtrudePolygonOptionType & {
|
|
@@ -709,9 +731,11 @@ type Element3DRendererOptions = {
|
|
|
709
731
|
type RendererManagerOptions = {
|
|
710
732
|
type: "2D";
|
|
711
733
|
elements: Element2DRendererOptions;
|
|
734
|
+
onRendererReady?: () => void;
|
|
712
735
|
} | {
|
|
713
736
|
type: "3D";
|
|
714
737
|
elements: Element3DRendererOptions;
|
|
738
|
+
onRendererReady?: () => void;
|
|
715
739
|
};
|
|
716
740
|
|
|
717
741
|
declare class RendererManager extends EventTarget {
|
|
@@ -720,22 +744,30 @@ declare class RendererManager extends EventTarget {
|
|
|
720
744
|
options: RendererManagerOptions;
|
|
721
745
|
/** Elements: Responsible for converting feature info elements and add to map */
|
|
722
746
|
private elementRenderer;
|
|
747
|
+
private markerRenderer;
|
|
723
748
|
private elementsMap;
|
|
724
749
|
private elementsByOrdinal;
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
750
|
+
private currentOrdinals;
|
|
751
|
+
private markersMap;
|
|
752
|
+
private markersByOrdinal;
|
|
753
|
+
constructor(map: maptalks.Map, dataClient: VenueDataClient, options: RendererManagerOptions);
|
|
754
|
+
getElementsByOrdinal: (ordinal: number) => BaseObject[] | maptalks.Geometry[];
|
|
755
|
+
getMarkersByOrdinal: (ordinal: number) => BaseObject[] | maptalks.ui.UIMarker[];
|
|
756
|
+
addElementsToManager: (id: any, elements: any, ordinal: any) => void;
|
|
757
|
+
addMarkersToManager: (id: any, markers: any, ordinal: any) => void;
|
|
728
758
|
changeLevelByOrdinal(targetOrdinal: null | number | number[]): void;
|
|
729
759
|
/**
|
|
730
760
|
* ========================================================================
|
|
731
761
|
* Markers
|
|
732
762
|
* ======================================================================== */
|
|
733
|
-
createMarker(coordinate: Position, ordinal: number,
|
|
763
|
+
createMarker(coordinate: Position, ordinal: number, text: string, options: any): void;
|
|
764
|
+
clearMarkers(): void;
|
|
734
765
|
}
|
|
735
766
|
|
|
736
767
|
interface IndoorMapOptions {
|
|
737
768
|
onMapReady?: () => void;
|
|
738
769
|
onMapLoading?: () => void;
|
|
770
|
+
centerCross?: boolean;
|
|
739
771
|
dataClient: VenueDataClient;
|
|
740
772
|
camera?: {
|
|
741
773
|
defaultCenter?: [number, number];
|
|
@@ -842,6 +874,12 @@ declare class CameraManager {
|
|
|
842
874
|
flyToAndZoomIn: (centerPoint: any, options?: MapAnimationOptionsType & MapViewType) => void;
|
|
843
875
|
}
|
|
844
876
|
|
|
877
|
+
type MapPaddingType = {
|
|
878
|
+
paddingLeft: number;
|
|
879
|
+
paddingRight: number;
|
|
880
|
+
paddingTop: number;
|
|
881
|
+
paddingBottom: number;
|
|
882
|
+
};
|
|
845
883
|
declare class IndoorMap extends EventTarget {
|
|
846
884
|
#private;
|
|
847
885
|
map: Map | null;
|
|
@@ -853,11 +891,16 @@ declare class IndoorMap extends EventTarget {
|
|
|
853
891
|
onMapLoading: () => void;
|
|
854
892
|
constructor(elementId: any, options: IndoorMapOptions);
|
|
855
893
|
set dataClient(value: any);
|
|
894
|
+
on(eventName: string, handler: any): void;
|
|
856
895
|
/**
|
|
857
896
|
* Events
|
|
858
897
|
*/
|
|
859
|
-
handleMapClick:
|
|
860
|
-
|
|
898
|
+
handleMapClick: ({ coordinate }: {
|
|
899
|
+
coordinate: any;
|
|
900
|
+
}) => void;
|
|
901
|
+
handleMapTouchEnd: ({ containerPoint }: {
|
|
902
|
+
containerPoint: any;
|
|
903
|
+
}) => void;
|
|
861
904
|
/**
|
|
862
905
|
* Getters & Setters
|
|
863
906
|
*/
|
|
@@ -878,18 +921,18 @@ declare class IndoorMap extends EventTarget {
|
|
|
878
921
|
set pixelRatio(value: number);
|
|
879
922
|
set onClickElement(func: any);
|
|
880
923
|
set locale(value: string);
|
|
881
|
-
handleClickElement: (e:
|
|
882
|
-
setCenter(center: Coordinate, padding?: MapPaddingType): void;
|
|
924
|
+
handleClickElement: (e: any) => void;
|
|
925
|
+
setCenter(center: Coordinate$1, padding?: MapPaddingType): void;
|
|
883
926
|
/**
|
|
884
927
|
* Change Level & animate to path / geometry / view / etc.
|
|
885
928
|
* ================================== */
|
|
886
929
|
changeLevelByOrdinal(ordinal: null | number | number[]): void;
|
|
887
|
-
getFeatureExtent: (feature: any, scaleFactor?: number) =>
|
|
888
|
-
getExtentCenter: (extent: Extent) =>
|
|
930
|
+
getFeatureExtent: (feature: any, scaleFactor?: number) => Extent;
|
|
931
|
+
getExtentCenter: (extent: Extent) => maptalks_dist_geo_Extent.PositionType;
|
|
889
932
|
getExtentZoom: (extent: Extent, options?: {
|
|
890
933
|
isFraction?: boolean;
|
|
891
934
|
padding?: MapPaddingType;
|
|
892
|
-
}) =>
|
|
935
|
+
}) => number;
|
|
893
936
|
findVenueInView: () => {
|
|
894
937
|
venueId: string;
|
|
895
938
|
distance: number;
|
|
@@ -955,10 +998,10 @@ declare class IndoorMap extends EventTarget {
|
|
|
955
998
|
/**
|
|
956
999
|
* Other functions
|
|
957
1000
|
*/
|
|
958
|
-
enableClick: () =>
|
|
959
|
-
disableClick: () =>
|
|
960
|
-
freeze: () =>
|
|
961
|
-
unfreeze: () =>
|
|
1001
|
+
enableClick: () => Map | maptalks_dist_core_Class.ClassOptions;
|
|
1002
|
+
disableClick: () => Map | maptalks_dist_core_Class.ClassOptions;
|
|
1003
|
+
freeze: () => Map | maptalks_dist_core_Class.ClassOptions;
|
|
1004
|
+
unfreeze: () => Map | maptalks_dist_core_Class.ClassOptions;
|
|
962
1005
|
/**
|
|
963
1006
|
* render (frame)
|
|
964
1007
|
*/
|
|
@@ -969,8 +1012,8 @@ declare class IndoorMap extends EventTarget {
|
|
|
969
1012
|
right: number;
|
|
970
1013
|
bottom: number;
|
|
971
1014
|
};
|
|
972
|
-
}) =>
|
|
973
|
-
setMaxExtent(extent: Extent):
|
|
1015
|
+
}) => Coordinate$1;
|
|
1016
|
+
setMaxExtent(extent: Extent): Map;
|
|
974
1017
|
render(): void;
|
|
975
1018
|
}
|
|
976
1019
|
|
|
@@ -1050,23 +1093,21 @@ declare function styledFeatureGenerator(mapTheme: any): {
|
|
|
1050
1093
|
getHighlightMarkerSymbol: () => any;
|
|
1051
1094
|
createVenue: (feature: any) => any;
|
|
1052
1095
|
createLevel: (feature: any) => any;
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
createHighlight2DAmenityMarkerFrom3DMarker: (feature: any, mapConfig: any) => any;
|
|
1062
|
-
createKiosk: (feature: any) => any;
|
|
1096
|
+
createMarker: (feature: any) => Marker;
|
|
1097
|
+
createOriginMarker: (feature: any) => Marker;
|
|
1098
|
+
createDestinationPinMarker: (feature: any, mapConfig: any) => Marker;
|
|
1099
|
+
createDestinationLogoMarker: (feature: any, mapConfig?: {}) => Marker;
|
|
1100
|
+
createUserLocationMarker: (feature: any) => Marker;
|
|
1101
|
+
createLastUserLocationMarker: (feature: any) => Marker;
|
|
1102
|
+
createHighlightOccupantMarker: (feature: any, mapConfig: any) => Marker;
|
|
1103
|
+
createHighlight2DAmenityMarkerFrom3DMarker: (feature: any, mapConfig: any) => Marker;
|
|
1063
1104
|
createSection: (feature: any) => any;
|
|
1064
|
-
createOccupant: (feature: any, location: any, mapConfig: any) =>
|
|
1065
|
-
createOpening: (feature: any) =>
|
|
1105
|
+
createOccupant: (feature: any, location: any, mapConfig: any) => Marker | ui.UIMarker;
|
|
1106
|
+
createOpening: (feature: any) => LineString$1;
|
|
1066
1107
|
createFixture: (feature: any) => any;
|
|
1067
|
-
createLineStringFromGeometries: (geometries: any) =>
|
|
1108
|
+
createLineStringFromGeometries: (geometries: any) => LineString$1;
|
|
1068
1109
|
create3DStepPath: (feature: any, threeLayer: any, option?: {}) => NavigationPath;
|
|
1069
|
-
createDecoration: (decoration: any, options: any) =>
|
|
1110
|
+
createDecoration: (decoration: any, options: any) => LineString$1 | Polygon$1 | MultiPolygon$1 | MultiLineString;
|
|
1070
1111
|
/** Three JS */
|
|
1071
1112
|
create3DFootprint: (feature: any, threeLayer: any, options: any) => Promise<any[]>;
|
|
1072
1113
|
create3DGroundLabel: (label: any, threeLayer: any) => GroundLabel;
|
|
@@ -1075,13 +1116,9 @@ declare function styledFeatureGenerator(mapTheme: any): {
|
|
|
1075
1116
|
create3DAmenityMarker: (feature: any, threeLayer: any, config: any) => SpriteMarker;
|
|
1076
1117
|
create3DOccupantAmenityMarker: (feature: any, threeLayer: any, config: any) => SpriteMarker;
|
|
1077
1118
|
create3DOpeningMarker: (feature: any, threeLayer: any, config: any) => SpriteMarker;
|
|
1078
|
-
create3DUnit: (unit: any, threeLayer: any) => Promise<any[]>;
|
|
1079
|
-
create3DKiosk: (kiosk: any, threeLayer: any) => Promise<any[]>;
|
|
1080
1119
|
createVenue3DModel: (venue: any, threeLayer: any) => Promise<any[]>;
|
|
1081
1120
|
create3DFixture: (fixture: any, threeLayer: any) => Promise<any[]>;
|
|
1082
1121
|
createExtrudedUnit: (unit: any, threeLayer: any, options: any) => any;
|
|
1083
|
-
createExtrudedKiosk: (kiosk: any, threeLayer: any, options: any) => any;
|
|
1084
|
-
createExtrudedLevel: (level: any, threeLayer: any, options: any) => any;
|
|
1085
1122
|
createAmbientLight: (config: any) => AmbientLight;
|
|
1086
1123
|
createDirectionalLight: (config: any) => DirectionalLight;
|
|
1087
1124
|
};
|
|
@@ -1174,4 +1211,4 @@ declare const VENUE_EVENTS: {
|
|
|
1174
1211
|
VENUE_MOVEINTOVIEW: string;
|
|
1175
1212
|
};
|
|
1176
1213
|
|
|
1177
|
-
export { ALL_FEATURE_TYPES, ALWAYS_VISIBLE_FEATURE_TYPES, type AmenityFeature, type AmenityFeaturePopulated, type AmenityGeometry, type AmenityProperties, type AnchorFeature, type AnchorFeaturePopulated, type AnchorGeometry, type AnchorProperties, BASE_LAYER_NAME, DEFAULT_BASE_URL, DEFAULT_HIGHLIGHT_OPTIONS, DEFAULT_LOCALE, DEFAULT_SET_HIGHLIGHT_2DELEMENT_IDS_OPTIONS, DESTINATION_MARKER_ID, type DetailFeature, type DetailGeometry, type DetailProperties, type ElementFeature, type ElementGeometry, type ElementProperties, type EventFeature, type EventGeometry, type EventProperties, type FeaturePopulatedResponseMap, type FeatureQueryOptions, type FeatureResponseMap, type FeatureType, type FilterParams, type FindParams, type FixtureFeature, type FixtureFeaturePopulated, type FixtureGeometry, type FixtureProperties, GEOJSON_FEATURE_TYPES, HIGHLIGHT_LAYER_NAME, IMDF_FEATURE_TYPES, type Id, type ImdfFeature, IndoorMap, type InternalFilterByType, type InternalFindById, type KioskFeature, type KioskFeaturePopulated, type KioskGeometry, type KioskProperties, LAST_USER_LOCATION_ELEMENT_ID_PREFIX, LAYERS, LAYER_FEATURE_TYPE_OBJ, LAYER_OPTIONS, LOCALE_SYMBOL_KEY, type LabelFeature, type LabelGeometry, type LabelProperties, type LevelFeature, type LevelFeaturePopulated, type LevelGeometry, type LevelProperties, MARKER_LAYER_NAME, type Media, type MediaFile, type Model3d, NONIMDF_FEATURE_TYPES, ORIGIN_MARKER_ID, type OccupantFeature, type OccupantFeaturePopulated, type OccupantGeometry, type OccupantProperties, type OpeningFeature, type OpeningGeometry, type OpeningProperties, POI_MARKER_LAYER_NAME, type Page, type PolygonalFeature, type PopulatableFeatureType, type PopulatedParams, type PrivilegeFeature, type PrivilegeGeometry, type PrivilegeProperties, type PromotionFeature, type PromotionProperties, type RelationshipFeature, type RelationshipGeometry, type RelationshipProperties, type SectionFeature, type SectionFeaturePopulated, type SectionGeometry, type SectionProperties, type SponsoredContentFeature, type SponsoredContentLegacyType, type SponsoredContentPlacementType, type SponsoredContentStrapiV4ApiResponse, type TaxonomyFeature, type TaxonomyFeaturePopulated, type TaxonomyGeometry, type TaxonomyProperties, USER_LOCATION_ELEMENT_ID, USER_LOCATION_LAYER_NAME, type UnitFeature, type UnitFeaturePopulated, type UnitGeometry, type UnitProperties, VENUE_EVENTS, type VenueClientOptions, type VenueDataClient, type VenueFeature, type VenueFeaturePopulated, type VenueGeometry, type VenueProperties, createPolygonFromLineString, createSpriteMaterialByLabelSymbol, createStyledUIMarkerElement, defaultFeatureQueryOptionsMap, fetchFeature, getBearingBetweenPoints, getCenterFromGeometry, getDataClient, getExtrudeConfigByFeature, getFeatureByLocationId, getLocationByAmenity, getLocationByFeature, getLocationByOccupant, getLocationIdByFeature, getOrdinalByLocationId, getRelatedLocationIdsByFeature, getRelatedLocationsByAmenity, getRelatedLocationsByFeature, getRelatedLocationsByOccupant, getSuitablyValueBetweenBearings, isClickableFeature, safeFetchFeature, styledFeatureGenerator };
|
|
1214
|
+
export { ALL_FEATURE_TYPES, ALWAYS_VISIBLE_FEATURE_TYPES, type AmenityFeature, type AmenityFeaturePopulated, type AmenityGeometry, type AmenityProperties, type AnchorFeature, type AnchorFeaturePopulated, type AnchorGeometry, type AnchorProperties, BASE_LAYER_NAME, DEFAULT_BASE_URL, DEFAULT_HIGHLIGHT_OPTIONS, DEFAULT_LOCALE, DEFAULT_SET_HIGHLIGHT_2DELEMENT_IDS_OPTIONS, DESTINATION_MARKER_ID, type DetailFeature, type DetailGeometry, type DetailProperties, type ElementFeature, type ElementGeometry, type ElementProperties, type EventFeature, type EventGeometry, type EventProperties, type FeaturePopulatedResponseMap, type FeatureQueryOptions, type FeatureResponseMap, type FeatureType, type FilterParams, type FindParams, type FixtureFeature, type FixtureFeaturePopulated, type FixtureGeometry, type FixtureProperties, GEOJSON_FEATURE_TYPES, HIGHLIGHT_LAYER_NAME, IMDF_FEATURE_TYPES, type Id, type ImdfFeature, IndoorMap, type InternalFilterByType, type InternalFindById, type KioskFeature, type KioskFeaturePopulated, type KioskGeometry, type KioskProperties, LAST_USER_LOCATION_ELEMENT_ID_PREFIX, LAYERS, LAYER_FEATURE_TYPE_OBJ, LAYER_OPTIONS, LOCALE_SYMBOL_KEY, type LabelFeature, type LabelGeometry, type LabelProperties, type LevelFeature, type LevelFeaturePopulated, type LevelGeometry, type LevelProperties, MARKER_LAYER_NAME, type Media, type MediaFile, type Model3d, NONIMDF_FEATURE_TYPES, ORIGIN_MARKER_ID, type OccupantFeature, type OccupantFeaturePopulated, type OccupantGeometry, type OccupantProperties, type OpeningFeature, type OpeningFeaturePopulated, type OpeningGeometry, type OpeningProperties, POI_MARKER_LAYER_NAME, type Page, type PolygonalFeature, type PopulatableFeatureType, type PopulatedParams, type PrivilegeFeature, type PrivilegeGeometry, type PrivilegeProperties, type PromotionFeature, type PromotionProperties, type RelationshipFeature, type RelationshipGeometry, type RelationshipProperties, type SectionFeature, type SectionFeaturePopulated, type SectionGeometry, type SectionProperties, type SponsoredContentFeature, type SponsoredContentLegacyType, type SponsoredContentPlacementType, type SponsoredContentStrapiV4ApiResponse, type TaxonomyFeature, type TaxonomyFeaturePopulated, type TaxonomyGeometry, type TaxonomyProperties, USER_LOCATION_ELEMENT_ID, USER_LOCATION_LAYER_NAME, type UnitFeature, type UnitFeaturePopulated, type UnitGeometry, type UnitProperties, VENUE_EVENTS, type VenueClientOptions, type VenueDataClient, type VenueFeature, type VenueFeaturePopulated, type VenueGeometry, type VenueProperties, createPolygonFromLineString, createSpriteMaterialByLabelSymbol, createStyledUIMarkerElement, defaultFeatureQueryOptionsMap, fetchFeature, getBearingBetweenPoints, getCenterFromGeometry, getDataClient, getExtrudeConfigByFeature, getFeatureByLocationId, getLocationByAmenity, getLocationByFeature, getLocationByOccupant, getLocationIdByFeature, getOrdinalByLocationId, getRelatedLocationIdsByFeature, getRelatedLocationsByAmenity, getRelatedLocationsByFeature, getRelatedLocationsByOccupant, getSuitablyValueBetweenBearings, isClickableFeature, safeFetchFeature, styledFeatureGenerator };
|
package/dist/index.d.ts
CHANGED
|
@@ -2,10 +2,16 @@ import { QueryClient, QueryObserver, EnsureQueryDataOptions } from '@tanstack/qu
|
|
|
2
2
|
export { QueryObserver } from '@tanstack/query-core';
|
|
3
3
|
import * as geojson from 'geojson';
|
|
4
4
|
import { Position, Geometry, GeoJsonProperties, Feature, Point, Polygon, MultiPolygon, LineString, GeometryCollection } from 'geojson';
|
|
5
|
+
import * as maptalks_dist_core_Class from 'maptalks/dist/core/Class';
|
|
6
|
+
import * as maptalks_dist_geo_Extent from 'maptalks/dist/geo/Extent';
|
|
7
|
+
import { Map, Coordinate as Coordinate$1, Extent } from 'maptalks-gl';
|
|
8
|
+
import { BaseObject, ThreeLayer } from 'maptalks.three';
|
|
5
9
|
import * as maptalks from 'maptalks';
|
|
6
|
-
import { Coordinate,
|
|
7
|
-
import { ThreeLayer, BaseObject } from 'maptalks.three';
|
|
10
|
+
import { Coordinate, Marker, ui, LineString as LineString$1, Polygon as Polygon$1, MultiPolygon as MultiPolygon$1, MultiLineString } from 'maptalks';
|
|
8
11
|
import { ExtrudePolygonOptionType } from 'maptalks.three/dist/type';
|
|
12
|
+
import { PolygonOptionsType } from 'maptalks/dist/geometry/Polygon';
|
|
13
|
+
import { LineStringOptionsType } from 'maptalks/dist/geometry/LineString';
|
|
14
|
+
import { MapViewType, MapAnimationOptionsType } from 'maptalks/dist/map/Map';
|
|
9
15
|
import { SpriteMaterial, AmbientLight, DirectionalLight } from 'three';
|
|
10
16
|
|
|
11
17
|
type Id = string;
|
|
@@ -557,6 +563,22 @@ type OccupantFeaturePopulated = OccupantFeature & {
|
|
|
557
563
|
privileges: PrivilegeFeature[];
|
|
558
564
|
};
|
|
559
565
|
};
|
|
566
|
+
type OpeningFeaturePopulated = OpeningFeature & {
|
|
567
|
+
properties: OpeningFeature["properties"] & {
|
|
568
|
+
/**
|
|
569
|
+
* [IMDF] Level that section is on
|
|
570
|
+
*/
|
|
571
|
+
level: LevelFeaturePopulated;
|
|
572
|
+
/**
|
|
573
|
+
* [venue.in.th] Venue that level is in
|
|
574
|
+
*/
|
|
575
|
+
venue: VenueFeaturePopulated;
|
|
576
|
+
/**
|
|
577
|
+
* [Derived] Level's ordinal that unit is on
|
|
578
|
+
*/
|
|
579
|
+
ordinal: number;
|
|
580
|
+
};
|
|
581
|
+
};
|
|
560
582
|
type SectionFeaturePopulated = SectionFeature & {
|
|
561
583
|
properties: SectionFeature["properties"] & {
|
|
562
584
|
/**
|
|
@@ -611,7 +633,7 @@ type FeaturePopulatedResponseMap = {
|
|
|
611
633
|
kiosk: KioskFeaturePopulated;
|
|
612
634
|
level: LevelFeaturePopulated;
|
|
613
635
|
occupant: OccupantFeaturePopulated;
|
|
614
|
-
opening:
|
|
636
|
+
opening: OpeningFeaturePopulated;
|
|
615
637
|
relationship: RelationshipFeature;
|
|
616
638
|
section: SectionFeaturePopulated;
|
|
617
639
|
unit: UnitFeaturePopulated;
|
|
@@ -690,10 +712,10 @@ type TypeRenderOptions<TOptionsType> = {
|
|
|
690
712
|
byCategory?: Record<string, TOptionsType>;
|
|
691
713
|
};
|
|
692
714
|
type Element2DRendererOptions = {
|
|
693
|
-
unit?: TypeRenderOptions<
|
|
694
|
-
kiosk?: TypeRenderOptions<
|
|
695
|
-
door?: TypeRenderOptions<
|
|
696
|
-
fixture?: TypeRenderOptions<
|
|
715
|
+
unit?: TypeRenderOptions<PolygonOptionsType>;
|
|
716
|
+
kiosk?: TypeRenderOptions<PolygonOptionsType>;
|
|
717
|
+
door?: TypeRenderOptions<LineStringOptionsType>;
|
|
718
|
+
fixture?: TypeRenderOptions<PolygonOptionsType>;
|
|
697
719
|
};
|
|
698
720
|
/** 3D */
|
|
699
721
|
type CreateExtrudePolygonOptionType = ExtrudePolygonOptionType & {
|
|
@@ -709,9 +731,11 @@ type Element3DRendererOptions = {
|
|
|
709
731
|
type RendererManagerOptions = {
|
|
710
732
|
type: "2D";
|
|
711
733
|
elements: Element2DRendererOptions;
|
|
734
|
+
onRendererReady?: () => void;
|
|
712
735
|
} | {
|
|
713
736
|
type: "3D";
|
|
714
737
|
elements: Element3DRendererOptions;
|
|
738
|
+
onRendererReady?: () => void;
|
|
715
739
|
};
|
|
716
740
|
|
|
717
741
|
declare class RendererManager extends EventTarget {
|
|
@@ -720,22 +744,30 @@ declare class RendererManager extends EventTarget {
|
|
|
720
744
|
options: RendererManagerOptions;
|
|
721
745
|
/** Elements: Responsible for converting feature info elements and add to map */
|
|
722
746
|
private elementRenderer;
|
|
747
|
+
private markerRenderer;
|
|
723
748
|
private elementsMap;
|
|
724
749
|
private elementsByOrdinal;
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
750
|
+
private currentOrdinals;
|
|
751
|
+
private markersMap;
|
|
752
|
+
private markersByOrdinal;
|
|
753
|
+
constructor(map: maptalks.Map, dataClient: VenueDataClient, options: RendererManagerOptions);
|
|
754
|
+
getElementsByOrdinal: (ordinal: number) => BaseObject[] | maptalks.Geometry[];
|
|
755
|
+
getMarkersByOrdinal: (ordinal: number) => BaseObject[] | maptalks.ui.UIMarker[];
|
|
756
|
+
addElementsToManager: (id: any, elements: any, ordinal: any) => void;
|
|
757
|
+
addMarkersToManager: (id: any, markers: any, ordinal: any) => void;
|
|
728
758
|
changeLevelByOrdinal(targetOrdinal: null | number | number[]): void;
|
|
729
759
|
/**
|
|
730
760
|
* ========================================================================
|
|
731
761
|
* Markers
|
|
732
762
|
* ======================================================================== */
|
|
733
|
-
createMarker(coordinate: Position, ordinal: number,
|
|
763
|
+
createMarker(coordinate: Position, ordinal: number, text: string, options: any): void;
|
|
764
|
+
clearMarkers(): void;
|
|
734
765
|
}
|
|
735
766
|
|
|
736
767
|
interface IndoorMapOptions {
|
|
737
768
|
onMapReady?: () => void;
|
|
738
769
|
onMapLoading?: () => void;
|
|
770
|
+
centerCross?: boolean;
|
|
739
771
|
dataClient: VenueDataClient;
|
|
740
772
|
camera?: {
|
|
741
773
|
defaultCenter?: [number, number];
|
|
@@ -842,6 +874,12 @@ declare class CameraManager {
|
|
|
842
874
|
flyToAndZoomIn: (centerPoint: any, options?: MapAnimationOptionsType & MapViewType) => void;
|
|
843
875
|
}
|
|
844
876
|
|
|
877
|
+
type MapPaddingType = {
|
|
878
|
+
paddingLeft: number;
|
|
879
|
+
paddingRight: number;
|
|
880
|
+
paddingTop: number;
|
|
881
|
+
paddingBottom: number;
|
|
882
|
+
};
|
|
845
883
|
declare class IndoorMap extends EventTarget {
|
|
846
884
|
#private;
|
|
847
885
|
map: Map | null;
|
|
@@ -853,11 +891,16 @@ declare class IndoorMap extends EventTarget {
|
|
|
853
891
|
onMapLoading: () => void;
|
|
854
892
|
constructor(elementId: any, options: IndoorMapOptions);
|
|
855
893
|
set dataClient(value: any);
|
|
894
|
+
on(eventName: string, handler: any): void;
|
|
856
895
|
/**
|
|
857
896
|
* Events
|
|
858
897
|
*/
|
|
859
|
-
handleMapClick:
|
|
860
|
-
|
|
898
|
+
handleMapClick: ({ coordinate }: {
|
|
899
|
+
coordinate: any;
|
|
900
|
+
}) => void;
|
|
901
|
+
handleMapTouchEnd: ({ containerPoint }: {
|
|
902
|
+
containerPoint: any;
|
|
903
|
+
}) => void;
|
|
861
904
|
/**
|
|
862
905
|
* Getters & Setters
|
|
863
906
|
*/
|
|
@@ -878,18 +921,18 @@ declare class IndoorMap extends EventTarget {
|
|
|
878
921
|
set pixelRatio(value: number);
|
|
879
922
|
set onClickElement(func: any);
|
|
880
923
|
set locale(value: string);
|
|
881
|
-
handleClickElement: (e:
|
|
882
|
-
setCenter(center: Coordinate, padding?: MapPaddingType): void;
|
|
924
|
+
handleClickElement: (e: any) => void;
|
|
925
|
+
setCenter(center: Coordinate$1, padding?: MapPaddingType): void;
|
|
883
926
|
/**
|
|
884
927
|
* Change Level & animate to path / geometry / view / etc.
|
|
885
928
|
* ================================== */
|
|
886
929
|
changeLevelByOrdinal(ordinal: null | number | number[]): void;
|
|
887
|
-
getFeatureExtent: (feature: any, scaleFactor?: number) =>
|
|
888
|
-
getExtentCenter: (extent: Extent) =>
|
|
930
|
+
getFeatureExtent: (feature: any, scaleFactor?: number) => Extent;
|
|
931
|
+
getExtentCenter: (extent: Extent) => maptalks_dist_geo_Extent.PositionType;
|
|
889
932
|
getExtentZoom: (extent: Extent, options?: {
|
|
890
933
|
isFraction?: boolean;
|
|
891
934
|
padding?: MapPaddingType;
|
|
892
|
-
}) =>
|
|
935
|
+
}) => number;
|
|
893
936
|
findVenueInView: () => {
|
|
894
937
|
venueId: string;
|
|
895
938
|
distance: number;
|
|
@@ -955,10 +998,10 @@ declare class IndoorMap extends EventTarget {
|
|
|
955
998
|
/**
|
|
956
999
|
* Other functions
|
|
957
1000
|
*/
|
|
958
|
-
enableClick: () =>
|
|
959
|
-
disableClick: () =>
|
|
960
|
-
freeze: () =>
|
|
961
|
-
unfreeze: () =>
|
|
1001
|
+
enableClick: () => Map | maptalks_dist_core_Class.ClassOptions;
|
|
1002
|
+
disableClick: () => Map | maptalks_dist_core_Class.ClassOptions;
|
|
1003
|
+
freeze: () => Map | maptalks_dist_core_Class.ClassOptions;
|
|
1004
|
+
unfreeze: () => Map | maptalks_dist_core_Class.ClassOptions;
|
|
962
1005
|
/**
|
|
963
1006
|
* render (frame)
|
|
964
1007
|
*/
|
|
@@ -969,8 +1012,8 @@ declare class IndoorMap extends EventTarget {
|
|
|
969
1012
|
right: number;
|
|
970
1013
|
bottom: number;
|
|
971
1014
|
};
|
|
972
|
-
}) =>
|
|
973
|
-
setMaxExtent(extent: Extent):
|
|
1015
|
+
}) => Coordinate$1;
|
|
1016
|
+
setMaxExtent(extent: Extent): Map;
|
|
974
1017
|
render(): void;
|
|
975
1018
|
}
|
|
976
1019
|
|
|
@@ -1050,23 +1093,21 @@ declare function styledFeatureGenerator(mapTheme: any): {
|
|
|
1050
1093
|
getHighlightMarkerSymbol: () => any;
|
|
1051
1094
|
createVenue: (feature: any) => any;
|
|
1052
1095
|
createLevel: (feature: any) => any;
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
createHighlight2DAmenityMarkerFrom3DMarker: (feature: any, mapConfig: any) => any;
|
|
1062
|
-
createKiosk: (feature: any) => any;
|
|
1096
|
+
createMarker: (feature: any) => Marker;
|
|
1097
|
+
createOriginMarker: (feature: any) => Marker;
|
|
1098
|
+
createDestinationPinMarker: (feature: any, mapConfig: any) => Marker;
|
|
1099
|
+
createDestinationLogoMarker: (feature: any, mapConfig?: {}) => Marker;
|
|
1100
|
+
createUserLocationMarker: (feature: any) => Marker;
|
|
1101
|
+
createLastUserLocationMarker: (feature: any) => Marker;
|
|
1102
|
+
createHighlightOccupantMarker: (feature: any, mapConfig: any) => Marker;
|
|
1103
|
+
createHighlight2DAmenityMarkerFrom3DMarker: (feature: any, mapConfig: any) => Marker;
|
|
1063
1104
|
createSection: (feature: any) => any;
|
|
1064
|
-
createOccupant: (feature: any, location: any, mapConfig: any) =>
|
|
1065
|
-
createOpening: (feature: any) =>
|
|
1105
|
+
createOccupant: (feature: any, location: any, mapConfig: any) => Marker | ui.UIMarker;
|
|
1106
|
+
createOpening: (feature: any) => LineString$1;
|
|
1066
1107
|
createFixture: (feature: any) => any;
|
|
1067
|
-
createLineStringFromGeometries: (geometries: any) =>
|
|
1108
|
+
createLineStringFromGeometries: (geometries: any) => LineString$1;
|
|
1068
1109
|
create3DStepPath: (feature: any, threeLayer: any, option?: {}) => NavigationPath;
|
|
1069
|
-
createDecoration: (decoration: any, options: any) =>
|
|
1110
|
+
createDecoration: (decoration: any, options: any) => LineString$1 | Polygon$1 | MultiPolygon$1 | MultiLineString;
|
|
1070
1111
|
/** Three JS */
|
|
1071
1112
|
create3DFootprint: (feature: any, threeLayer: any, options: any) => Promise<any[]>;
|
|
1072
1113
|
create3DGroundLabel: (label: any, threeLayer: any) => GroundLabel;
|
|
@@ -1075,13 +1116,9 @@ declare function styledFeatureGenerator(mapTheme: any): {
|
|
|
1075
1116
|
create3DAmenityMarker: (feature: any, threeLayer: any, config: any) => SpriteMarker;
|
|
1076
1117
|
create3DOccupantAmenityMarker: (feature: any, threeLayer: any, config: any) => SpriteMarker;
|
|
1077
1118
|
create3DOpeningMarker: (feature: any, threeLayer: any, config: any) => SpriteMarker;
|
|
1078
|
-
create3DUnit: (unit: any, threeLayer: any) => Promise<any[]>;
|
|
1079
|
-
create3DKiosk: (kiosk: any, threeLayer: any) => Promise<any[]>;
|
|
1080
1119
|
createVenue3DModel: (venue: any, threeLayer: any) => Promise<any[]>;
|
|
1081
1120
|
create3DFixture: (fixture: any, threeLayer: any) => Promise<any[]>;
|
|
1082
1121
|
createExtrudedUnit: (unit: any, threeLayer: any, options: any) => any;
|
|
1083
|
-
createExtrudedKiosk: (kiosk: any, threeLayer: any, options: any) => any;
|
|
1084
|
-
createExtrudedLevel: (level: any, threeLayer: any, options: any) => any;
|
|
1085
1122
|
createAmbientLight: (config: any) => AmbientLight;
|
|
1086
1123
|
createDirectionalLight: (config: any) => DirectionalLight;
|
|
1087
1124
|
};
|
|
@@ -1174,4 +1211,4 @@ declare const VENUE_EVENTS: {
|
|
|
1174
1211
|
VENUE_MOVEINTOVIEW: string;
|
|
1175
1212
|
};
|
|
1176
1213
|
|
|
1177
|
-
export { ALL_FEATURE_TYPES, ALWAYS_VISIBLE_FEATURE_TYPES, type AmenityFeature, type AmenityFeaturePopulated, type AmenityGeometry, type AmenityProperties, type AnchorFeature, type AnchorFeaturePopulated, type AnchorGeometry, type AnchorProperties, BASE_LAYER_NAME, DEFAULT_BASE_URL, DEFAULT_HIGHLIGHT_OPTIONS, DEFAULT_LOCALE, DEFAULT_SET_HIGHLIGHT_2DELEMENT_IDS_OPTIONS, DESTINATION_MARKER_ID, type DetailFeature, type DetailGeometry, type DetailProperties, type ElementFeature, type ElementGeometry, type ElementProperties, type EventFeature, type EventGeometry, type EventProperties, type FeaturePopulatedResponseMap, type FeatureQueryOptions, type FeatureResponseMap, type FeatureType, type FilterParams, type FindParams, type FixtureFeature, type FixtureFeaturePopulated, type FixtureGeometry, type FixtureProperties, GEOJSON_FEATURE_TYPES, HIGHLIGHT_LAYER_NAME, IMDF_FEATURE_TYPES, type Id, type ImdfFeature, IndoorMap, type InternalFilterByType, type InternalFindById, type KioskFeature, type KioskFeaturePopulated, type KioskGeometry, type KioskProperties, LAST_USER_LOCATION_ELEMENT_ID_PREFIX, LAYERS, LAYER_FEATURE_TYPE_OBJ, LAYER_OPTIONS, LOCALE_SYMBOL_KEY, type LabelFeature, type LabelGeometry, type LabelProperties, type LevelFeature, type LevelFeaturePopulated, type LevelGeometry, type LevelProperties, MARKER_LAYER_NAME, type Media, type MediaFile, type Model3d, NONIMDF_FEATURE_TYPES, ORIGIN_MARKER_ID, type OccupantFeature, type OccupantFeaturePopulated, type OccupantGeometry, type OccupantProperties, type OpeningFeature, type OpeningGeometry, type OpeningProperties, POI_MARKER_LAYER_NAME, type Page, type PolygonalFeature, type PopulatableFeatureType, type PopulatedParams, type PrivilegeFeature, type PrivilegeGeometry, type PrivilegeProperties, type PromotionFeature, type PromotionProperties, type RelationshipFeature, type RelationshipGeometry, type RelationshipProperties, type SectionFeature, type SectionFeaturePopulated, type SectionGeometry, type SectionProperties, type SponsoredContentFeature, type SponsoredContentLegacyType, type SponsoredContentPlacementType, type SponsoredContentStrapiV4ApiResponse, type TaxonomyFeature, type TaxonomyFeaturePopulated, type TaxonomyGeometry, type TaxonomyProperties, USER_LOCATION_ELEMENT_ID, USER_LOCATION_LAYER_NAME, type UnitFeature, type UnitFeaturePopulated, type UnitGeometry, type UnitProperties, VENUE_EVENTS, type VenueClientOptions, type VenueDataClient, type VenueFeature, type VenueFeaturePopulated, type VenueGeometry, type VenueProperties, createPolygonFromLineString, createSpriteMaterialByLabelSymbol, createStyledUIMarkerElement, defaultFeatureQueryOptionsMap, fetchFeature, getBearingBetweenPoints, getCenterFromGeometry, getDataClient, getExtrudeConfigByFeature, getFeatureByLocationId, getLocationByAmenity, getLocationByFeature, getLocationByOccupant, getLocationIdByFeature, getOrdinalByLocationId, getRelatedLocationIdsByFeature, getRelatedLocationsByAmenity, getRelatedLocationsByFeature, getRelatedLocationsByOccupant, getSuitablyValueBetweenBearings, isClickableFeature, safeFetchFeature, styledFeatureGenerator };
|
|
1214
|
+
export { ALL_FEATURE_TYPES, ALWAYS_VISIBLE_FEATURE_TYPES, type AmenityFeature, type AmenityFeaturePopulated, type AmenityGeometry, type AmenityProperties, type AnchorFeature, type AnchorFeaturePopulated, type AnchorGeometry, type AnchorProperties, BASE_LAYER_NAME, DEFAULT_BASE_URL, DEFAULT_HIGHLIGHT_OPTIONS, DEFAULT_LOCALE, DEFAULT_SET_HIGHLIGHT_2DELEMENT_IDS_OPTIONS, DESTINATION_MARKER_ID, type DetailFeature, type DetailGeometry, type DetailProperties, type ElementFeature, type ElementGeometry, type ElementProperties, type EventFeature, type EventGeometry, type EventProperties, type FeaturePopulatedResponseMap, type FeatureQueryOptions, type FeatureResponseMap, type FeatureType, type FilterParams, type FindParams, type FixtureFeature, type FixtureFeaturePopulated, type FixtureGeometry, type FixtureProperties, GEOJSON_FEATURE_TYPES, HIGHLIGHT_LAYER_NAME, IMDF_FEATURE_TYPES, type Id, type ImdfFeature, IndoorMap, type InternalFilterByType, type InternalFindById, type KioskFeature, type KioskFeaturePopulated, type KioskGeometry, type KioskProperties, LAST_USER_LOCATION_ELEMENT_ID_PREFIX, LAYERS, LAYER_FEATURE_TYPE_OBJ, LAYER_OPTIONS, LOCALE_SYMBOL_KEY, type LabelFeature, type LabelGeometry, type LabelProperties, type LevelFeature, type LevelFeaturePopulated, type LevelGeometry, type LevelProperties, MARKER_LAYER_NAME, type Media, type MediaFile, type Model3d, NONIMDF_FEATURE_TYPES, ORIGIN_MARKER_ID, type OccupantFeature, type OccupantFeaturePopulated, type OccupantGeometry, type OccupantProperties, type OpeningFeature, type OpeningFeaturePopulated, type OpeningGeometry, type OpeningProperties, POI_MARKER_LAYER_NAME, type Page, type PolygonalFeature, type PopulatableFeatureType, type PopulatedParams, type PrivilegeFeature, type PrivilegeGeometry, type PrivilegeProperties, type PromotionFeature, type PromotionProperties, type RelationshipFeature, type RelationshipGeometry, type RelationshipProperties, type SectionFeature, type SectionFeaturePopulated, type SectionGeometry, type SectionProperties, type SponsoredContentFeature, type SponsoredContentLegacyType, type SponsoredContentPlacementType, type SponsoredContentStrapiV4ApiResponse, type TaxonomyFeature, type TaxonomyFeaturePopulated, type TaxonomyGeometry, type TaxonomyProperties, USER_LOCATION_ELEMENT_ID, USER_LOCATION_LAYER_NAME, type UnitFeature, type UnitFeaturePopulated, type UnitGeometry, type UnitProperties, VENUE_EVENTS, type VenueClientOptions, type VenueDataClient, type VenueFeature, type VenueFeaturePopulated, type VenueGeometry, type VenueProperties, createPolygonFromLineString, createSpriteMaterialByLabelSymbol, createStyledUIMarkerElement, defaultFeatureQueryOptionsMap, fetchFeature, getBearingBetweenPoints, getCenterFromGeometry, getDataClient, getExtrudeConfigByFeature, getFeatureByLocationId, getLocationByAmenity, getLocationByFeature, getLocationByOccupant, getLocationIdByFeature, getOrdinalByLocationId, getRelatedLocationIdsByFeature, getRelatedLocationsByAmenity, getRelatedLocationsByFeature, getRelatedLocationsByOccupant, getSuitablyValueBetweenBearings, isClickableFeature, safeFetchFeature, styledFeatureGenerator };
|