@rnmapbox/maps 10.0.0-beta.69 → 10.0.0-beta.71

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 (262) hide show
  1. package/android/rctmgl/build.gradle +1 -1
  2. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/annotation/RCTMGLMarkerView.kt +0 -1
  3. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/camera/RCTMGLCamera.kt +78 -53
  4. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/camera/RCTMGLCameraManager.kt +16 -13
  5. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/location/LocationComponentManager.kt +125 -83
  6. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/location/RCTMGLNativeUserLocation.kt +33 -7
  7. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/location/RCTMGLNativeUserLocationManager.kt +32 -0
  8. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/location/UserTrackingMode.kt +42 -0
  9. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/mapview/RCTMGLMapView.kt +114 -38
  10. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/mapview/helpers/CameraChangeTracker.kt +23 -0
  11. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/events/MapUserTrackingModeEvent.kt +21 -0
  12. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/location/LocationManager.kt +64 -25
  13. package/index.d.ts +14 -62
  14. package/ios/RCTMGL-v10/MGLModule.swift +1 -0
  15. package/ios/RCTMGL-v10/RCTMGLAtmosphere.swift +1 -0
  16. package/ios/RCTMGL-v10/RCTMGLBackgroundLayer.swift +1 -0
  17. package/ios/RCTMGL-v10/RCTMGLCamera.swift +52 -26
  18. package/ios/RCTMGL-v10/RCTMGLCameraManager.m +5 -2
  19. package/ios/RCTMGL-v10/RCTMGLCircleLayer.swift +1 -0
  20. package/ios/RCTMGL-v10/RCTMGLEvent.swift +1 -0
  21. package/ios/RCTMGL-v10/RCTMGLFillExtrustionLayer.swift +1 -0
  22. package/ios/RCTMGL-v10/RCTMGLFillLayer.swift +1 -0
  23. package/ios/RCTMGL-v10/RCTMGLHeatmapLayer.swift +1 -0
  24. package/ios/RCTMGL-v10/RCTMGLImages.swift +54 -8
  25. package/ios/RCTMGL-v10/RCTMGLLayer.swift +4 -0
  26. package/ios/RCTMGL-v10/RCTMGLLight.swift +5 -3
  27. package/ios/RCTMGL-v10/RCTMGLLineLayer.swift +1 -0
  28. package/ios/RCTMGL-v10/RCTMGLLocationModule.m +4 -0
  29. package/ios/RCTMGL-v10/RCTMGLLocationModule.swift +101 -5
  30. package/ios/RCTMGL-v10/RCTMGLMapView.swift +15 -2
  31. package/ios/RCTMGL-v10/RCTMGLRasterLayer.swift +1 -0
  32. package/ios/RCTMGL-v10/RCTMGLSingletonLayer.swift +4 -0
  33. package/ios/RCTMGL-v10/RCTMGLSkyLayer.swift +1 -0
  34. package/ios/RCTMGL-v10/RCTMGLStyle.swift +58 -123
  35. package/ios/RCTMGL-v10/RCTMGLStyleValue.swift +51 -5
  36. package/ios/RCTMGL-v10/RCTMGLSymbolLayer.swift +1 -0
  37. package/ios/RCTMGL-v10/RCTMGLTerrain.swift +1 -0
  38. package/ios/install.md +1 -1
  39. package/javascript/components/Camera.tsx +7 -3
  40. package/javascript/components/Images.tsx +133 -0
  41. package/javascript/components/MapView.js +22 -2
  42. package/javascript/modules/location/locationManager.ts +227 -0
  43. package/javascript/utils/MapboxStyles.d.ts +3 -3
  44. package/javascript/utils/styleMap.ts +2 -2
  45. package/lib/commonjs/classes/AnimatedCoordinatesArray.js.map +1 -1
  46. package/lib/commonjs/classes/AnimatedExtractCoordinateFromArray.js +2 -5
  47. package/lib/commonjs/classes/AnimatedExtractCoordinateFromArray.js.map +1 -1
  48. package/lib/commonjs/classes/AnimatedPoint.js.map +1 -1
  49. package/lib/commonjs/classes/AnimatedRouteCoordinatesArray.js.map +1 -1
  50. package/lib/commonjs/classes/AnimatedShape.js.map +1 -1
  51. package/lib/commonjs/classes/index.d.js.map +1 -1
  52. package/lib/commonjs/classes/index.js.map +1 -1
  53. package/lib/commonjs/components/AbstractLayer.js +6 -10
  54. package/lib/commonjs/components/AbstractLayer.js.map +1 -1
  55. package/lib/commonjs/components/AbstractSource.js +3 -10
  56. package/lib/commonjs/components/AbstractSource.js.map +1 -1
  57. package/lib/commonjs/components/Atmosphere.js.map +1 -1
  58. package/lib/commonjs/components/BackgroundLayer.js +3 -6
  59. package/lib/commonjs/components/BackgroundLayer.js.map +1 -1
  60. package/lib/commonjs/components/Callout.js +27 -30
  61. package/lib/commonjs/components/Callout.js.map +1 -1
  62. package/lib/commonjs/components/Camera.js +3 -1
  63. package/lib/commonjs/components/Camera.js.map +1 -1
  64. package/lib/commonjs/components/CircleLayer.js +3 -6
  65. package/lib/commonjs/components/CircleLayer.js.map +1 -1
  66. package/lib/commonjs/components/FillExtrusionLayer.js +3 -6
  67. package/lib/commonjs/components/FillExtrusionLayer.js.map +1 -1
  68. package/lib/commonjs/components/FillLayer.js +3 -6
  69. package/lib/commonjs/components/FillLayer.js.map +1 -1
  70. package/lib/commonjs/components/HeadingIndicator.js.map +1 -1
  71. package/lib/commonjs/components/HeatmapLayer.js +3 -6
  72. package/lib/commonjs/components/HeatmapLayer.js.map +1 -1
  73. package/lib/commonjs/components/ImageSource.js +16 -19
  74. package/lib/commonjs/components/ImageSource.js.map +1 -1
  75. package/lib/commonjs/components/Images.js +3 -34
  76. package/lib/commonjs/components/Images.js.map +1 -1
  77. package/lib/commonjs/components/Light.js +7 -10
  78. package/lib/commonjs/components/Light.js.map +1 -1
  79. package/lib/commonjs/components/LineLayer.js +3 -6
  80. package/lib/commonjs/components/LineLayer.js.map +1 -1
  81. package/lib/commonjs/components/MapView.js +241 -227
  82. package/lib/commonjs/components/MapView.js.map +1 -1
  83. package/lib/commonjs/components/MarkerView.js +9 -16
  84. package/lib/commonjs/components/MarkerView.js.map +1 -1
  85. package/lib/commonjs/components/NativeBridgeComponent.js +0 -7
  86. package/lib/commonjs/components/NativeBridgeComponent.js.map +1 -1
  87. package/lib/commonjs/components/NativeUserLocation.js.map +1 -1
  88. package/lib/commonjs/components/PointAnnotation.js +8 -11
  89. package/lib/commonjs/components/PointAnnotation.js.map +1 -1
  90. package/lib/commonjs/components/RasterDemSource.js +36 -39
  91. package/lib/commonjs/components/RasterDemSource.js.map +1 -1
  92. package/lib/commonjs/components/RasterLayer.js +3 -6
  93. package/lib/commonjs/components/RasterLayer.js.map +1 -1
  94. package/lib/commonjs/components/RasterSource.js +45 -48
  95. package/lib/commonjs/components/RasterSource.js.map +1 -1
  96. package/lib/commonjs/components/ShapeSource.js +4 -7
  97. package/lib/commonjs/components/ShapeSource.js.map +1 -1
  98. package/lib/commonjs/components/SkyLayer.js +3 -6
  99. package/lib/commonjs/components/SkyLayer.js.map +1 -1
  100. package/lib/commonjs/components/Style.js.map +1 -1
  101. package/lib/commonjs/components/SymbolLayer.js +3 -6
  102. package/lib/commonjs/components/SymbolLayer.js.map +1 -1
  103. package/lib/commonjs/components/Terrain.js.map +1 -1
  104. package/lib/commonjs/components/UserLocation.js +65 -69
  105. package/lib/commonjs/components/UserLocation.js.map +1 -1
  106. package/lib/commonjs/components/VectorSource.js +63 -66
  107. package/lib/commonjs/components/VectorSource.js.map +1 -1
  108. package/lib/commonjs/components/annotations/Annotation.js +16 -19
  109. package/lib/commonjs/components/annotations/Annotation.js.map +1 -1
  110. package/lib/commonjs/index.js.map +1 -1
  111. package/lib/commonjs/index.web.js.map +1 -1
  112. package/lib/commonjs/modules/location/locationManager.js +37 -9
  113. package/lib/commonjs/modules/location/locationManager.js.map +1 -1
  114. package/lib/commonjs/modules/offline/OfflineCreatePackOptions.js.map +1 -1
  115. package/lib/commonjs/modules/offline/OfflinePack.js.map +1 -1
  116. package/lib/commonjs/modules/offline/offlineManager.js.map +1 -1
  117. package/lib/commonjs/modules/snapshot/SnapshotOptions.js.map +1 -1
  118. package/lib/commonjs/modules/snapshot/snapshotManager.js.map +1 -1
  119. package/lib/commonjs/requestAndroidLocationPermissions.js.map +1 -1
  120. package/lib/commonjs/types/index.js.map +1 -1
  121. package/lib/commonjs/utils/BridgeValue.js +0 -4
  122. package/lib/commonjs/utils/BridgeValue.js.map +1 -1
  123. package/lib/commonjs/utils/Logger.js +1 -4
  124. package/lib/commonjs/utils/Logger.js.map +1 -1
  125. package/lib/commonjs/utils/MapboxStyles.d.js.map +1 -1
  126. package/lib/commonjs/utils/StyleValue.js.map +1 -1
  127. package/lib/commonjs/utils/animated/Animated.js.map +1 -1
  128. package/lib/commonjs/utils/deprecation.js.map +1 -1
  129. package/lib/commonjs/utils/filterUtils.js.map +1 -1
  130. package/lib/commonjs/utils/geoUtils.d.js.map +1 -1
  131. package/lib/commonjs/utils/geoUtils.js.map +1 -1
  132. package/lib/commonjs/utils/getAnnotationsLayerID.js.map +1 -1
  133. package/lib/commonjs/utils/index.d.js.map +1 -1
  134. package/lib/commonjs/utils/index.js.map +1 -1
  135. package/lib/commonjs/utils/styleMap.js +2 -2
  136. package/lib/commonjs/utils/styleMap.js.map +1 -1
  137. package/lib/commonjs/web/MapContext.js.map +1 -1
  138. package/lib/commonjs/web/MapboxModule.js.map +1 -1
  139. package/lib/commonjs/web/UnimplementedComponent.js.map +1 -1
  140. package/lib/commonjs/web/components/Camera.js +2 -9
  141. package/lib/commonjs/web/components/Camera.js.map +1 -1
  142. package/lib/commonjs/web/components/MapView.js +5 -11
  143. package/lib/commonjs/web/components/MapView.js.map +1 -1
  144. package/lib/commonjs/web/index.js.map +1 -1
  145. package/lib/commonjs/web/utils/Logger.js +3 -7
  146. package/lib/commonjs/web/utils/Logger.js.map +1 -1
  147. package/lib/module/classes/AnimatedCoordinatesArray.js.map +1 -1
  148. package/lib/module/classes/AnimatedExtractCoordinateFromArray.js +2 -5
  149. package/lib/module/classes/AnimatedExtractCoordinateFromArray.js.map +1 -1
  150. package/lib/module/classes/AnimatedPoint.js.map +1 -1
  151. package/lib/module/classes/AnimatedRouteCoordinatesArray.js.map +1 -1
  152. package/lib/module/classes/AnimatedShape.js.map +1 -1
  153. package/lib/module/classes/index.d.js.map +1 -1
  154. package/lib/module/classes/index.js.map +1 -1
  155. package/lib/module/components/AbstractLayer.js +4 -10
  156. package/lib/module/components/AbstractLayer.js.map +1 -1
  157. package/lib/module/components/AbstractSource.js +3 -10
  158. package/lib/module/components/AbstractSource.js.map +1 -1
  159. package/lib/module/components/Atmosphere.js.map +1 -1
  160. package/lib/module/components/BackgroundLayer.js +3 -6
  161. package/lib/module/components/BackgroundLayer.js.map +1 -1
  162. package/lib/module/components/Callout.js +27 -30
  163. package/lib/module/components/Callout.js.map +1 -1
  164. package/lib/module/components/Camera.js +3 -1
  165. package/lib/module/components/Camera.js.map +1 -1
  166. package/lib/module/components/CircleLayer.js +3 -6
  167. package/lib/module/components/CircleLayer.js.map +1 -1
  168. package/lib/module/components/FillExtrusionLayer.js +3 -6
  169. package/lib/module/components/FillExtrusionLayer.js.map +1 -1
  170. package/lib/module/components/FillLayer.js +3 -6
  171. package/lib/module/components/FillLayer.js.map +1 -1
  172. package/lib/module/components/HeadingIndicator.js.map +1 -1
  173. package/lib/module/components/HeatmapLayer.js +3 -6
  174. package/lib/module/components/HeatmapLayer.js.map +1 -1
  175. package/lib/module/components/ImageSource.js +16 -19
  176. package/lib/module/components/ImageSource.js.map +1 -1
  177. package/lib/module/components/Images.js +3 -34
  178. package/lib/module/components/Images.js.map +1 -1
  179. package/lib/module/components/Light.js +7 -10
  180. package/lib/module/components/Light.js.map +1 -1
  181. package/lib/module/components/LineLayer.js +3 -6
  182. package/lib/module/components/LineLayer.js.map +1 -1
  183. package/lib/module/components/MapView.js +241 -227
  184. package/lib/module/components/MapView.js.map +1 -1
  185. package/lib/module/components/MarkerView.js +9 -16
  186. package/lib/module/components/MarkerView.js.map +1 -1
  187. package/lib/module/components/NativeBridgeComponent.js +0 -7
  188. package/lib/module/components/NativeBridgeComponent.js.map +1 -1
  189. package/lib/module/components/NativeUserLocation.js.map +1 -1
  190. package/lib/module/components/PointAnnotation.js +8 -11
  191. package/lib/module/components/PointAnnotation.js.map +1 -1
  192. package/lib/module/components/RasterDemSource.js +36 -39
  193. package/lib/module/components/RasterDemSource.js.map +1 -1
  194. package/lib/module/components/RasterLayer.js +3 -6
  195. package/lib/module/components/RasterLayer.js.map +1 -1
  196. package/lib/module/components/RasterSource.js +45 -48
  197. package/lib/module/components/RasterSource.js.map +1 -1
  198. package/lib/module/components/ShapeSource.js +4 -7
  199. package/lib/module/components/ShapeSource.js.map +1 -1
  200. package/lib/module/components/SkyLayer.js +3 -6
  201. package/lib/module/components/SkyLayer.js.map +1 -1
  202. package/lib/module/components/Style.js.map +1 -1
  203. package/lib/module/components/SymbolLayer.js +3 -6
  204. package/lib/module/components/SymbolLayer.js.map +1 -1
  205. package/lib/module/components/Terrain.js.map +1 -1
  206. package/lib/module/components/UserLocation.js +65 -69
  207. package/lib/module/components/UserLocation.js.map +1 -1
  208. package/lib/module/components/VectorSource.js +63 -66
  209. package/lib/module/components/VectorSource.js.map +1 -1
  210. package/lib/module/components/annotations/Annotation.js +16 -19
  211. package/lib/module/components/annotations/Annotation.js.map +1 -1
  212. package/lib/module/modules/location/locationManager.js +38 -9
  213. package/lib/module/modules/location/locationManager.js.map +1 -1
  214. package/lib/module/modules/offline/OfflineCreatePackOptions.js.map +1 -1
  215. package/lib/module/modules/offline/OfflinePack.js.map +1 -1
  216. package/lib/module/modules/offline/offlineManager.js.map +1 -1
  217. package/lib/module/modules/snapshot/SnapshotOptions.js.map +1 -1
  218. package/lib/module/modules/snapshot/snapshotManager.js.map +1 -1
  219. package/lib/module/requestAndroidLocationPermissions.js.map +1 -1
  220. package/lib/module/types/index.js.map +1 -1
  221. package/lib/module/utils/BridgeValue.js +0 -4
  222. package/lib/module/utils/BridgeValue.js.map +1 -1
  223. package/lib/module/utils/Logger.js +1 -4
  224. package/lib/module/utils/Logger.js.map +1 -1
  225. package/lib/module/utils/MapboxStyles.d.js.map +1 -1
  226. package/lib/module/utils/StyleValue.js.map +1 -1
  227. package/lib/module/utils/animated/Animated.js.map +1 -1
  228. package/lib/module/utils/deprecation.js.map +1 -1
  229. package/lib/module/utils/filterUtils.js.map +1 -1
  230. package/lib/module/utils/geoUtils.d.js.map +1 -1
  231. package/lib/module/utils/geoUtils.js.map +1 -1
  232. package/lib/module/utils/getAnnotationsLayerID.js.map +1 -1
  233. package/lib/module/utils/index.d.js.map +1 -1
  234. package/lib/module/utils/index.js.map +1 -1
  235. package/lib/module/utils/styleMap.js +2 -2
  236. package/lib/module/utils/styleMap.js.map +1 -1
  237. package/lib/module/web/MapContext.js.map +1 -1
  238. package/lib/module/web/MapboxModule.js.map +1 -1
  239. package/lib/module/web/UnimplementedComponent.js.map +1 -1
  240. package/lib/module/web/components/Camera.js +2 -9
  241. package/lib/module/web/components/Camera.js.map +1 -1
  242. package/lib/module/web/components/MapView.js +5 -11
  243. package/lib/module/web/components/MapView.js.map +1 -1
  244. package/lib/module/web/index.js.map +1 -1
  245. package/lib/module/web/utils/Logger.js +3 -7
  246. package/lib/module/web/utils/Logger.js.map +1 -1
  247. package/lib/typescript/components/Camera.d.ts +4 -2
  248. package/lib/typescript/components/Camera.d.ts.map +1 -1
  249. package/lib/typescript/components/Images.d.ts +57 -0
  250. package/lib/typescript/components/Images.d.ts.map +1 -0
  251. package/lib/typescript/modules/location/locationManager.d.ts +87 -0
  252. package/lib/typescript/modules/location/locationManager.d.ts.map +1 -0
  253. package/lib/typescript/utils/styleMap.d.ts +2 -2
  254. package/package.json +1 -1
  255. package/rnmapbox-maps.podspec +1 -1
  256. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/location/RCTMGLNativeUserLocationManager.java +0 -34
  257. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/location/RenderMode.kt +0 -21
  258. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/location/UserTrackingMode.java +0 -54
  259. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/mapview/helpers/CameraChangeTracker.java +0 -37
  260. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/location/UserLocationVerticalAlignment.java +0 -7
  261. package/javascript/components/Images.js +0 -118
  262. package/javascript/modules/location/locationManager.js +0 -136
@@ -0,0 +1,32 @@
1
+ package com.mapbox.rctmgl.components.location
2
+
3
+ import com.facebook.react.uimanager.ThemedReactContext
4
+ import com.facebook.react.uimanager.ViewGroupManager
5
+ import com.facebook.react.uimanager.annotations.ReactProp
6
+ import com.mapbox.rctmgl.utils.Logger
7
+ import javax.annotation.Nonnull
8
+
9
+ class RCTMGLNativeUserLocationManager : ViewGroupManager<RCTMGLNativeUserLocation>() {
10
+ @Nonnull
11
+ override fun getName(): String {
12
+ return REACT_CLASS
13
+ }
14
+
15
+ @ReactProp(name = "androidRenderMode")
16
+ fun setAndroidRenderMode(userLocation: RCTMGLNativeUserLocation, mode: String) {
17
+ when (mode) {
18
+ "compass" -> userLocation.setAndroidRenderMode(RenderMode.COMPASS);
19
+ "gps" -> userLocation.setAndroidRenderMode(RenderMode.GPS);
20
+ "normal" -> userLocation.setAndroidRenderMode(RenderMode.NORMAL);
21
+ }
22
+ }
23
+
24
+ @Nonnull
25
+ override fun createViewInstance(@Nonnull reactContext: ThemedReactContext): RCTMGLNativeUserLocation {
26
+ return RCTMGLNativeUserLocation(reactContext)
27
+ }
28
+
29
+ companion object {
30
+ const val REACT_CLASS = "RCTMGLNativeUserLocation"
31
+ }
32
+ }
@@ -0,0 +1,42 @@
1
+ package com.mapbox.rctmgl.components.location
2
+
3
+ object UserTrackingMode {
4
+ const val NONE = 0
5
+ const val FOLLOW = 1
6
+ const val FollowWithCourse = 2
7
+ const val FollowWithHeading = 3
8
+ @CameraMode.Mode
9
+ fun getCameraMode(mode: Int): Int {
10
+ when (mode) {
11
+ NONE -> return CameraMode.NONE
12
+ FOLLOW -> return CameraMode.TRACKING
13
+ FollowWithCourse -> return CameraMode.TRACKING_GPS
14
+ FollowWithHeading -> return CameraMode.TRACKING_COMPASS
15
+ }
16
+ return CameraMode.NONE
17
+ }
18
+
19
+ fun isUserGesture(reason: Int): Boolean {
20
+ return reason == 1 || reason == 2 // user gesture or animation
21
+ }
22
+
23
+ fun toString(value: Int): String? {
24
+ when (value) {
25
+ FOLLOW -> return "normal"
26
+ FollowWithCourse -> return "course"
27
+ FollowWithHeading -> return "compass"
28
+ }
29
+ return null
30
+ }
31
+
32
+ fun fromString(value: String?): Int {
33
+ var value = value
34
+ if (value == null) value = ""
35
+ return when (value) {
36
+ "course" -> FollowWithCourse
37
+ "normal" -> FOLLOW
38
+ "compass" -> FollowWithHeading
39
+ else -> FOLLOW
40
+ }
41
+ }
42
+ }
@@ -15,6 +15,8 @@ import androidx.lifecycle.LifecycleRegistry
15
15
  import androidx.lifecycle.ViewTreeLifecycleOwner
16
16
  import com.facebook.react.bridge.*
17
17
  import com.mapbox.android.gestures.MoveGestureDetector
18
+ import com.mapbox.android.gestures.RotateGestureDetector
19
+ import com.mapbox.android.gestures.StandardScaleGestureDetector
18
20
  import com.mapbox.geojson.Feature
19
21
  import com.mapbox.geojson.FeatureCollection
20
22
  import com.mapbox.geojson.Point
@@ -51,6 +53,7 @@ import com.mapbox.rctmgl.components.camera.RCTMGLCamera
51
53
  import com.mapbox.rctmgl.components.images.RCTMGLImages
52
54
  import com.mapbox.rctmgl.components.location.LocationComponentManager
53
55
  import com.mapbox.rctmgl.components.location.RCTMGLNativeUserLocation
56
+ import com.mapbox.rctmgl.components.mapview.helpers.CameraChangeReason
54
57
  import com.mapbox.rctmgl.components.mapview.helpers.CameraChangeTracker
55
58
  import com.mapbox.rctmgl.components.styles.layers.RCTLayer
56
59
  import com.mapbox.rctmgl.components.styles.light.RCTMGLLight
@@ -77,11 +80,68 @@ data class OrnamentSettings(
77
80
  var position: Int = -1
78
81
  )
79
82
 
83
+ enum class MapGestureType {
84
+ Move,Scale,Rotate
85
+ }
80
86
 
81
- interface RCTMGLMapViewLifecycleOwner : LifecycleOwner {
87
+ /***
88
+ * Mapbox's MapView observers lifecycle events see MapboxLifecyclePluginImpl - (ON_START, ON_STOP, ON_DESTROY)
89
+ * We need to emulate those.
90
+ */
91
+ interface RCTMGLLifeCycleOwner : LifecycleOwner {
82
92
  fun handleLifecycleEvent(event: Lifecycle.Event)
83
93
  }
84
94
 
95
+ class RCTMGLLifeCycle {
96
+ private var lifecycleOwner : RCTMGLLifeCycleOwner? = null
97
+
98
+ fun onAttachedToWindow(view: View) {
99
+ if (lifecycleOwner == null) {
100
+ lifecycleOwner = object : RCTMGLLifeCycleOwner {
101
+ private lateinit var lifecycleRegistry: LifecycleRegistry
102
+ init {
103
+ lifecycleRegistry = LifecycleRegistry(this)
104
+ lifecycleRegistry.currentState = Lifecycle.State.CREATED
105
+ }
106
+
107
+ override fun handleLifecycleEvent(event: Lifecycle.Event) {
108
+ try {
109
+ lifecycleRegistry.handleLifecycleEvent(event)
110
+ } catch (e: RuntimeException) {
111
+ Log.e("RCTMGLMapView", "handleLifecycleEvent, handleLifecycleEvent error: $e")
112
+ }
113
+ }
114
+
115
+ override fun getLifecycle(): Lifecycle {
116
+ return lifecycleRegistry
117
+ }
118
+ }
119
+ ViewTreeLifecycleOwner.set(view, lifecycleOwner);
120
+ }
121
+ lifecycleOwner?.handleLifecycleEvent(Lifecycle.Event.ON_START)
122
+ }
123
+
124
+ fun onDetachedFromWindow() {
125
+ if (lifecycleOwner?.lifecycle?.currentState == Lifecycle.State.DESTROYED) {
126
+ return
127
+ }
128
+ lifecycleOwner?.handleLifecycleEvent(androidx.lifecycle.Lifecycle.Event.ON_STOP)
129
+ }
130
+
131
+ fun onDestroy() {
132
+ if (lifecycleOwner?.lifecycle?.currentState == Lifecycle.State.STARTED || lifecycleOwner?.lifecycle?.currentState == Lifecycle.State.RESUMED) {
133
+ lifecycleOwner?.handleLifecycleEvent(androidx.lifecycle.Lifecycle.Event.ON_STOP)
134
+ }
135
+ if (lifecycleOwner?.lifecycle?.currentState != Lifecycle.State.DESTROYED) {
136
+ lifecycleOwner?.handleLifecycleEvent(androidx.lifecycle.Lifecycle.Event.ON_DESTROY)
137
+ }
138
+ }
139
+
140
+ fun getState() : Lifecycle.State {
141
+ return lifecycleOwner?.lifecycle?.currentState ?: Lifecycle.State.INITIALIZED;
142
+ }
143
+ }
144
+
85
145
  open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapViewManager /*, MapboxMapOptions options*/) : MapView(mContext), OnMapClickListener, OnMapLongClickListener {
86
146
  /**
87
147
  * `PointAnnotations` are rendered to a canvas, but the React Native `Image` component is
@@ -201,25 +261,58 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
201
261
  gesturesPlugin.addOnMapLongClickListener(_this)
202
262
  gesturesPlugin.addOnMapClickListener(_this)
203
263
 
264
+ gesturesPlugin.addOnScaleListener(object: OnScaleListener{
265
+ override fun onScale(detector: StandardScaleGestureDetector) {
266
+ mapGesture(MapGestureType.Scale, detector)
267
+ }
268
+ override fun onScaleBegin(detector: StandardScaleGestureDetector) {
269
+ mapGestureBegin(MapGestureType.Scale, detector)
270
+ }
271
+ override fun onScaleEnd(detector: StandardScaleGestureDetector) {
272
+ mapGestureEnd(MapGestureType.Scale, detector)
273
+ }
274
+ })
275
+
276
+ gesturesPlugin.addOnRotateListener(object: OnRotateListener{
277
+ override fun onRotate(detector: RotateGestureDetector) {
278
+ mapGesture(MapGestureType.Rotate, detector)
279
+ }
280
+ override fun onRotateBegin(detector: RotateGestureDetector) {
281
+ mapGestureBegin(MapGestureType.Rotate, detector)
282
+ }
283
+ override fun onRotateEnd(detector: RotateGestureDetector) {
284
+ mapGestureEnd(MapGestureType.Rotate, detector)
285
+ }
286
+ })
287
+
204
288
  gesturesPlugin.addOnMoveListener(object : OnMoveListener {
205
289
  override fun onMoveBegin(moveGestureDetector: MoveGestureDetector) {
206
- mCameraChangeTracker.setReason(CameraChangeTracker.USER_GESTURE)
207
- handleMapChangedEvent(EventTypes.REGION_WILL_CHANGE)
290
+ mapGestureBegin(MapGestureType.Move, moveGestureDetector)
208
291
  }
209
292
 
210
293
  override fun onMove(moveGestureDetector: MoveGestureDetector): Boolean {
211
- mCameraChangeTracker.setReason(CameraChangeTracker.USER_GESTURE)
212
- handleMapChangedEvent(EventTypes.REGION_IS_CHANGING)
213
- return false
294
+ return mapGesture(MapGestureType.Move, moveGestureDetector)
214
295
  }
215
296
 
216
- override fun onMoveEnd(moveGestureDetector: MoveGestureDetector) {}
297
+ override fun onMoveEnd(moveGestureDetector: MoveGestureDetector) {
298
+ mapGestureEnd(MapGestureType.Move, moveGestureDetector)
299
+ }
217
300
  })
218
301
 
219
-
220
302
  map.subscribe({ event -> Logger.e(LOG_TAG, String.format("Map load failed: %s", event.data.toString())) }, Arrays.asList(MapEvents.MAP_LOADING_ERROR))
221
303
  }
222
304
 
305
+ fun<T> mapGestureBegin(type:MapGestureType, gesture: T) {
306
+ mCameraChangeTracker.setReason(CameraChangeReason.USER_GESTURE)
307
+ handleMapChangedEvent(EventTypes.REGION_WILL_CHANGE)
308
+ }
309
+ fun<T> mapGesture(type: MapGestureType, gesture: T): Boolean {
310
+ mCameraChangeTracker.setReason(CameraChangeReason.USER_GESTURE)
311
+ handleMapChangedEvent(EventTypes.REGION_IS_CHANGING)
312
+ return false
313
+ }
314
+ fun<T> mapGestureEnd(type: MapGestureType, gesture: T) {}
315
+
223
316
  fun init() {
224
317
  // Required for rendering properly in Android Oreo
225
318
  viewTreeObserver.dispatchOnGlobalLayout()
@@ -325,7 +418,7 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
325
418
  val event: IEvent = MapChangeEvent(this, EventTypes.REGION_DID_CHANGE,
326
419
  makeRegionPayload(isAnimated))
327
420
  mManager.handleEvent(event)
328
- mCameraChangeTracker.setReason(CameraChangeTracker.EMPTY)
421
+ mCameraChangeTracker.setReason(CameraChangeReason.NONE)
329
422
  }
330
423
 
331
424
  private fun removeAllFeaturesFromMap() {
@@ -608,7 +701,7 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
608
701
 
609
702
  fun sendRegionDidChangeEvent() {
610
703
  handleMapChangedEvent(EventTypes.REGION_DID_CHANGE)
611
- mCameraChangeTracker.setReason(CameraChangeTracker.EMPTY)
704
+ mCameraChangeTracker.setReason(CameraChangeReason.NONE)
612
705
  }
613
706
 
614
707
  private fun handleMapChangedEvent(eventType: String) {
@@ -1140,51 +1233,34 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
1140
1233
  // endregion
1141
1234
 
1142
1235
  // region lifecycle
1143
- private var lifecycleOwner : RCTMGLMapViewLifecycleOwner? = null
1236
+ private val lifecycle : RCTMGLLifeCycle by lazy { RCTMGLLifeCycle() }
1237
+
1238
+ fun getLifecycleState() : Lifecycle.State {
1239
+ return this.lifecycle.getState()
1240
+ }
1144
1241
 
1145
1242
  override fun onDetachedFromWindow() {
1146
- lifecycleOwner?.handleLifecycleEvent(Lifecycle.Event.ON_PAUSE)
1243
+ lifecycle.onDetachedFromWindow()
1147
1244
  super.onDetachedFromWindow();
1148
1245
  }
1149
1246
 
1150
1247
  override fun onDestroy() {
1151
1248
  removeAllFeatures()
1152
1249
  viewAnnotationManager.removeAllViewAnnotations()
1153
- lifecycleOwner?.handleLifecycleEvent(Lifecycle.Event.ON_DESTROY)
1250
+ mLocationComponentManager?.onDestroy();
1251
+
1252
+ lifecycle.onDestroy()
1154
1253
  super.onDestroy()
1155
1254
  }
1156
1255
 
1157
1256
  fun onDropViewInstance() {
1158
1257
  removeAllFeatures()
1159
1258
  viewAnnotationManager.removeAllViewAnnotations()
1160
- lifecycleOwner?.handleLifecycleEvent(Lifecycle.Event.ON_DESTROY)
1259
+ lifecycle.onDestroy()
1161
1260
  }
1162
1261
 
1163
1262
  override fun onAttachedToWindow() {
1164
- if (lifecycleOwner == null) {
1165
- lifecycleOwner = object : RCTMGLMapViewLifecycleOwner {
1166
- private lateinit var lifecycleRegistry: LifecycleRegistry
1167
- init {
1168
- lifecycleRegistry = LifecycleRegistry(this)
1169
- lifecycleRegistry.currentState = Lifecycle.State.CREATED
1170
- }
1171
-
1172
- override fun handleLifecycleEvent(event: Lifecycle.Event) {
1173
- try {
1174
- lifecycleRegistry.handleLifecycleEvent(event)
1175
- } catch (e: RuntimeException) {
1176
- Log.e("RCTMGLMapView", "onAttachedToWindow error: $e")
1177
- }
1178
- }
1179
-
1180
- override fun getLifecycle(): Lifecycle {
1181
- return lifecycleRegistry
1182
- }
1183
- }
1184
- ViewTreeLifecycleOwner.set(this, lifecycleOwner);
1185
- } else {
1186
- lifecycleOwner?.handleLifecycleEvent(Lifecycle.Event.ON_RESUME)
1187
- }
1263
+ lifecycle.onAttachedToWindow(this)
1188
1264
  super.onAttachedToWindow()
1189
1265
  }
1190
1266
 
@@ -0,0 +1,23 @@
1
+ package com.mapbox.rctmgl.components.mapview.helpers
2
+
3
+ enum class CameraChangeReason {
4
+ NONE,
5
+ USER_GESTURE,
6
+ DEVELOPER_ANIMATION,
7
+ SDK_ANIMATION
8
+ }
9
+
10
+ class CameraChangeTracker {
11
+ private var reason : CameraChangeReason = CameraChangeReason.NONE
12
+ var isAnimating = false
13
+ fun setReason(reason: CameraChangeReason) {
14
+ this.reason = reason
15
+ }
16
+
17
+ val isUserInteraction: Boolean
18
+ get() = reason == CameraChangeReason.USER_GESTURE || reason == CameraChangeReason.DEVELOPER_ANIMATION
19
+ val isAnimated: Boolean
20
+ get() = reason == CameraChangeReason.DEVELOPER_ANIMATION || reason == CameraChangeReason.SDK_ANIMATION
21
+ val isEmpty: Boolean
22
+ get() = reason == CameraChangeReason.NONE
23
+ }
@@ -0,0 +1,21 @@
1
+ package com.mapbox.rctmgl.events
2
+
3
+ import android.view.View
4
+ import com.facebook.react.bridge.Arguments
5
+ import com.facebook.react.bridge.WritableMap
6
+ import com.mapbox.rctmgl.components.location.UserTrackingMode
7
+ import com.mapbox.rctmgl.events.constants.EventKeys
8
+ import com.mapbox.rctmgl.events.constants.EventTypes
9
+
10
+ class MapUserTrackingModeEvent(view: View?, val userTrackingMode: Int) : AbstractEvent(view, EventTypes.MAP_USER_TRACKING_MODE_CHANGE) {
11
+ override fun getKey(): String {
12
+ return EventKeys.MAP_USER_TRACKING_MODE_CHANGE;
13
+ }
14
+
15
+ override fun getPayload(): WritableMap {
16
+ val payload = Arguments.createMap()
17
+ payload.putBoolean("followUserLocation", userTrackingMode != UserTrackingMode.NONE)
18
+ payload.putString("followUserMode", UserTrackingMode.toString(userTrackingMode))
19
+ return payload
20
+ }
21
+ }
@@ -3,8 +3,6 @@ package com.mapbox.rctmgl.location
3
3
  import android.annotation.SuppressLint
4
4
  import android.content.Context
5
5
  import android.location.Location
6
- //import com.mapbox.maps.plugin.locationcomponent.LocationConsumer.onLocationUpdated
7
- //import com.mapbox.maps.plugin.locationcomponent.LocationConsumer.onBearingUpdated
8
6
  import com.mapbox.android.core.location.LocationEngine
9
7
  import com.mapbox.android.core.location.LocationEngineCallback
10
8
  import com.mapbox.android.core.location.LocationEngineResult
@@ -20,9 +18,52 @@ import java.lang.ref.WeakReference
20
18
  import java.util.ArrayList
21
19
  import kotlin.Exception
22
20
 
23
- internal class LocationProviderForEngine(var mEngine: LocationEngine?) : LocationProvider, LocationEngineCallback<LocationEngineResult> {
21
+
22
+ open class SingletonHolder<out T, in A>(creator: (A) -> T) {
23
+ private var creator: ((A) -> T)? = creator
24
+ @Volatile private var instance: T? = null
25
+
26
+ fun getInstance(arg: A): T {
27
+ val i = instance
28
+ if (i != null) {
29
+ return i
30
+ }
31
+
32
+ return synchronized(this) {
33
+ val i2 = instance
34
+ if (i2 != null) {
35
+ i2
36
+ } else {
37
+ val created = creator!!(arg)
38
+ instance = created
39
+ creator = null
40
+ created
41
+ }
42
+ }
43
+ }
44
+ }
45
+
46
+ internal class LocationProviderForEngine(var mEngine: LocationEngine?, val context: Context) : LocationProvider, LocationEngineCallback<LocationEngineResult> {
24
47
  var mConsumers = ArrayList<LocationConsumer>()
25
- fun beforeAddingFirstConsumer() {}
48
+ @SuppressLint("MissingPermission")
49
+ fun beforeAddingFirstConsumer() {
50
+ val request = LocationEngineRequest.Builder(LocationManager.DEFAULT_INTERVAL_MILLIS
51
+ )
52
+ .setFastestInterval(LocationManager.DEFAULT_FASTEST_INTERVAL_MILLIS)
53
+ .setPriority(LocationEngineRequest.PRIORITY_HIGH_ACCURACY)
54
+ .build();
55
+
56
+ if (!PermissionsManager.areLocationPermissionsGranted(context)) {
57
+ return
58
+ }
59
+
60
+ mEngine?.requestLocationUpdates(
61
+ request,
62
+ this,
63
+ Looper.getMainLooper()
64
+ )
65
+
66
+ }
26
67
  fun afterRemovedLastConsumer() {}
27
68
  @SuppressLint("MissingPermission")
28
69
  override fun registerLocationConsumer(locationConsumer: LocationConsumer) {
@@ -66,25 +107,29 @@ class LocationManager private constructor(private val context: Context) : Locati
66
107
  private var isActive = false
67
108
  private var lastLocation: Location? = null
68
109
  private var locationEngineRequest: LocationEngineRequest? = null
69
- private var locationProvider: LocationProviderForEngine? = null
70
- private var nStarts : Int = 0;
71
- private var isPaused : Boolean = false;
72
-
110
+ private var locationProvider: LocationProvider? = null
111
+ private var nStarts : Int = 0
112
+ private var isPaused : Boolean = false
73
113
 
74
-
75
- val provider: LocationProvider
114
+ var provider: LocationProvider
76
115
  get() {
77
- if (locationProvider == null) {
78
- locationProvider = LocationProviderForEngine(engine)
116
+ var ret = locationProvider
117
+ if (ret == null) {
118
+ val engine = LocationProviderForEngine(engine, context)
119
+ locationProvider = engine
120
+ return engine
121
+ } else {
122
+ return ret
79
123
  }
80
- return locationProvider!!
124
+ }
125
+ set(value) {
126
+ locationProvider = value
81
127
  }
82
128
 
83
129
  interface OnUserLocationChange {
84
130
  fun onLocationChange(location: Location?)
85
131
  }
86
132
 
87
-
88
133
  /// public interface
89
134
 
90
135
  fun startCounted() {
@@ -228,23 +273,17 @@ class LocationManager private constructor(private val context: Context) : Locati
228
273
 
229
274
  override fun onSuccess(result: LocationEngineResult?) {
230
275
  onLocationChanged(result?.lastLocation)
231
- if (locationProvider != null) {
232
- locationProvider!!.onSuccess(result)
276
+ val provider = locationProvider
277
+ if (provider != null && provider is LocationProviderForEngine) {
278
+ provider.onSuccess(result)
233
279
  }
234
280
  }
235
281
 
236
- companion object {
282
+ companion object : SingletonHolder<LocationManager, Context>(::LocationManager) {
237
283
  const val DEFAULT_FASTEST_INTERVAL_MILLIS: Long = 1000
238
284
  const val DEFAULT_INTERVAL_MILLIS: Long = 1000
239
285
  const val LOG_TAG = "LocationManager"
240
- private var INSTANCE: WeakReference<LocationManager>? = null
241
- @JvmStatic
242
- fun getInstance(context: Context): LocationManager? {
243
- if (INSTANCE == null) {
244
- INSTANCE = WeakReference(LocationManager(context))
245
- }
246
- return INSTANCE!!.get()
247
- }
286
+
248
287
  }
249
288
 
250
289
  init {
package/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  declare module 'react-native-mapbox-gl__maps';
2
2
 
3
- import { Component, ReactNode } from 'react';
3
+ import { Component, FC, ReactNode } from 'react';
4
4
  import {
5
5
  ViewProps,
6
6
  ViewStyle,
@@ -47,6 +47,7 @@ import {
47
47
  type UserTrackingMode as _UserTrackingMode,
48
48
  type UserTrackingModeChangeCallback as _UserTrackingModeChangeCallback,
49
49
  } from './javascript/components/Camera';
50
+ import { Images as _Images } from './javascript/components/Images';
50
51
  import { MarkerView as _MarkerView } from './javascript/components/MarkerView';
51
52
  import { PointAnnotation as _PointAnnotation } from './javascript/components/PointAnnotation';
52
53
  import { Atmosphere as _Atmosphere } from './javascript/components/Atmosphere';
@@ -74,6 +75,10 @@ import type {
74
75
  AnimatedShape as _AnimatedShape,
75
76
  } from './javascript/types/index';
76
77
  import type { requestAndroidLocationPermissions as _requestAndroidLocationPermissions } from './javascript/requestAndroidLocationPermissions';
78
+ import type {
79
+ Location as _Location,
80
+ LocationManager,
81
+ } from './javascript/locationManager';
77
82
 
78
83
  // prettier-ignore
79
84
  type ExpressionName =
@@ -172,6 +177,7 @@ declare namespace MapboxGL {
172
177
  type MapboxGLEvent = _MapboxGLEvent;
173
178
  type UserTrackingMode = _UserTrackingMode;
174
179
  type UserTrackingModeChangeCallback = _UserTrackingModeChangeCallback;
180
+ type Location = _Location;
175
181
 
176
182
  const offlineManager: OfflineManager;
177
183
  const snapshotManager: SnapshotManager;
@@ -324,56 +330,10 @@ declare namespace MapboxGL {
324
330
 
325
331
  class UserLocation extends Component<UserLocationProps> {}
326
332
 
327
- interface Location {
328
- coords: Coordinates;
329
- timestamp?: number;
330
- }
331
-
332
- interface Coordinates {
333
- /**
334
- * The heading (measured in degrees) relative to true north.
335
- * Heading is used to describe the direction the device is pointing to (the value of the compass).
336
- * Note that on Android this is incorrectly reporting the course value as mentioned in issue https://github.com/rnmapbox/maps/issues/1213
337
- * and will be corrected in a future update.
338
- */
339
- heading?: number;
340
-
341
- /**
342
- * The direction in which the device is traveling, measured in degrees and relative to due north.
343
- * The course refers to the direction the device is actually moving (not the same as heading).
344
- */
345
- course?: number;
346
-
347
- /**
348
- * The instantaneous speed of the device, measured in meters per second.
349
- */
350
- speed?: number;
351
-
352
- /**
353
- * The latitude in degrees.
354
- */
355
- latitude: number;
356
-
357
- /**
358
- * The longitude in degrees.
359
- */
360
- longitude: number;
361
-
362
- /**
363
- * The radius of uncertainty for the location, measured in meters.
364
- */
365
- accuracy?: number;
366
-
367
- /**
368
- * The altitude, measured in meters.
369
- */
370
- altitude?: number;
371
- }
372
-
373
333
  class Light extends Component<LightProps> {}
374
334
 
375
335
  class Callout extends Component<CalloutProps> {}
376
- type Style = React.FC<StyleProps>;
336
+ type Style = FC<StyleProps>;
377
337
 
378
338
  /**
379
339
  * Sources
@@ -392,14 +352,12 @@ declare namespace MapboxGL {
392
352
  class LineLayer extends Component<_LineLayerProps> {}
393
353
  class RasterLayer extends Component<_RasterLayerProps> {}
394
354
  class HeatmapLayer extends Component<_HeatmapLayerProps> {}
395
- class Images extends Component<ImagesProps> {}
396
355
  class ImageSource extends Component<ImageSourceProps> {}
397
356
  class SkyLayer extends Component<_SkyLayerProps> {}
398
357
 
399
- class LocationManager extends Component {
400
- start(displacement?: number): void;
401
- stop(): void;
402
- }
358
+ type Location = _Location;
359
+ type Images = _Images;
360
+ const Images = _Images;
403
361
 
404
362
  /**
405
363
  * Offline
@@ -533,7 +491,6 @@ export interface MapState {
533
491
  export interface MapViewProps extends ViewProps {
534
492
  animated?: boolean;
535
493
  userTrackingMode?: MapboxGL.UserTrackingModes;
536
- userLocationVerticalAlignment?: number;
537
494
  contentInset?: Array<number>;
538
495
  projection?: 'mercator' | 'globe';
539
496
  style?: StyleProp<ViewStyle>;
@@ -575,7 +532,7 @@ export interface MapViewProps extends ViewProps {
575
532
  ) => void;
576
533
  onCameraChanged?: (state: MapState) => void;
577
534
  onMapIdle?: (state: MapState) => void;
578
- onUserLocationUpdate?: (feature: MapboxGL.Location) => void;
535
+ onUserLocationUpdate?: (feature: Location) => void;
579
536
  onWillStartLoadingMap?: () => void;
580
537
  onDidFinishLoadingMap?: () => void;
581
538
  onDidFailLoadingMap?: () => void;
@@ -596,7 +553,7 @@ export interface UserLocationProps {
596
553
  minDisplacement?: number;
597
554
  requestsAlwaysUse?: boolean;
598
555
  onPress?: () => void;
599
- onUpdate?: (location: MapboxGL.Location) => void;
556
+ onUpdate?: (location: Location) => void;
600
557
  renderMode?: 'normal' | 'native';
601
558
  showsUserHeadingIndicator?: boolean;
602
559
  visible?: boolean;
@@ -734,12 +691,6 @@ export interface HeatmapLayerProps extends LayerBaseProps {
734
691
  style?: StyleProp<HeatmapLayerStyle>;
735
692
  }
736
693
 
737
- export interface ImagesProps extends ViewProps {
738
- images?: { assets?: string[] } & { [key: string]: ImageSourcePropType };
739
- nativeAssetImages?: string[];
740
- onImageMissing?: (imageKey: string) => void;
741
- }
742
-
743
694
  export interface ImageSourceProps extends ViewProps {
744
695
  id: string;
745
696
  url?: number | string;
@@ -828,6 +779,7 @@ export import AnimatedPoint = MapboxGL.AnimatedPoint;
828
779
  /** @deprecated This will be removed in a future release. Use `AnimatedPoint` instead. */
829
780
  export import AnimatedMapPoint = MapboxGL.AnimatedPoint;
830
781
  export import AnimatedShape = MapboxGL.AnimatedShape;
782
+ export import Images = MapboxGL.Images;
831
783
 
832
784
  export const { offlineManager } = MapboxGL;
833
785
 
@@ -55,6 +55,7 @@ class MGLModule : NSObject {
55
55
  "WillStartLoadingMap": RCTMGLEvent.EventType.willStartLoadingMap.rawValue,
56
56
  "DidFinishLoadingStyle": RCTMGLEvent.EventType.didFinishLoadingStyle.rawValue,
57
57
  "DidFinishLoadingMap": RCTMGLEvent.EventType.didFinishLoadingMap.rawValue,
58
+ "MapLoadingError": RCTMGLEvent.EventType.mapLoadingError.rawValue,
58
59
  "DidFinishRenderingFrameFully": RCTMGLEvent.EventType.didFinishRenderingFully.rawValue,
59
60
  "DidFinishRenderingFrame": RCTMGLEvent.EventType.didFinishRendering.rawValue,
60
61
  ],
@@ -56,6 +56,7 @@ class RCTMGLAtmosphere : RCTMGLSingletonLayer, RCTMGLMapComponent, RCTMGLSourceC
56
56
  styler.atmosphereLayer(
57
57
  layer: &atmosphere,
58
58
  reactStyle: reactStyle,
59
+ oldReactStyle: oldReactStyle,
59
60
  applyUpdater: { (updater) in fatalError("Atmosphere: TODO - implement apply updater")},
60
61
  isValid: { fatalError("Atmosphere: TODO - no isValid") }
61
62
  )
@@ -33,6 +33,7 @@ class RCTMGLBackgroundLayer: RCTMGLLayer {
33
33
  styler.backgroundLayer(
34
34
  layer: &styleLayer,
35
35
  reactStyle: reactStyle,
36
+ oldReactStyle: oldReatStyle,
36
37
  applyUpdater: { (updater) in logged("RCTMGLBackgroundLayer.addStyles") {
37
38
  try style.updateLayer(withId: self.id, type: LayerType.self) { (layer: inout LayerType) in updater(&layer) }
38
39
  }},