@maplibre/maplibre-react-native 10.1.0 → 10.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/ios/MLRN/CameraStop.h +1 -1
  2. package/ios/MLRN/CameraStop.m +58 -60
  3. package/ios/MLRN/CameraUpdateItem.h +2 -1
  4. package/ios/MLRN/CameraUpdateItem.m +132 -132
  5. package/ios/MLRN/CameraUpdateQueue.m +43 -47
  6. package/ios/MLRN/FilterParser.h +1 -1
  7. package/ios/MLRN/FilterParser.m +5 -6
  8. package/ios/MLRN/MLRNBackgroundLayer.m +10 -9
  9. package/ios/MLRN/MLRNBackgroundLayerManager.m +4 -5
  10. package/ios/MLRN/MLRNCallout.h +1 -1
  11. package/ios/MLRN/MLRNCallout.m +37 -36
  12. package/ios/MLRN/MLRNCalloutManager.m +2 -3
  13. package/ios/MLRN/MLRNCamera.h +1 -1
  14. package/ios/MLRN/MLRNCamera.m +169 -182
  15. package/ios/MLRN/MLRNCameraManager.m +4 -6
  16. package/ios/MLRN/MLRNCircleLayer.m +17 -14
  17. package/ios/MLRN/MLRNCircleLayerManager.m +4 -5
  18. package/ios/MLRN/MLRNCustomHeaders.h +2 -2
  19. package/ios/MLRN/MLRNCustomHeaders.m +63 -63
  20. package/ios/MLRN/MLRNEvent.h +3 -3
  21. package/ios/MLRN/MLRNEvent.m +19 -24
  22. package/ios/MLRN/MLRNEventProtocol.h +1 -1
  23. package/ios/MLRN/MLRNFillExtrusionLayer.m +18 -14
  24. package/ios/MLRN/MLRNFillExtrusionLayerManager.m +4 -5
  25. package/ios/MLRN/MLRNFillLayer.m +16 -14
  26. package/ios/MLRN/MLRNFillLayerManager.m +4 -5
  27. package/ios/MLRN/MLRNHeatmapLayer.m +17 -14
  28. package/ios/MLRN/MLRNHeatmapLayerManager.m +4 -5
  29. package/ios/MLRN/MLRNImageQueue.h +4 -1
  30. package/ios/MLRN/MLRNImageQueue.m +29 -32
  31. package/ios/MLRN/MLRNImageQueueOperation.h +1 -1
  32. package/ios/MLRN/MLRNImageQueueOperation.m +92 -91
  33. package/ios/MLRN/MLRNImageSource.m +36 -38
  34. package/ios/MLRN/MLRNImageSourceManager.m +2 -3
  35. package/ios/MLRN/MLRNImageUtils.h +3 -3
  36. package/ios/MLRN/MLRNImageUtils.m +15 -14
  37. package/ios/MLRN/MLRNImages.h +0 -1
  38. package/ios/MLRN/MLRNImages.m +89 -91
  39. package/ios/MLRN/MLRNImagesManager.m +4 -5
  40. package/ios/MLRN/MLRNLayer.h +9 -11
  41. package/ios/MLRN/MLRNLayer.m +170 -182
  42. package/ios/MLRN/MLRNLight.m +21 -23
  43. package/ios/MLRN/MLRNLightManager.m +2 -3
  44. package/ios/MLRN/MLRNLineLayer.m +17 -15
  45. package/ios/MLRN/MLRNLineLayerManager.m +4 -6
  46. package/ios/MLRN/MLRNLocation.h +1 -1
  47. package/ios/MLRN/MLRNLocation.m +16 -17
  48. package/ios/MLRN/MLRNLocationManager.m +109 -124
  49. package/ios/MLRN/MLRNLocationManagerDelegate.h +3 -3
  50. package/ios/MLRN/MLRNLocationModule.h +1 -1
  51. package/ios/MLRN/MLRNLocationModule.m +40 -55
  52. package/ios/MLRN/MLRNLogging.h +1 -4
  53. package/ios/MLRN/MLRNLogging.m +84 -89
  54. package/ios/MLRN/MLRNMapTouchEvent.h +2 -2
  55. package/ios/MLRN/MLRNMapTouchEvent.m +50 -49
  56. package/ios/MLRN/MLRNMapView.h +43 -36
  57. package/ios/MLRN/MLRNMapView.m +409 -440
  58. package/ios/MLRN/MLRNMapViewManager.m +489 -502
  59. package/ios/MLRN/MLRNModule.h +1 -1
  60. package/ios/MLRN/MLRNModule.m +111 -105
  61. package/ios/MLRN/MLRNNativeUserLocation.m +24 -27
  62. package/ios/MLRN/MLRNNativeUserLocationManager.m +4 -8
  63. package/ios/MLRN/MLRNOfflineModule.h +1 -1
  64. package/ios/MLRN/MLRNOfflineModule.m +416 -421
  65. package/ios/MLRN/MLRNPointAnnotation.h +2 -2
  66. package/ios/MLRN/MLRNPointAnnotation.m +154 -175
  67. package/ios/MLRN/MLRNPointAnnotationManager.m +2 -3
  68. package/ios/MLRN/MLRNRasterLayer.m +16 -12
  69. package/ios/MLRN/MLRNRasterLayerManager.m +4 -5
  70. package/ios/MLRN/MLRNRasterSource.m +21 -17
  71. package/ios/MLRN/MLRNRasterSourceManager.m +2 -3
  72. package/ios/MLRN/MLRNShapeSource.h +17 -16
  73. package/ios/MLRN/MLRNShapeSource.m +94 -102
  74. package/ios/MLRN/MLRNShapeSourceManager.h +2 -2
  75. package/ios/MLRN/MLRNShapeSourceManager.m +86 -90
  76. package/ios/MLRN/MLRNSnapshotModule.h +1 -1
  77. package/ios/MLRN/MLRNSnapshotModule.m +51 -53
  78. package/ios/MLRN/MLRNSource.h +12 -12
  79. package/ios/MLRN/MLRNSource.m +82 -88
  80. package/ios/MLRN/MLRNStyleValue.h +1 -1
  81. package/ios/MLRN/MLRNStyleValue.m +128 -128
  82. package/ios/MLRN/MLRNSymbolLayer.m +17 -13
  83. package/ios/MLRN/MLRNSymbolLayerManager.m +4 -5
  84. package/ios/MLRN/MLRNTileSource.h +1 -1
  85. package/ios/MLRN/MLRNTileSource.m +21 -20
  86. package/ios/MLRN/MLRNUserLocation.h +1 -1
  87. package/ios/MLRN/MLRNUserLocation.m +10 -12
  88. package/ios/MLRN/MLRNUtils.h +18 -11
  89. package/ios/MLRN/MLRNUtils.m +168 -160
  90. package/ios/MLRN/MLRNVectorLayer.m +28 -34
  91. package/ios/MLRN/MLRNVectorSource.h +3 -1
  92. package/ios/MLRN/MLRNVectorSource.m +14 -11
  93. package/ios/MLRN/MLRNVectorSourceManager.h +2 -2
  94. package/ios/MLRN/MLRNVectorSourceManager.m +36 -39
  95. package/ios/MLRN/ViewManager.h +1 -1
  96. package/ios/MLRN/ViewManager.m +29 -35
  97. package/lib/commonjs/components/MarkerView.js +1 -1
  98. package/lib/commonjs/components/UserLocation.js +8 -38
  99. package/lib/commonjs/components/UserLocation.js.map +1 -1
  100. package/lib/commonjs/components/UserLocationPuck.js +52 -0
  101. package/lib/commonjs/components/UserLocationPuck.js.map +1 -0
  102. package/lib/commonjs/components/{HeadingIndicator.js → UserLocationPuckHeading.js} +12 -9
  103. package/lib/commonjs/components/UserLocationPuckHeading.js.map +1 -0
  104. package/lib/module/components/MarkerView.js +1 -1
  105. package/lib/module/components/UserLocation.js +7 -36
  106. package/lib/module/components/UserLocation.js.map +1 -1
  107. package/lib/module/components/UserLocationPuck.js +48 -0
  108. package/lib/module/components/UserLocationPuck.js.map +1 -0
  109. package/lib/module/components/{HeadingIndicator.js → UserLocationPuckHeading.js} +11 -7
  110. package/lib/module/components/UserLocationPuckHeading.js.map +1 -0
  111. package/lib/typescript/commonjs/src/components/MarkerView.d.ts +1 -1
  112. package/lib/typescript/commonjs/src/components/UserLocation.d.ts +0 -1
  113. package/lib/typescript/commonjs/src/components/UserLocation.d.ts.map +1 -1
  114. package/lib/typescript/commonjs/src/components/UserLocationPuck.d.ts +9 -0
  115. package/lib/typescript/commonjs/src/components/UserLocationPuck.d.ts.map +1 -0
  116. package/lib/typescript/commonjs/src/components/UserLocationPuckHeading.d.ts +9 -0
  117. package/lib/typescript/commonjs/src/components/UserLocationPuckHeading.d.ts.map +1 -0
  118. package/lib/typescript/commonjs/src/utils/animated/AbstractAnimatedCoordinates.d.ts +0 -1
  119. package/lib/typescript/commonjs/src/utils/animated/AbstractAnimatedCoordinates.d.ts.map +1 -1
  120. package/lib/typescript/commonjs/src/utils/animated/AnimatedExtractCoordinateFromArray.d.ts +0 -1
  121. package/lib/typescript/commonjs/src/utils/animated/AnimatedExtractCoordinateFromArray.d.ts.map +1 -1
  122. package/lib/typescript/commonjs/src/utils/animated/AnimatedPoint.d.ts +0 -1
  123. package/lib/typescript/commonjs/src/utils/animated/AnimatedPoint.d.ts.map +1 -1
  124. package/lib/typescript/commonjs/src/utils/animated/AnimatedShape.d.ts +0 -1
  125. package/lib/typescript/commonjs/src/utils/animated/AnimatedShape.d.ts.map +1 -1
  126. package/lib/typescript/module/src/components/MarkerView.d.ts +1 -1
  127. package/lib/typescript/module/src/components/UserLocation.d.ts +0 -1
  128. package/lib/typescript/module/src/components/UserLocation.d.ts.map +1 -1
  129. package/lib/typescript/module/src/components/UserLocationPuck.d.ts +9 -0
  130. package/lib/typescript/module/src/components/UserLocationPuck.d.ts.map +1 -0
  131. package/lib/typescript/module/src/components/UserLocationPuckHeading.d.ts +9 -0
  132. package/lib/typescript/module/src/components/UserLocationPuckHeading.d.ts.map +1 -0
  133. package/lib/typescript/module/src/utils/animated/AbstractAnimatedCoordinates.d.ts +0 -1
  134. package/lib/typescript/module/src/utils/animated/AbstractAnimatedCoordinates.d.ts.map +1 -1
  135. package/lib/typescript/module/src/utils/animated/AnimatedExtractCoordinateFromArray.d.ts +0 -1
  136. package/lib/typescript/module/src/utils/animated/AnimatedExtractCoordinateFromArray.d.ts.map +1 -1
  137. package/lib/typescript/module/src/utils/animated/AnimatedPoint.d.ts +0 -1
  138. package/lib/typescript/module/src/utils/animated/AnimatedPoint.d.ts.map +1 -1
  139. package/lib/typescript/module/src/utils/animated/AnimatedShape.d.ts +0 -1
  140. package/lib/typescript/module/src/utils/animated/AnimatedShape.d.ts.map +1 -1
  141. package/package.json +8 -8
  142. package/src/components/MarkerView.tsx +1 -1
  143. package/src/components/UserLocation.tsx +13 -51
  144. package/src/components/UserLocationPuck.tsx +62 -0
  145. package/src/components/UserLocationPuckHeading.tsx +33 -0
  146. package/lib/commonjs/components/HeadingIndicator.js.map +0 -1
  147. package/lib/module/components/HeadingIndicator.js.map +0 -1
  148. package/lib/typescript/commonjs/src/components/HeadingIndicator.d.ts +0 -7
  149. package/lib/typescript/commonjs/src/components/HeadingIndicator.d.ts.map +0 -1
  150. package/lib/typescript/module/src/components/HeadingIndicator.d.ts +0 -7
  151. package/lib/typescript/module/src/components/HeadingIndicator.d.ts.map +0 -1
  152. package/src/components/HeadingIndicator.tsx +0 -26
@@ -1,7 +1,7 @@
1
1
  #import <React/RCTUIManager.h>
2
2
 
3
- #import "MLRNVectorSourceManager.h"
4
3
  #import "MLRNVectorSource.h"
4
+ #import "MLRNVectorSourceManager.h"
5
5
 
6
6
  #import "FilterParser.h"
7
7
 
@@ -11,9 +11,8 @@ RCT_EXPORT_MODULE(MLRNVectorSource);
11
11
 
12
12
  RCT_EXPORT_VIEW_PROPERTY(id, NSString);
13
13
 
14
- - (UIView*)view
15
- {
16
- return [MLRNVectorSource new];
14
+ - (UIView *)view {
15
+ return [MLRNVectorSource new];
17
16
  }
18
17
 
19
18
  RCT_EXPORT_VIEW_PROPERTY(url, NSString)
@@ -28,44 +27,42 @@ RCT_EXPORT_VIEW_PROPERTY(hasPressListener, BOOL)
28
27
  RCT_REMAP_VIEW_PROPERTY(onMapboxVectorSourcePress, onPress, RCTBubblingEventBlock)
29
28
  RCT_EXPORT_VIEW_PROPERTY(hitbox, NSDictionary)
30
29
 
30
+ RCT_EXPORT_METHOD(features : (nonnull NSNumber *)reactTag withLayerIDs : (NSArray<NSString *> *)
31
+ layerIDs withFilter : (NSArray<NSDictionary<NSString *, id> *> *)
32
+ filter resolver : (RCTPromiseResolveBlock)
33
+ resolve rejecter : (RCTPromiseRejectBlock)reject) {
34
+ [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *manager,
35
+ NSDictionary<NSNumber *, UIView *> *viewRegistry) {
36
+ UIView *view = viewRegistry[reactTag];
37
+ MLRNVectorSource *vectorSource = nil;
38
+
39
+ if ([view isKindOfClass:[MLRNVectorSource class]]) {
40
+ vectorSource = (MLRNVectorSource *)view;
41
+ } else {
42
+ RCTLogError(@"Invalid react tag, could not find MLRNMapView");
43
+ return;
44
+ }
45
+
46
+ NSSet *layerIDSet = nil;
47
+ if (layerIDs != nil && layerIDs.count > 0) {
48
+ layerIDSet = [NSSet setWithArray:layerIDs];
49
+ }
50
+ NSPredicate *predicate = [FilterParser parse:filter];
51
+ NSArray<id<MLNFeature>> *shapes =
52
+ [vectorSource featuresInSourceLayersWithIdentifiers:layerIDSet predicate:predicate];
53
+
54
+ NSMutableArray<NSDictionary *> *features =
55
+ [[NSMutableArray alloc] initWithCapacity:shapes.count];
56
+ for (int i = 0; i < shapes.count; i++) {
57
+ [features addObject:shapes[i].geoJSONDictionary];
58
+ }
31
59
 
32
- RCT_EXPORT_METHOD(features:(nonnull NSNumber*)reactTag
33
- withLayerIDs:(NSArray<NSString*>*)layerIDs
34
- withFilter:(NSArray<NSDictionary<NSString *, id> *> *)filter
35
- resolver:(RCTPromiseResolveBlock)resolve
36
- rejecter:(RCTPromiseRejectBlock)reject)
37
- {
38
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *manager, NSDictionary<NSNumber*, UIView*> *viewRegistry) {
39
- MLRNVectorSource* vectorSource = viewRegistry[reactTag];
40
-
41
- if (![vectorSource isKindOfClass:[MLRNVectorSource class]]) {
42
- RCTLogError(@"Invalid react tag, could not find MLRNMapView");
43
- return;
44
- }
45
-
46
- NSSet* layerIDSet = nil;
47
- if (layerIDs != nil && layerIDs.count > 0) {
48
- layerIDSet = [NSSet setWithArray:layerIDs];
49
- }
50
- NSPredicate* predicate = [FilterParser parse:filter];
51
- NSArray<id<MLNFeature>> *shapes = [vectorSource
52
- featuresInSourceLayersWithIdentifiers: layerIDSet
53
- predicate: predicate];
54
-
55
- NSMutableArray<NSDictionary*> *features = [[NSMutableArray alloc] initWithCapacity:shapes.count];
56
- for (int i = 0; i < shapes.count; i++) {
57
- [features addObject:shapes[i].geoJSONDictionary];
58
- }
59
-
60
- resolve(@{
61
- @"data": @{ @"type": @"FeatureCollection", @"features": features }
62
- });
63
- }];
60
+ resolve(@{@"data" : @{@"type" : @"FeatureCollection", @"features" : features}});
61
+ }];
64
62
  }
65
63
 
66
- RCT_EXPORT_METHOD(addEvent:(NSString *)name location:(NSString *)location)
67
- {
68
- RCTLogInfo(@"Pretending to create an event %@ at %@", name, location);
64
+ RCT_EXPORT_METHOD(addEvent : (NSString *)name location : (NSString *)location) {
65
+ RCTLogInfo(@"Pretending to create an event %@ at %@", name, location);
69
66
  }
70
67
 
71
68
  @end
@@ -3,6 +3,6 @@
3
3
 
4
4
  @interface ViewManager : RCTViewManager
5
5
 
6
- -(void)fireEvent:(MLRNEvent*)event withCallback:(RCTBubblingEventBlock)callback;
6
+ - (void)fireEvent:(MLRNEvent*)event withCallback:(RCTBubblingEventBlock)callback;
7
7
 
8
8
  @end
@@ -1,55 +1,49 @@
1
1
  #import "ViewManager.h"
2
2
 
3
- @implementation ViewManager
4
- {
5
- NSMutableDictionary<NSString*, NSNumber*> *eventTimestampCache;
3
+ @implementation ViewManager {
4
+ NSMutableDictionary<NSString *, NSNumber *> *eventTimestampCache;
6
5
  }
7
6
 
8
- + (BOOL)requiresMainQueueSetup
9
- {
10
- return YES;
7
+ + (BOOL)requiresMainQueueSetup {
8
+ return YES;
11
9
  }
12
10
 
13
- + (NSString *)moduleName
14
- {
15
- // Hack, to prevent JS from throwing a useless warning
16
- return @"RCTViewManager";
11
+ + (NSString *)moduleName {
12
+ // Hack, to prevent JS from throwing a useless warning
13
+ return @"RCTViewManager";
17
14
  }
18
15
 
19
16
  static NSTimeInterval EVENT_THROTTLE_S = 0.01;
20
17
 
21
- - (instancetype)init
22
- {
23
- if (self = [super init]) {
24
- eventTimestampCache = [[NSMutableDictionary alloc] init];
25
- }
26
-
27
- return self;
18
+ - (instancetype)init {
19
+ if (self = [super init]) {
20
+ eventTimestampCache = [[NSMutableDictionary alloc] init];
21
+ }
22
+
23
+ return self;
28
24
  }
29
25
 
30
- - (void)fireEvent:(MLRNEvent*)event withCallback:(RCTBubblingEventBlock)callback
31
- {
32
- if (![self _shouldDropEvent:event]) {
33
- NSString *cacheKey = [self _getCacheKey:event];
34
- NSTimeInterval now = [[NSDate date] timeIntervalSince1970];
35
- [eventTimestampCache setObject:[NSNumber numberWithDouble:now] forKey:cacheKey];
36
-
37
- if (callback != nil) {
38
- callback([event toJSON]);
39
- }
26
+ - (void)fireEvent:(MLRNEvent *)event withCallback:(RCTBubblingEventBlock)callback {
27
+ if (![self _shouldDropEvent:event]) {
28
+ NSString *cacheKey = [self _getCacheKey:event];
29
+ NSTimeInterval now = [[NSDate date] timeIntervalSince1970];
30
+ [eventTimestampCache setObject:[NSNumber numberWithDouble:now] forKey:cacheKey];
31
+
32
+ if (callback != nil) {
33
+ callback([event toJSON]);
40
34
  }
35
+ }
41
36
  }
42
37
 
43
- - (BOOL)_shouldDropEvent:(MLRNEvent *)event
44
- {
45
- NSString *cacheKey = [self _getCacheKey:event];
46
- NSNumber *lastTimestamp = [eventTimestampCache objectForKey:cacheKey];
47
- return lastTimestamp != nil && (event.timestamp - [lastTimestamp doubleValue]) <= EVENT_THROTTLE_S;
38
+ - (BOOL)_shouldDropEvent:(MLRNEvent *)event {
39
+ NSString *cacheKey = [self _getCacheKey:event];
40
+ NSNumber *lastTimestamp = [eventTimestampCache objectForKey:cacheKey];
41
+ return lastTimestamp != nil &&
42
+ (event.timestamp - [lastTimestamp doubleValue]) <= EVENT_THROTTLE_S;
48
43
  }
49
44
 
50
- - (NSString*)_getCacheKey:(MLRNEvent*)event
51
- {
52
- return event.type;
45
+ - (NSString *)_getCacheKey:(MLRNEvent *)event {
46
+ return event.type;
53
47
  }
54
48
 
55
49
  @end
@@ -16,7 +16,7 @@ const NATIVE_MODULE_NAME = exports.NATIVE_MODULE_NAME = "MLRNMarkerView";
16
16
  *
17
17
  * If you have static view consider using PointAnnotation or SymbolLayer they'll offer much better performance
18
18
  * .
19
- * This is based on [MakerView plugin](https://docs.mapbox.com/android/plugins/overview/markerview/) on Android
19
+ * This is based on [MakerView plugin](https://github.com/maplibre/maplibre-plugins-android/tree/main/plugin-markerview) on Android
20
20
  * and PointAnnotation on iOS.
21
21
  */
22
22
  const MarkerView = ({
@@ -3,47 +3,14 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.normalIcon = exports.UserLocationRenderMode = exports.UserLocation = void 0;
6
+ exports.UserLocationRenderMode = exports.UserLocation = void 0;
7
7
  var _react = require("react");
8
8
  var _Annotation = require("./Annotation.js");
9
- var _CircleLayer = require("./CircleLayer.js");
10
- var _HeadingIndicator = require("./HeadingIndicator.js");
11
9
  var _NativeUserLocation = require("./NativeUserLocation.js");
10
+ var _UserLocationPuck = require("./UserLocationPuck.js");
12
11
  var _LocationManager = require("../modules/location/LocationManager.js");
13
12
  var _jsxRuntime = require("react/jsx-runtime");
14
- const mapboxBlue = "rgba(51, 181, 229, 100)";
15
- const layerStyles = {
16
- pluse: {
17
- circleRadius: 15,
18
- circleColor: mapboxBlue,
19
- circleOpacity: 0.2,
20
- circlePitchAlignment: "map"
21
- },
22
- background: {
23
- circleRadius: 9,
24
- circleColor: "#fff",
25
- circlePitchAlignment: "map"
26
- },
27
- foreground: {
28
- circleRadius: 6,
29
- circleColor: mapboxBlue,
30
- circlePitchAlignment: "map"
31
- }
32
- };
33
- const normalIcon = (showsUserHeadingIndicator, heading) => [/*#__PURE__*/(0, _jsxRuntime.jsx)(_CircleLayer.CircleLayer, {
34
- id: "mapboxUserLocationPluseCircle",
35
- style: layerStyles.pluse
36
- }, "mapboxUserLocationPluseCircle"), /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircleLayer.CircleLayer, {
37
- id: "mapboxUserLocationWhiteCircle",
38
- style: layerStyles.background
39
- }, "mapboxUserLocationWhiteCircle"), /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircleLayer.CircleLayer, {
40
- id: "mapboxUserLocationBlueCicle",
41
- aboveLayerID: "mapboxUserLocationWhiteCircle",
42
- style: layerStyles.foreground
43
- }, "mapboxUserLocationBlueCicle"), ...(showsUserHeadingIndicator && heading ? [(0, _HeadingIndicator.HeadingIndicator)({
44
- heading
45
- })] : [])];
46
- exports.normalIcon = normalIcon;
13
+ const USER_LOCATION_SOURCE_ID = "mlrn-user-location";
47
14
  let UserLocationRenderMode = exports.UserLocationRenderMode = /*#__PURE__*/function (UserLocationRenderMode) {
48
15
  UserLocationRenderMode["Native"] = "native";
49
16
  UserLocationRenderMode["Normal"] = "normal";
@@ -174,13 +141,16 @@ const UserLocation = exports.UserLocation = /*#__PURE__*/(0, _react.memo)(/*#__P
174
141
  }
175
142
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Annotation.Annotation, {
176
143
  animated: animated,
177
- id: "mapboxUserLocation",
144
+ id: USER_LOCATION_SOURCE_ID,
178
145
  onPress: onPress,
179
146
  coordinates: userLocationState.coordinates,
180
147
  style: {
181
148
  iconRotate: userLocationState.heading
182
149
  },
183
- children: children || normalIcon(showsUserHeadingIndicator, userLocationState.heading)
150
+ children: children || /*#__PURE__*/(0, _jsxRuntime.jsx)(_UserLocationPuck.UserLocationPuck, {
151
+ sourceID: USER_LOCATION_SOURCE_ID,
152
+ heading: showsUserHeadingIndicator ? userLocationState.heading : undefined
153
+ })
184
154
  });
185
155
  }));
186
156
  //# sourceMappingURL=UserLocation.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_Annotation","_CircleLayer","_HeadingIndicator","_NativeUserLocation","_LocationManager","_jsxRuntime","mapboxBlue","layerStyles","pluse","circleRadius","circleColor","circleOpacity","circlePitchAlignment","background","foreground","normalIcon","showsUserHeadingIndicator","heading","jsx","CircleLayer","id","style","aboveLayerID","HeadingIndicator","exports","UserLocationRenderMode","UserLocation","memo","forwardRef","animated","visible","minDisplacement","renderMode","androidRenderMode","androidPreferredFramesPerSecond","children","onUpdate","onPress","ref","_isMounted","useRef","locationManagerRunning","userLocationState","setUserLocationState","useState","shouldShowUserLocation","useImperativeHandle","setLocationManager","needsLocationManagerRunning","_onLocationUpdate","useEffect","current","running","then","Native","LocationManager","setMinDisplacement","addListener","location","getLastKnownLocation","removeListener","Normal","coordinates","coords","longitude","latitude","props","iosShowsUserHeadingIndicator","NativeUserLocation","Annotation","iconRotate"],"sourceRoot":"../../../src","sources":["components/UserLocation.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_Annotation","_NativeUserLocation","_UserLocationPuck","_LocationManager","_jsxRuntime","USER_LOCATION_SOURCE_ID","UserLocationRenderMode","exports","UserLocation","memo","forwardRef","animated","visible","showsUserHeadingIndicator","minDisplacement","renderMode","androidRenderMode","androidPreferredFramesPerSecond","children","onUpdate","onPress","ref","_isMounted","useRef","locationManagerRunning","userLocationState","setUserLocationState","useState","shouldShowUserLocation","useImperativeHandle","setLocationManager","needsLocationManagerRunning","_onLocationUpdate","useEffect","current","running","then","Native","LocationManager","setMinDisplacement","addListener","location","getLastKnownLocation","removeListener","Normal","coordinates","heading","coords","longitude","latitude","props","iosShowsUserHeadingIndicator","jsx","NativeUserLocation","Annotation","id","style","iconRotate","UserLocationPuck","sourceID","undefined"],"sourceRoot":"../../../src","sources":["components/UserLocation.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.UserLocationPuck = void 0;
7
+ var _react = require("react");
8
+ var _CircleLayer = require("./CircleLayer.js");
9
+ var _UserLocationPuckHeading = require("./UserLocationPuckHeading.js");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ const blue = "#33B5E5";
12
+ const layerStyles = {
13
+ pulse: {
14
+ circleRadius: 15,
15
+ circleColor: blue,
16
+ circleOpacity: 0.2,
17
+ circlePitchAlignment: "map"
18
+ },
19
+ white: {
20
+ circleRadius: 9,
21
+ circleColor: "#fff",
22
+ circlePitchAlignment: "map"
23
+ },
24
+ blue: {
25
+ circleRadius: 6,
26
+ circleColor: blue,
27
+ circlePitchAlignment: "map"
28
+ }
29
+ };
30
+ const UserLocationPuck = exports.UserLocationPuck = /*#__PURE__*/(0, _react.memo)(({
31
+ sourceID,
32
+ heading
33
+ }) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
34
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_CircleLayer.CircleLayer, {
35
+ id: "mlrn-user-location-puck-pulse",
36
+ sourceID: sourceID,
37
+ style: layerStyles.pulse
38
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircleLayer.CircleLayer, {
39
+ id: "mlrn-user-location-puck-white",
40
+ sourceID: sourceID,
41
+ style: layerStyles.white
42
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircleLayer.CircleLayer, {
43
+ id: "mlrn-user-location-puck-blue",
44
+ sourceID: sourceID,
45
+ style: layerStyles.blue
46
+ }), typeof heading === "number" && /*#__PURE__*/(0, _jsxRuntime.jsx)(_UserLocationPuckHeading.UserLocationPuckHeading, {
47
+ sourceID: sourceID,
48
+ belowLayerID: "mlrn-user-location-puck-white",
49
+ heading: heading
50
+ })]
51
+ }));
52
+ //# sourceMappingURL=UserLocationPuck.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_CircleLayer","_UserLocationPuckHeading","_jsxRuntime","blue","layerStyles","pulse","circleRadius","circleColor","circleOpacity","circlePitchAlignment","white","UserLocationPuck","exports","memo","sourceID","heading","jsxs","Fragment","children","jsx","CircleLayer","id","style","UserLocationPuckHeading","belowLayerID"],"sourceRoot":"../../../src","sources":["components/UserLocationPuck.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,wBAAA,GAAAF,OAAA;AAAoE,IAAAG,WAAA,GAAAH,OAAA;AAIpE,MAAMI,IAAI,GAAG,SAAS;AAEtB,MAAMC,WAAiE,GAAG;EACxEC,KAAK,EAAE;IACLC,YAAY,EAAE,EAAE;IAChBC,WAAW,EAAEJ,IAAI;IACjBK,aAAa,EAAE,GAAG;IAClBC,oBAAoB,EAAE;EACxB,CAAC;EACDC,KAAK,EAAE;IACLJ,YAAY,EAAE,CAAC;IACfC,WAAW,EAAE,MAAM;IACnBE,oBAAoB,EAAE;EACxB,CAAC;EACDN,IAAI,EAAE;IACJG,YAAY,EAAE,CAAC;IACfC,WAAW,EAAEJ,IAAI;IACjBM,oBAAoB,EAAE;EACxB;AACF,CAAC;AAQM,MAAME,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,gBAAG,IAAAE,WAAI,EAClC,CAAC;EAAEC,QAAQ;EAAEC;AAA+B,CAAC,kBAC3C,IAAAb,WAAA,CAAAc,IAAA,EAAAd,WAAA,CAAAe,QAAA;EAAAC,QAAA,gBACE,IAAAhB,WAAA,CAAAiB,GAAA,EAACnB,YAAA,CAAAoB,WAAW;IACVC,EAAE,EAAC,+BAA+B;IAClCP,QAAQ,EAAEA,QAAS;IACnBQ,KAAK,EAAElB,WAAW,CAACC;EAAM,CAC1B,CAAC,eACF,IAAAH,WAAA,CAAAiB,GAAA,EAACnB,YAAA,CAAAoB,WAAW;IACVC,EAAE,EAAC,+BAA+B;IAClCP,QAAQ,EAAEA,QAAS;IACnBQ,KAAK,EAAElB,WAAW,CAACM;EAAM,CAC1B,CAAC,eACF,IAAAR,WAAA,CAAAiB,GAAA,EAACnB,YAAA,CAAAoB,WAAW;IACVC,EAAE,EAAC,8BAA8B;IACjCP,QAAQ,EAAEA,QAAS;IACnBQ,KAAK,EAAElB,WAAW,CAACD;EAAK,CACzB,CAAC,EACD,OAAOY,OAAO,KAAK,QAAQ,iBAC1B,IAAAb,WAAA,CAAAiB,GAAA,EAAClB,wBAAA,CAAAsB,uBAAuB;IACtBT,QAAQ,EAAEA,QAAS;IACnBU,YAAY,EAAC,+BAA+B;IAC5CT,OAAO,EAAEA;EAAQ,CAClB,CACF;AAAA,CACD,CAEN,CAAC","ignoreList":[]}
@@ -3,26 +3,29 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.HeadingIndicator = void 0;
6
+ exports.UserLocationPuckHeading = void 0;
7
+ var _react = require("react");
7
8
  var _SymbolLayer = require("./SymbolLayer.js");
8
9
  var _heading = _interopRequireDefault(require("../assets/heading.png"));
9
10
  var _jsxRuntime = require("react/jsx-runtime");
10
11
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
- const style = {
12
+ const layerStyle = {
12
13
  iconImage: _heading.default,
13
14
  iconAllowOverlap: true,
14
15
  iconPitchAlignment: "map",
15
16
  iconRotationAlignment: "map"
16
17
  };
17
- const HeadingIndicator = ({
18
+ const UserLocationPuckHeading = exports.UserLocationPuckHeading = /*#__PURE__*/(0, _react.memo)(({
19
+ sourceID,
20
+ belowLayerID,
18
21
  heading
19
22
  }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_SymbolLayer.SymbolLayer, {
20
- id: "mapboxUserLocationHeadingIndicator",
21
- belowLayerID: "mapboxUserLocationWhiteCircle",
23
+ id: "mlrn-user-location-puck-heading",
24
+ sourceID: sourceID,
25
+ belowLayerID: belowLayerID,
22
26
  style: {
23
27
  iconRotate: heading,
24
- ...style
28
+ ...layerStyle
25
29
  }
26
- }, "mapboxUserLocationHeadingIndicator");
27
- exports.HeadingIndicator = HeadingIndicator;
28
- //# sourceMappingURL=HeadingIndicator.js.map
30
+ }));
31
+ //# sourceMappingURL=UserLocationPuckHeading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_SymbolLayer","_heading","_interopRequireDefault","_jsxRuntime","e","__esModule","default","layerStyle","iconImage","headingIcon","iconAllowOverlap","iconPitchAlignment","iconRotationAlignment","UserLocationPuckHeading","exports","memo","sourceID","belowLayerID","heading","jsx","SymbolLayer","id","style","iconRotate"],"sourceRoot":"../../../src","sources":["components/UserLocationPuckHeading.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAC,sBAAA,CAAAH,OAAA;AAAgD,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAG,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAIhD,MAAMG,UAA4B,GAAG;EACnCC,SAAS,EAAEC,gBAAW;EACtBC,gBAAgB,EAAE,IAAI;EACtBC,kBAAkB,EAAE,KAAK;EACzBC,qBAAqB,EAAE;AACzB,CAAC;AAQM,MAAMC,uBAAuB,GAAAC,OAAA,CAAAD,uBAAA,gBAAG,IAAAE,WAAI,EACzC,CAAC;EAAEC,QAAQ;EAAEC,YAAY;EAAEC;AAAsC,CAAC,kBAChE,IAAAf,WAAA,CAAAgB,GAAA,EAACnB,YAAA,CAAAoB,WAAW;EACVC,EAAE,EAAC,iCAAiC;EACpCL,QAAQ,EAAEA,QAAS;EACnBC,YAAY,EAAEA,YAAa;EAC3BK,KAAK,EAAE;IACLC,UAAU,EAAEL,OAAO;IACnB,GAAGX;EACL;AAAE,CACH,CAEL,CAAC","ignoreList":[]}
@@ -12,7 +12,7 @@ export const NATIVE_MODULE_NAME = "MLRNMarkerView";
12
12
  *
13
13
  * If you have static view consider using PointAnnotation or SymbolLayer they'll offer much better performance
14
14
  * .
15
- * This is based on [MakerView plugin](https://docs.mapbox.com/android/plugins/overview/markerview/) on Android
15
+ * This is based on [MakerView plugin](https://github.com/maplibre/maplibre-plugins-android/tree/main/plugin-markerview) on Android
16
16
  * and PointAnnotation on iOS.
17
17
  */
18
18
  export const MarkerView = ({
@@ -2,43 +2,11 @@
2
2
 
3
3
  import { forwardRef, memo, useEffect, useImperativeHandle, useRef, useState } from "react";
4
4
  import { Annotation } from "./Annotation.js";
5
- import { CircleLayer } from "./CircleLayer.js";
6
- import { HeadingIndicator } from "./HeadingIndicator.js";
7
5
  import { NativeUserLocation } from "./NativeUserLocation.js";
6
+ import { UserLocationPuck } from "./UserLocationPuck.js";
8
7
  import { LocationManager } from "../modules/location/LocationManager.js";
9
8
  import { jsx as _jsx } from "react/jsx-runtime";
10
- const mapboxBlue = "rgba(51, 181, 229, 100)";
11
- const layerStyles = {
12
- pluse: {
13
- circleRadius: 15,
14
- circleColor: mapboxBlue,
15
- circleOpacity: 0.2,
16
- circlePitchAlignment: "map"
17
- },
18
- background: {
19
- circleRadius: 9,
20
- circleColor: "#fff",
21
- circlePitchAlignment: "map"
22
- },
23
- foreground: {
24
- circleRadius: 6,
25
- circleColor: mapboxBlue,
26
- circlePitchAlignment: "map"
27
- }
28
- };
29
- export const normalIcon = (showsUserHeadingIndicator, heading) => [/*#__PURE__*/_jsx(CircleLayer, {
30
- id: "mapboxUserLocationPluseCircle",
31
- style: layerStyles.pluse
32
- }, "mapboxUserLocationPluseCircle"), /*#__PURE__*/_jsx(CircleLayer, {
33
- id: "mapboxUserLocationWhiteCircle",
34
- style: layerStyles.background
35
- }, "mapboxUserLocationWhiteCircle"), /*#__PURE__*/_jsx(CircleLayer, {
36
- id: "mapboxUserLocationBlueCicle",
37
- aboveLayerID: "mapboxUserLocationWhiteCircle",
38
- style: layerStyles.foreground
39
- }, "mapboxUserLocationBlueCicle"), ...(showsUserHeadingIndicator && heading ? [HeadingIndicator({
40
- heading
41
- })] : [])];
9
+ const USER_LOCATION_SOURCE_ID = "mlrn-user-location";
42
10
  export let UserLocationRenderMode = /*#__PURE__*/function (UserLocationRenderMode) {
43
11
  UserLocationRenderMode["Native"] = "native";
44
12
  UserLocationRenderMode["Normal"] = "normal";
@@ -169,13 +137,16 @@ export const UserLocation = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(({
169
137
  }
170
138
  return /*#__PURE__*/_jsx(Annotation, {
171
139
  animated: animated,
172
- id: "mapboxUserLocation",
140
+ id: USER_LOCATION_SOURCE_ID,
173
141
  onPress: onPress,
174
142
  coordinates: userLocationState.coordinates,
175
143
  style: {
176
144
  iconRotate: userLocationState.heading
177
145
  },
178
- children: children || normalIcon(showsUserHeadingIndicator, userLocationState.heading)
146
+ children: children || /*#__PURE__*/_jsx(UserLocationPuck, {
147
+ sourceID: USER_LOCATION_SOURCE_ID,
148
+ heading: showsUserHeadingIndicator ? userLocationState.heading : undefined
149
+ })
179
150
  });
180
151
  }));
181
152
  //# sourceMappingURL=UserLocation.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","memo","useEffect","useImperativeHandle","useRef","useState","Annotation","CircleLayer","HeadingIndicator","NativeUserLocation","LocationManager","jsx","_jsx","mapboxBlue","layerStyles","pluse","circleRadius","circleColor","circleOpacity","circlePitchAlignment","background","foreground","normalIcon","showsUserHeadingIndicator","heading","id","style","aboveLayerID","UserLocationRenderMode","UserLocation","animated","visible","minDisplacement","renderMode","androidRenderMode","androidPreferredFramesPerSecond","children","onUpdate","onPress","ref","_isMounted","locationManagerRunning","userLocationState","setUserLocationState","shouldShowUserLocation","setLocationManager","needsLocationManagerRunning","_onLocationUpdate","current","running","then","Native","setMinDisplacement","addListener","location","getLastKnownLocation","removeListener","Normal","coordinates","coords","longitude","latitude","props","iosShowsUserHeadingIndicator","iconRotate"],"sourceRoot":"../../../src","sources":["components/UserLocation.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["forwardRef","memo","useEffect","useImperativeHandle","useRef","useState","Annotation","NativeUserLocation","UserLocationPuck","LocationManager","jsx","_jsx","USER_LOCATION_SOURCE_ID","UserLocationRenderMode","UserLocation","animated","visible","showsUserHeadingIndicator","minDisplacement","renderMode","androidRenderMode","androidPreferredFramesPerSecond","children","onUpdate","onPress","ref","_isMounted","locationManagerRunning","userLocationState","setUserLocationState","shouldShowUserLocation","setLocationManager","needsLocationManagerRunning","_onLocationUpdate","current","running","then","Native","setMinDisplacement","addListener","location","getLastKnownLocation","removeListener","Normal","coordinates","heading","coords","longitude","latitude","props","iosShowsUserHeadingIndicator","id","style","iconRotate","sourceID","undefined"],"sourceRoot":"../../../src","sources":["components/UserLocation.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ import { memo } from "react";
4
+ import { CircleLayer } from "./CircleLayer.js";
5
+ import { UserLocationPuckHeading } from "./UserLocationPuckHeading.js";
6
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
7
+ const blue = "#33B5E5";
8
+ const layerStyles = {
9
+ pulse: {
10
+ circleRadius: 15,
11
+ circleColor: blue,
12
+ circleOpacity: 0.2,
13
+ circlePitchAlignment: "map"
14
+ },
15
+ white: {
16
+ circleRadius: 9,
17
+ circleColor: "#fff",
18
+ circlePitchAlignment: "map"
19
+ },
20
+ blue: {
21
+ circleRadius: 6,
22
+ circleColor: blue,
23
+ circlePitchAlignment: "map"
24
+ }
25
+ };
26
+ export const UserLocationPuck = /*#__PURE__*/memo(({
27
+ sourceID,
28
+ heading
29
+ }) => /*#__PURE__*/_jsxs(_Fragment, {
30
+ children: [/*#__PURE__*/_jsx(CircleLayer, {
31
+ id: "mlrn-user-location-puck-pulse",
32
+ sourceID: sourceID,
33
+ style: layerStyles.pulse
34
+ }), /*#__PURE__*/_jsx(CircleLayer, {
35
+ id: "mlrn-user-location-puck-white",
36
+ sourceID: sourceID,
37
+ style: layerStyles.white
38
+ }), /*#__PURE__*/_jsx(CircleLayer, {
39
+ id: "mlrn-user-location-puck-blue",
40
+ sourceID: sourceID,
41
+ style: layerStyles.blue
42
+ }), typeof heading === "number" && /*#__PURE__*/_jsx(UserLocationPuckHeading, {
43
+ sourceID: sourceID,
44
+ belowLayerID: "mlrn-user-location-puck-white",
45
+ heading: heading
46
+ })]
47
+ }));
48
+ //# sourceMappingURL=UserLocationPuck.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["memo","CircleLayer","UserLocationPuckHeading","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","blue","layerStyles","pulse","circleRadius","circleColor","circleOpacity","circlePitchAlignment","white","UserLocationPuck","sourceID","heading","children","id","style","belowLayerID"],"sourceRoot":"../../../src","sources":["components/UserLocationPuck.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAE5B,SAASC,WAAW,QAAQ,kBAAe;AAC3C,SAASC,uBAAuB,QAAQ,8BAA2B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAIpE,MAAMC,IAAI,GAAG,SAAS;AAEtB,MAAMC,WAAiE,GAAG;EACxEC,KAAK,EAAE;IACLC,YAAY,EAAE,EAAE;IAChBC,WAAW,EAAEJ,IAAI;IACjBK,aAAa,EAAE,GAAG;IAClBC,oBAAoB,EAAE;EACxB,CAAC;EACDC,KAAK,EAAE;IACLJ,YAAY,EAAE,CAAC;IACfC,WAAW,EAAE,MAAM;IACnBE,oBAAoB,EAAE;EACxB,CAAC;EACDN,IAAI,EAAE;IACJG,YAAY,EAAE,CAAC;IACfC,WAAW,EAAEJ,IAAI;IACjBM,oBAAoB,EAAE;EACxB;AACF,CAAC;AAQD,OAAO,MAAME,gBAAgB,gBAAGjB,IAAI,CAClC,CAAC;EAAEkB,QAAQ;EAAEC;AAA+B,CAAC,kBAC3CX,KAAA,CAAAF,SAAA;EAAAc,QAAA,gBACEhB,IAAA,CAACH,WAAW;IACVoB,EAAE,EAAC,+BAA+B;IAClCH,QAAQ,EAAEA,QAAS;IACnBI,KAAK,EAAEZ,WAAW,CAACC;EAAM,CAC1B,CAAC,eACFP,IAAA,CAACH,WAAW;IACVoB,EAAE,EAAC,+BAA+B;IAClCH,QAAQ,EAAEA,QAAS;IACnBI,KAAK,EAAEZ,WAAW,CAACM;EAAM,CAC1B,CAAC,eACFZ,IAAA,CAACH,WAAW;IACVoB,EAAE,EAAC,8BAA8B;IACjCH,QAAQ,EAAEA,QAAS;IACnBI,KAAK,EAAEZ,WAAW,CAACD;EAAK,CACzB,CAAC,EACD,OAAOU,OAAO,KAAK,QAAQ,iBAC1Bf,IAAA,CAACF,uBAAuB;IACtBgB,QAAQ,EAAEA,QAAS;IACnBK,YAAY,EAAC,+BAA+B;IAC5CJ,OAAO,EAAEA;EAAQ,CAClB,CACF;AAAA,CACD,CAEN,CAAC","ignoreList":[]}
@@ -1,22 +1,26 @@
1
1
  "use strict";
2
2
 
3
+ import { memo } from "react";
3
4
  import { SymbolLayer } from "./SymbolLayer.js";
4
5
  import headingIcon from "../assets/heading.png";
5
6
  import { jsx as _jsx } from "react/jsx-runtime";
6
- const style = {
7
+ const layerStyle = {
7
8
  iconImage: headingIcon,
8
9
  iconAllowOverlap: true,
9
10
  iconPitchAlignment: "map",
10
11
  iconRotationAlignment: "map"
11
12
  };
12
- export const HeadingIndicator = ({
13
+ export const UserLocationPuckHeading = /*#__PURE__*/memo(({
14
+ sourceID,
15
+ belowLayerID,
13
16
  heading
14
17
  }) => /*#__PURE__*/_jsx(SymbolLayer, {
15
- id: "mapboxUserLocationHeadingIndicator",
16
- belowLayerID: "mapboxUserLocationWhiteCircle",
18
+ id: "mlrn-user-location-puck-heading",
19
+ sourceID: sourceID,
20
+ belowLayerID: belowLayerID,
17
21
  style: {
18
22
  iconRotate: heading,
19
- ...style
23
+ ...layerStyle
20
24
  }
21
- }, "mapboxUserLocationHeadingIndicator");
22
- //# sourceMappingURL=HeadingIndicator.js.map
25
+ }));
26
+ //# sourceMappingURL=UserLocationPuckHeading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["memo","SymbolLayer","headingIcon","jsx","_jsx","layerStyle","iconImage","iconAllowOverlap","iconPitchAlignment","iconRotationAlignment","UserLocationPuckHeading","sourceID","belowLayerID","heading","id","style","iconRotate"],"sourceRoot":"../../../src","sources":["components/UserLocationPuckHeading.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAE5B,SAASC,WAAW,QAAQ,kBAAe;AAC3C,OAAOC,WAAW,MAAM,uBAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAIhD,MAAMC,UAA4B,GAAG;EACnCC,SAAS,EAAEJ,WAAW;EACtBK,gBAAgB,EAAE,IAAI;EACtBC,kBAAkB,EAAE,KAAK;EACzBC,qBAAqB,EAAE;AACzB,CAAC;AAQD,OAAO,MAAMC,uBAAuB,gBAAGV,IAAI,CACzC,CAAC;EAAEW,QAAQ;EAAEC,YAAY;EAAEC;AAAsC,CAAC,kBAChET,IAAA,CAACH,WAAW;EACVa,EAAE,EAAC,iCAAiC;EACpCH,QAAQ,EAAEA,QAAS;EACnBC,YAAY,EAAEA,YAAa;EAC3BG,KAAK,EAAE;IACLC,UAAU,EAAEH,OAAO;IACnB,GAAGR;EACL;AAAE,CACH,CAEL,CAAC","ignoreList":[]}
@@ -36,7 +36,7 @@ interface MarkerViewProps extends ViewProps {
36
36
  *
37
37
  * If you have static view consider using PointAnnotation or SymbolLayer they'll offer much better performance
38
38
  * .
39
- * This is based on [MakerView plugin](https://docs.mapbox.com/android/plugins/overview/markerview/) on Android
39
+ * This is based on [MakerView plugin](https://github.com/maplibre/maplibre-plugins-android/tree/main/plugin-markerview) on Android
40
40
  * and PointAnnotation on iOS.
41
41
  */
42
42
  export declare const MarkerView: ({ anchor, allowOverlap, isSelected, ...rest }: MarkerViewProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,6 +1,5 @@
1
1
  import { type ReactNode } from "react";
2
2
  import { type Location } from "../modules/location/LocationManager";
3
- export declare const normalIcon: (showsUserHeadingIndicator?: boolean, heading?: number) => import("react/jsx-runtime").JSX.Element[];
4
3
  interface UserLocationProps {
5
4
  /**
6
5
  * Whether location icon is animated between updates
@@ -1 +1 @@
1
- {"version":3,"file":"UserLocation.d.ts","sourceRoot":"","sources":["../../../../../src/components/UserLocation.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AAMf,OAAO,EACL,KAAK,QAAQ,EAEd,MAAM,qCAAqC,CAAC;AAwB7C,eAAO,MAAM,UAAU,+BACO,OAAO,YACzB,MAAM,8CAqBjB,CAAC;AAEF,UAAU,iBAAiB;IACzB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACjC;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAC;IACjD;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,OAAO,CAAC,IAAI,IAAI,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IACpC;;OAEG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAQD,oBAAY,sBAAsB;IAChC,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,kBAAkB,EAAE,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,2BAA2B,EAAE,MAAM,OAAO,CAAC;IAC3C,iBAAiB,EAAE,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,KAAK,IAAI,CAAC;CACxD;AAED,eAAO,MAAM,YAAY,oJAwKxB,CAAC"}
1
+ {"version":3,"file":"UserLocation.d.ts","sourceRoot":"","sources":["../../../../../src/components/UserLocation.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AAKf,OAAO,EACL,KAAK,QAAQ,EAEd,MAAM,qCAAqC,CAAC;AAI7C,UAAU,iBAAiB;IACzB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACjC;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAC;IACjD;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,OAAO,CAAC,IAAI,IAAI,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IACpC;;OAEG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAQD,oBAAY,sBAAsB;IAChC,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,kBAAkB,EAAE,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,2BAA2B,EAAE,MAAM,OAAO,CAAC;IAC3C,iBAAiB,EAAE,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,KAAK,IAAI,CAAC;CACxD;AAED,eAAO,MAAM,YAAY,oJAgLxB,CAAC"}