react-native-maps 2.0.0-beta.1 → 2.0.0-beta.10

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 (186) hide show
  1. package/README.md +34 -11
  2. package/android/build.gradle +41 -10
  3. package/android/gradle/wrapper/gradle-wrapper.properties +1 -1
  4. package/android/src/main/java/com/rnmaps/maps/MapCalloutManager.java +1 -1
  5. package/android/src/main/java/com/rnmaps/maps/MapCircleManager.java +1 -1
  6. package/android/src/main/java/com/rnmaps/maps/MapGradientPolyline.java +4 -4
  7. package/android/src/main/java/com/rnmaps/maps/MapGradientPolylineManager.java +1 -1
  8. package/android/src/main/java/com/rnmaps/maps/MapHeatmapManager.java +1 -1
  9. package/android/src/main/java/com/rnmaps/maps/MapLiteManager.java +1 -1
  10. package/android/src/main/java/com/rnmaps/maps/MapLocalTile.java +4 -4
  11. package/android/src/main/java/com/rnmaps/maps/MapLocalTileManager.java +1 -1
  12. package/android/src/main/java/com/rnmaps/maps/MapManager.java +6 -63
  13. package/android/src/main/java/com/rnmaps/maps/MapMarker.java +2 -2
  14. package/android/src/main/java/com/rnmaps/maps/MapMarkerManager.java +10 -27
  15. package/android/src/main/java/com/rnmaps/maps/MapOverlayManager.java +1 -1
  16. package/android/src/main/java/com/rnmaps/maps/MapPolygonManager.java +1 -1
  17. package/android/src/main/java/com/rnmaps/maps/MapPolylineManager.java +1 -1
  18. package/android/src/main/java/com/rnmaps/maps/MapTileProvider.java +7 -5
  19. package/android/src/main/java/com/rnmaps/maps/MapUrlTileManager.java +1 -1
  20. package/android/src/main/java/com/rnmaps/maps/MapView.java +72 -150
  21. package/android/src/main/java/com/rnmaps/maps/MapViewModule.java +598 -0
  22. package/android/src/main/java/com/rnmaps/maps/MapWMSTile.java +6 -6
  23. package/android/src/main/java/com/rnmaps/maps/MapWMSTileManager.java +1 -1
  24. package/android/src/main/java/com/rnmaps/maps/MapsPackage.java +1 -1
  25. package/android/src/main/java/com/rnmaps/maps/SizeReportingShadowNode.java +1 -1
  26. package/ios/{AirGoogleMaps → GoogleMaps}/RCTConvert+GMSMapViewType.m +8 -0
  27. package/ios/{AirGoogleMaps/AIRDummyView.h → GoogleMaps/RNMDummyView.h} +3 -3
  28. package/ios/{AirGoogleMaps/AIRDummyView.m → GoogleMaps/RNMDummyView.m} +4 -4
  29. package/ios/{AirGoogleMaps/AIRGMSMarker.h → GoogleMaps/RNMGMSMarker.h} +6 -6
  30. package/ios/{AirGoogleMaps/AIRGMSMarker.m → GoogleMaps/RNMGMSMarker.m} +4 -4
  31. package/ios/{AirGoogleMaps/AIRGMSPolygon.h → GoogleMaps/RNMGMSPolygon.h} +4 -4
  32. package/ios/{AirGoogleMaps/AIRGMSPolygon.m → GoogleMaps/RNMGMSPolygon.m} +4 -4
  33. package/ios/{AirGoogleMaps/AIRGMSPolyline.h → GoogleMaps/RNMGMSPolyline.h} +4 -4
  34. package/ios/{AirGoogleMaps/AIRGMSPolyline.m → GoogleMaps/RNMGMSPolyline.m} +4 -4
  35. package/ios/{AirGoogleMaps/AIRGoogleMap.h → GoogleMaps/RNMGoogleMap.h} +5 -5
  36. package/ios/{AirGoogleMaps/AIRGoogleMap.m → GoogleMaps/RNMGoogleMap.m} +81 -77
  37. package/ios/{AirGoogleMaps/AIRGoogleMapCallout.h → GoogleMaps/RNMGoogleMapCallout.h} +3 -3
  38. package/ios/{AirGoogleMaps/AIRGoogleMapCallout.m → GoogleMaps/RNMGoogleMapCallout.m} +4 -4
  39. package/ios/{AirGoogleMaps/AIRGoogleMapCalloutManager.h → GoogleMaps/RNMGoogleMapCalloutManager.h} +3 -3
  40. package/ios/{AirGoogleMaps/AIRGoogleMapCalloutManager.m → GoogleMaps/RNMGoogleMapCalloutManager.m} +7 -7
  41. package/ios/{AirGoogleMaps/AIRGoogleMapCalloutSubview.h → GoogleMaps/RNMGoogleMapCalloutSubview.h} +3 -3
  42. package/ios/{AirGoogleMaps/AIRGoogleMapCalloutSubview.m → GoogleMaps/RNMGoogleMapCalloutSubview.m} +4 -4
  43. package/ios/{AirGoogleMaps/AIRGoogleMapCalloutSubviewManager.h → GoogleMaps/RNMGoogleMapCalloutSubviewManager.h} +3 -3
  44. package/ios/GoogleMaps/RNMGoogleMapCalloutSubviewManager.m +28 -0
  45. package/ios/{AirGoogleMaps/AIRGoogleMapCircle.h → GoogleMaps/RNMGoogleMapCircle.h} +3 -3
  46. package/ios/{AirGoogleMaps/AIRGoogleMapCircle.m → GoogleMaps/RNMGoogleMapCircle.m} +3 -3
  47. package/ios/{AirGoogleMaps/AIRGoogleMapCircleManager.h → GoogleMaps/RNMGoogleMapCircleManager.h} +2 -2
  48. package/ios/{AirGoogleMaps/AIRGoogleMapCircleManager.m → GoogleMaps/RNMGoogleMapCircleManager.m} +7 -7
  49. package/ios/{AirGoogleMaps/AIRGoogleMapHeatmap.h → GoogleMaps/RNMGoogleMapHeatmap.h} +3 -3
  50. package/ios/{AirGoogleMaps/AIRGoogleMapHeatmap.m → GoogleMaps/RNMGoogleMapHeatmap.m} +4 -4
  51. package/ios/GoogleMaps/RNMGoogleMapHeatmapManager.h +11 -0
  52. package/ios/{AirGoogleMaps/AIRGoogleMapHeatmapManager.m → GoogleMaps/RNMGoogleMapHeatmapManager.m} +9 -9
  53. package/ios/{AirGoogleMaps/AIRGoogleMapManager.h → GoogleMaps/RNMGoogleMapManager.h} +3 -3
  54. package/ios/GoogleMaps/RNMGoogleMapManager.m +256 -0
  55. package/ios/{AirGoogleMaps/AIRGoogleMapMarker.h → GoogleMaps/RNMGoogleMapMarker.h} +15 -15
  56. package/ios/{AirGoogleMaps/AIRGoogleMapMarker.m → GoogleMaps/RNMGoogleMapMarker.m} +23 -23
  57. package/ios/{AirGoogleMaps/AIRGoogleMapMarkerManager.h → GoogleMaps/RNMGoogleMapMarkerManager.h} +3 -3
  58. package/ios/{AirGoogleMaps/AIRGoogleMapMarkerManager.m → GoogleMaps/RNMGoogleMapMarkerManager.m} +20 -20
  59. package/ios/{AirGoogleMaps/AIRGoogleMapOverlay.h → GoogleMaps/RNMGoogleMapOverlay.h} +4 -4
  60. package/ios/{AirGoogleMaps/AIRGoogleMapOverlay.m → GoogleMaps/RNMGoogleMapOverlay.m} +4 -4
  61. package/ios/{AirGoogleMaps/AIRGoogleMapOverlayManager.h → GoogleMaps/RNMGoogleMapOverlayManager.h} +2 -2
  62. package/ios/{AirGoogleMaps/AIRGoogleMapOverlayManager.m → GoogleMaps/RNMGoogleMapOverlayManager.m} +6 -6
  63. package/ios/{AirGoogleMaps/AIRGoogleMapPolygon.h → GoogleMaps/RNMGoogleMapPolygon.h} +7 -7
  64. package/ios/{AirGoogleMaps/AIRGoogleMapPolygon.m → GoogleMaps/RNMGoogleMapPolygon.m} +7 -7
  65. package/ios/{AirGoogleMaps/AIRGoogleMapPolylineManager.h → GoogleMaps/RNMGoogleMapPolygonManager.h} +2 -2
  66. package/ios/{AirGoogleMaps/AIRGoogleMapPolygonManager.m → GoogleMaps/RNMGoogleMapPolygonManager.m} +10 -10
  67. package/ios/{AirGoogleMaps/AIRGoogleMapPolyline.h → GoogleMaps/RNMGoogleMapPolyline.h} +7 -7
  68. package/ios/{AirGoogleMaps/AIRGoogleMapPolyline.m → GoogleMaps/RNMGoogleMapPolyline.m} +9 -9
  69. package/ios/{AirGoogleMaps/AIRGoogleMapPolygonManager.h → GoogleMaps/RNMGoogleMapPolylineManager.h} +2 -2
  70. package/ios/{AirGoogleMaps/AIRGoogleMapPolylineManager.m → GoogleMaps/RNMGoogleMapPolylineManager.m} +9 -9
  71. package/ios/{AirGoogleMaps/AIRGoogleMapUrlTile.h → GoogleMaps/RNMGoogleMapUrlTile.h} +2 -2
  72. package/ios/{AirGoogleMaps/AIRGoogleMapUrlTile.m → GoogleMaps/RNMGoogleMapUrlTile.m} +3 -3
  73. package/ios/{AirGoogleMaps/AIRGoogleMapUrlTileManager.h → GoogleMaps/RNMGoogleMapUrlTileManager.h} +2 -2
  74. package/ios/{AirGoogleMaps/AIRGoogleMapURLTileManager.m → GoogleMaps/RNMGoogleMapUrlTileManager.m} +7 -7
  75. package/ios/GoogleMaps/RNMGoogleMapViewModule.h +5 -0
  76. package/ios/GoogleMaps/RNMGoogleMapViewModule.m +380 -0
  77. package/ios/{AirGoogleMaps/AIRGoogleMapWMSTile.h → GoogleMaps/RNMGoogleMapWMSTile.h} +3 -3
  78. package/ios/{AirGoogleMaps/AIRGoogleMapWMSTile.m → GoogleMaps/RNMGoogleMapWMSTile.m} +4 -4
  79. package/ios/{AirGoogleMaps/AIRGoogleMapWMSTileManager.h → GoogleMaps/RNMGoogleMapWMSTileManager.h} +3 -3
  80. package/ios/{AirGoogleMaps/AIRGoogleMapWMSTileManager.m → GoogleMaps/RNMGoogleMapWMSTileManager.m} +8 -8
  81. package/ios/{AirMaps → Maps}/Callout/SMCalloutView.h +4 -4
  82. package/ios/{AirMaps/RCTConvert+AirMap.h → Maps/RCTConvert+RNMMap.h} +1 -1
  83. package/ios/{AirMaps/RCTConvert+AirMap.m → Maps/RCTConvert+RNMMap.m} +25 -8
  84. package/ios/{AirMaps/AIRMap.h → Maps/RNMMap.h} +8 -8
  85. package/ios/{AirMaps/AIRMap.m → Maps/RNMMap.m} +60 -56
  86. package/ios/{AirMaps/AIRMapCallout.h → Maps/RNMMapCallout.h} +1 -1
  87. package/ios/{AirMaps/AIRMapCallout.m → Maps/RNMMapCallout.m} +2 -2
  88. package/ios/{AirMaps/AIRMapCircleManager.h → Maps/RNMMapCalloutManager.h} +2 -2
  89. package/ios/{AirMaps/AIRMapCalloutManager.m → Maps/RNMMapCalloutManager.m} +7 -7
  90. package/ios/{AirMaps/AIRMapCalloutSubview.h → Maps/RNMMapCalloutSubview.h} +3 -3
  91. package/ios/{AirMaps/AIRMapCalloutSubview.m → Maps/RNMMapCalloutSubview.m} +4 -4
  92. package/ios/Maps/RNMMapCalloutSubviewManager.h +14 -0
  93. package/ios/Maps/RNMMapCalloutSubviewManager.m +24 -0
  94. package/ios/{AirMaps/AIRMapCircle.h → Maps/RNMMapCircle.h} +5 -5
  95. package/ios/{AirMaps/AIRMapCircle.m → Maps/RNMMapCircle.m} +3 -3
  96. package/ios/{AirMaps/AIRMapCalloutManager.h → Maps/RNMMapCircleManager.h} +2 -2
  97. package/ios/{AirMaps/AIRMapCircleManager.m → Maps/RNMMapCircleManager.m} +7 -7
  98. package/ios/{AirMaps/AIRMapCoordinate.h → Maps/RNMMapCoordinate.h} +2 -2
  99. package/ios/{AirMaps/AIRMapCoordinate.m → Maps/RNMMapCoordinate.m} +3 -3
  100. package/ios/{AirMaps/AIRMapLocalTile.h → Maps/RNMMapLocalTile.h} +7 -7
  101. package/ios/{AirMaps/AIRMapLocalTile.m → Maps/RNMMapLocalTile.m} +6 -6
  102. package/ios/{AirMaps/AIRMapLocalTileManager.h → Maps/RNMMapLocalTileManager.h} +3 -3
  103. package/ios/{AirMaps/AIRMapLocalTileManager.m → Maps/RNMMapLocalTileManager.m} +9 -9
  104. package/ios/{AirMaps/AIRMapLocalTileOverlay.h → Maps/RNMMapLocalTileOverlay.h} +2 -2
  105. package/ios/{AirMaps/AIRMapLocalTileOverlay.m → Maps/RNMMapLocalTileOverlay.m} +5 -5
  106. package/ios/{AirMaps/AIRMapManager.h → Maps/RNMMapManager.h} +6 -6
  107. package/ios/Maps/RNMMapManager.m +854 -0
  108. package/ios/{AirMaps/AIRMapMarker.h → Maps/RNMMapMarker.h} +8 -8
  109. package/ios/{AirMaps/AIRMapMarker.m → Maps/RNMMapMarker.m} +13 -13
  110. package/ios/{AirMaps/AIRMapMarkerManager.h → Maps/RNMMapMarkerManager.h} +1 -1
  111. package/ios/{AirMaps/AIRMapMarkerManager.m → Maps/RNMMapMarkerManager.m} +14 -14
  112. package/ios/{AirMaps/AIRMapOverlay.h → Maps/RNMMapOverlay.h} +7 -7
  113. package/ios/{AirMaps/AIRMapOverlay.m → Maps/RNMMapOverlay.m} +4 -4
  114. package/ios/Maps/RNMMapOverlayManager.h +5 -0
  115. package/ios/{AirMaps/AIRMapOverlayManager.m → Maps/RNMMapOverlayManager.m} +6 -6
  116. package/ios/{AirMaps/AIRMapOverlayRenderer.h → Maps/RNMMapOverlayRenderer.h} +1 -1
  117. package/ios/{AirMaps/AIRMapOverlayRenderer.m → Maps/RNMMapOverlayRenderer.m} +5 -5
  118. package/ios/{AirMaps/AIRMapPolygon.h → Maps/RNMMapPolygon.h} +7 -7
  119. package/ios/{AirMaps/AIRMapPolygon.m → Maps/RNMMapPolygon.m} +4 -4
  120. package/ios/{AirMaps/AIRMapPolygonManager.h → Maps/RNMMapPolygonManager.h} +2 -2
  121. package/ios/{AirMaps/AIRMapPolygonManager.m → Maps/RNMMapPolygonManager.m} +10 -10
  122. package/ios/{AirMaps/AIRMapPolyline.h → Maps/RNMMapPolyline.h} +6 -6
  123. package/ios/{AirMaps/AIRMapPolyline.m → Maps/RNMMapPolyline.m} +11 -11
  124. package/ios/{AirMaps/AIRMapPolylineManager.h → Maps/RNMMapPolylineManager.h} +2 -2
  125. package/ios/{AirMaps/AIRMapPolylineManager.m → Maps/RNMMapPolylineManager.m} +9 -9
  126. package/ios/{AirMaps/AIRMapPolylineRenderer.h → Maps/RNMMapPolylineRenderer.h} +2 -2
  127. package/ios/{AirMaps/AIRMapPolylineRenderer.m → Maps/RNMMapPolylineRenderer.m} +10 -10
  128. package/ios/{AirMaps/AIRMapSnapshot.h → Maps/RNMMapSnapshot.h} +6 -6
  129. package/ios/{AirMaps/AIRMapUrlTile.h → Maps/RNMMapUrlTile.h} +18 -18
  130. package/ios/{AirMaps/AIRMapUrlTile.m → Maps/RNMMapUrlTile.m} +7 -7
  131. package/ios/{AirMaps/AIRMapUrlTileCachedOverlay.h → Maps/RNMMapUrlTileCachedOverlay.h} +3 -3
  132. package/ios/{AirMaps/AIRMapUrlTileCachedOverlay.m → Maps/RNMMapUrlTileCachedOverlay.m} +10 -10
  133. package/ios/{AirMaps/AIRMapUrlTileManager.h → Maps/RNMMapUrlTileManager.h} +3 -3
  134. package/ios/{AirMaps/AIRMapUrlTileManager.m → Maps/RNMMapUrlTileManager.m} +9 -9
  135. package/ios/Maps/RNMMapViewModule.h +5 -0
  136. package/ios/Maps/RNMMapViewModule.m +459 -0
  137. package/ios/{AirMaps/AIRMapWMSTile.h → Maps/RNMMapWMSTile.h} +11 -11
  138. package/ios/{AirMaps/AIRMapWMSTile.m → Maps/RNMMapWMSTile.m} +15 -15
  139. package/ios/{AirMaps/AIRMapWMSTileManager.h → Maps/RNMMapWMSTileManager.h} +3 -3
  140. package/ios/{AirMaps/AIRMapWMSTileManager.m → Maps/RNMMapWMSTileManager.m} +9 -9
  141. package/ios/RNMaps.xcodeproj/project.pbxproj +647 -0
  142. package/lib/Geojson.d.ts +1 -1
  143. package/lib/MapCallout.js +2 -2
  144. package/lib/MapCalloutSubview.js +2 -2
  145. package/lib/MapCircle.js +2 -2
  146. package/lib/MapHeatmap.js +2 -2
  147. package/lib/MapLocalTile.js +2 -2
  148. package/lib/MapMarker.d.ts +2 -3
  149. package/lib/MapMarker.js +2 -4
  150. package/lib/MapOverlay.d.ts +1 -2
  151. package/lib/MapOverlay.js +2 -4
  152. package/lib/MapPolygon.js +2 -2
  153. package/lib/MapPolyline.js +2 -2
  154. package/lib/MapUrlTile.js +2 -2
  155. package/lib/MapView.d.ts +14 -14
  156. package/lib/MapView.js +92 -107
  157. package/lib/MapView.types.d.ts +8 -3
  158. package/lib/MapViewNativeComponent.d.ts +1 -8
  159. package/lib/MapViewNativeComponent.js +1 -10
  160. package/lib/MapWMSTile.js +2 -2
  161. package/lib/NativeGoogleMapViewModule.d.ts +25 -0
  162. package/lib/NativeGoogleMapViewModule.js +4 -0
  163. package/lib/NativeMapViewModule.d.ts +29 -0
  164. package/lib/NativeMapViewModule.js +4 -0
  165. package/lib/decorateMapComponent.d.ts +1 -1
  166. package/lib/decorateMapComponent.js +3 -3
  167. package/lib/index.d.ts +14 -21
  168. package/lib/index.js +10 -38
  169. package/package.json +6 -6
  170. package/react-native-google-maps.podspec +1 -1
  171. package/react-native-maps.podspec +2 -2
  172. package/android/src/main/java/com/rnmaps/maps/MapModule.java +0 -380
  173. package/ios/AirGoogleMaps/AIRGoogleMapCalloutSubviewManager.m +0 -28
  174. package/ios/AirGoogleMaps/AIRGoogleMapHeatmapManager.h +0 -11
  175. package/ios/AirGoogleMaps/AIRGoogleMapManager.m +0 -597
  176. package/ios/AirMaps/AIRMapCalloutSubviewManager.h +0 -14
  177. package/ios/AirMaps/AIRMapCalloutSubviewManager.m +0 -24
  178. package/ios/AirMaps/AIRMapManager.m +0 -1253
  179. package/ios/AirMaps/AIRMapOverlayManager.h +0 -5
  180. package/ios/AirMaps/AIRWeakMapReference.h +0 -24
  181. package/ios/AirMaps/AIRWeakMapReference.m +0 -23
  182. package/ios/AirMaps/AIRWeakTimerReference.h +0 -21
  183. package/ios/AirMaps/AIRWeakTimerReference.m +0 -42
  184. package/ios/AirMaps.xcodeproj/project.pbxproj +0 -587
  185. /package/ios/{AirGoogleMaps → GoogleMaps}/RCTConvert+GMSMapViewType.h +0 -0
  186. /package/ios/{AirMaps → Maps}/Callout/SMCalloutView.m +0 -0
package/README.md CHANGED
@@ -14,7 +14,7 @@ See [Setup Instructions for the Included Example Project](docs/examples-setup.md
14
14
 
15
15
  ## Compatibility
16
16
 
17
- `react-native-maps` requires `react-native >= 0.64.3`.
17
+ `react-native-maps` requires `react-native >= 0.69.0`.
18
18
 
19
19
  ## Component API
20
20
 
@@ -52,9 +52,30 @@ This MapView component is built so that features on the map (such as Markers, Po
52
52
  specified as children of the MapView itself. This provides an intuitive and react-like API for
53
53
  declaratively controlling features on the map.
54
54
 
55
+ ### Getting a component reference when using typescript
56
+
57
+ Most components besides the `MapView` is dynamically exported from `react-native-maps`. This means that typescript isn't able to automatically infer the instance type for the compoenent, which is needed when adding a reference. To fix this, use the `InstanceType` utility type, e.g.:
58
+
59
+ ```tsx
60
+ import React from 'react';
61
+ import MapView, {Marker} from 'react-native-maps';
62
+
63
+ export default function App() {
64
+ const markerRef = React.useRef<InstanceType<typeof Marker>>(null);
65
+ return (
66
+ <MapView style={{flex: 1}}>
67
+ <Marker
68
+ ref={markerRef}
69
+ coordinate={{latitude: 37.78825, longitude: -122.4324}}
70
+ />
71
+ </MapView>
72
+ );
73
+ }
74
+ ```
75
+
55
76
  ### Rendering a Map with an initial region
56
77
 
57
- ## MapView
78
+ ### MapView
58
79
 
59
80
  ```jsx
60
81
  <MapView
@@ -278,11 +299,7 @@ import MapView, { PROVIDER_GOOGLE } from 'react-native-maps'
278
299
  >
279
300
  ```
280
301
 
281
- Then add the AirGoogleMaps directory:
282
-
283
- https://github.com/react-native-maps/react-native-maps/blob/1e71a21f39e7b88554852951f773c731c94680c9/docs/installation.md#ios
284
-
285
- An unofficial step-by-step guide is also available at https://gist.github.com/heron2014/e60fa003e9b117ce80d56bb1d5bfe9e0
302
+ Then update your Podfile and add the Google API key as described in the [installation docs](docs/installation.md#ios).
286
303
 
287
304
  ### MapView Events
288
305
 
@@ -397,7 +414,10 @@ Poi are clickable, you can catch the event to get its information (usually to ge
397
414
  The MapView can accept an `AnimatedRegion` value as its `region` prop. This allows you to utilize the Animated API to control the map's center and zoom.
398
415
 
399
416
  ```jsx
400
- import MapView, { AnimatedRegion, Animated } from 'react-native-maps';
417
+ import {Animated} from 'react-native'
418
+ import MapView, { AnimatedRegion } from 'react-native-maps';
419
+
420
+ const AnimatedMapView = Animated.createAnimatedComponent(MapView);
401
421
 
402
422
  getInitialState() {
403
423
  return {
@@ -416,7 +436,7 @@ onRegionChange(region) {
416
436
 
417
437
  render() {
418
438
  return (
419
- <Animated
439
+ <AnimatedMapView
420
440
  region={this.state.region}
421
441
  onRegionChange={this.onRegionChange}
422
442
  />
@@ -429,7 +449,10 @@ render() {
429
449
  Markers can also accept an `AnimatedRegion` value as a coordinate.
430
450
 
431
451
  ```jsx
432
- import Mapview, { AnimatedRegion, MarkerAnimated } from 'react-native-maps';
452
+ import {Animated} from 'react-native';
453
+ import Mapview, { AnimatedRegion, Marker } from 'react-native-maps';
454
+
455
+ const AnimatedMarker = Animated.createAnimatedComponent(Marker);
433
456
 
434
457
  getInitialState() {
435
458
  return {
@@ -464,7 +487,7 @@ componentWillReceiveProps(nextProps) {
464
487
  render() {
465
488
  return (
466
489
  <MapView initialRegion={...}>
467
- <MarkerAnimated
490
+ <AnimatedMarker
468
491
  ref={marker => { this.marker = marker }}
469
492
  coordinate={this.state.coordinate}
470
493
  />
@@ -12,7 +12,7 @@ buildscript {
12
12
  mavenCentral()
13
13
  }
14
14
  dependencies {
15
- classpath("com.android.tools.build:gradle:4.2.2")
15
+ classpath("com.android.tools.build:gradle:7.1.1")
16
16
  }
17
17
  }
18
18
  }
@@ -29,24 +29,55 @@ android {
29
29
  }
30
30
 
31
31
  repositories {
32
- mavenLocal()
33
- mavenCentral()
34
32
  maven {
35
33
  // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
36
- url "$rootDir/../node_modules/react-native/android"
34
+ url("$rootDir/../node_modules/react-native/android")
37
35
  }
38
36
  maven {
39
37
  // Android JSC is installed from npm
40
- url "$rootDir/../node_modules/jsc-android/dist"
38
+ url("$rootDir/../node_modules/jsc-android/dist")
39
+ }
40
+ mavenCentral {
41
+ // We don't want to fetch react-native from Maven Central as there are
42
+ // older versions over there.
43
+ content {
44
+ excludeGroup "com.facebook.react"
45
+ }
41
46
  }
42
47
  google()
48
+ maven { url 'https://www.jitpack.io' }
43
49
  }
44
50
 
45
51
  dependencies {
46
52
  implementation 'com.facebook.react:react-native:+'
47
- implementation "com.google.android.gms:play-services-base:${safeExtGet('playServicesVersion', '18.1.0')}"
48
- implementation "com.google.android.gms:play-services-maps:${safeExtGet('playServicesVersion', '18.0.2')}"
49
- implementation "com.google.android.gms:play-services-location:20.0.0"
50
- implementation 'com.google.maps.android:android-maps-utils:3.4.0'
51
- implementation "androidx.work:work-runtime:2.7.1"
53
+ implementation('com.google.android.gms:play-services-base') {
54
+ version {
55
+ strictly '[18.0.1, 19.0.0['
56
+ prefer '18.2.0'
57
+ }
58
+ }
59
+ implementation('com.google.android.gms:play-services-maps') {
60
+ version {
61
+ strictly '[18.0.0, 19.0.0['
62
+ prefer '18.1.0'
63
+ }
64
+ }
65
+ implementation('com.google.android.gms:play-services-location') {
66
+ version {
67
+ strictly '[21.0.1, 22.0.0['
68
+ prefer '21.0.1'
69
+ }
70
+ }
71
+ implementation('com.google.maps.android:android-maps-utils') {
72
+ version {
73
+ strictly '[3.0.0, 4.0.0['
74
+ prefer '3.4.0'
75
+ }
76
+ }
77
+ implementation('androidx.work:work-runtime') {
78
+ version {
79
+ strictly '[2.7.1, 3.0.0['
80
+ prefer '2.7.1'
81
+ }
82
+ }
52
83
  }
@@ -1,5 +1,5 @@
1
1
  distributionBase=GRADLE_USER_HOME
2
2
  distributionPath=wrapper/dists
3
- distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
3
+ distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip
4
4
  zipStoreBase=GRADLE_USER_HOME
5
5
  zipStorePath=wrapper/dists
@@ -14,7 +14,7 @@ public class MapCalloutManager extends ViewGroupManager<MapCallout> {
14
14
 
15
15
  @Override
16
16
  public String getName() {
17
- return "AIRMapCallout";
17
+ return "RNMMapCallout";
18
18
  }
19
19
 
20
20
  @Override
@@ -25,7 +25,7 @@ public class MapCircleManager extends ViewGroupManager<MapCircle> {
25
25
 
26
26
  @Override
27
27
  public String getName() {
28
- return "AIRMapCircle";
28
+ return "RNMMapCircle";
29
29
  }
30
30
 
31
31
  @Override
@@ -86,7 +86,7 @@ public class MapGradientPolyline extends MapFeature {
86
86
  private TileOverlayOptions createTileOverlayOptions() {
87
87
  TileOverlayOptions options = new TileOverlayOptions();
88
88
  options.zIndex(zIndex);
89
- AirMapGradientPolylineProvider tileProvider = new AirMapGradientPolylineProvider(context, points, colors, width);
89
+ MapGradientPolylineProvider tileProvider = new MapGradientPolylineProvider(context, points, colors, width);
90
90
  options.tileProvider(tileProvider);
91
91
  return options;
92
92
  }
@@ -110,7 +110,7 @@ public class MapGradientPolyline extends MapFeature {
110
110
  return Color.rgb(rTotal, gTotal, bTotal);
111
111
  }
112
112
 
113
- public class AirMapGradientPolylineProvider implements TileProvider {
113
+ public class MapGradientPolylineProvider implements TileProvider {
114
114
 
115
115
  public static final int BASE_TILE_SIZE = 256;
116
116
 
@@ -126,7 +126,7 @@ public class MapGradientPolyline extends MapFeature {
126
126
  protected Point[] projectedPts;
127
127
  protected Point[] projectedPtMids;
128
128
 
129
- public AirMapGradientPolylineProvider(Context context, List<LatLng> points, int[] colors,
129
+ public MapGradientPolylineProvider(Context context, List<LatLng> points, int[] colors,
130
130
  float width) {
131
131
  super();
132
132
 
@@ -239,7 +239,7 @@ public class MapGradientPolyline extends MapFeature {
239
239
  float interp2 = ((float)i - 1) / points.size();
240
240
  float interp1to2 = (interp1 + interp2) / 2;
241
241
 
242
- Log.d("AirMapGradientPolyline", String.valueOf(interp1to2));
242
+ Log.d("MapGradientPolyline", String.valueOf(interp1to2));
243
243
 
244
244
  // Circle for the corner (removes the weird empty corners that occur otherwise)
245
245
  colorPaint.setStyle(Paint.Style.FILL);
@@ -28,7 +28,7 @@ public class MapGradientPolylineManager extends ViewGroupManager<MapGradientPoly
28
28
 
29
29
  @Override
30
30
  public String getName() {
31
- return "AIRMapGradientPolyline";
31
+ return "RNMMapGradientPolyline";
32
32
  }
33
33
 
34
34
  @Override
@@ -15,7 +15,7 @@ public class MapHeatmapManager extends ViewGroupManager<MapHeatmap> {
15
15
 
16
16
  @Override
17
17
  public String getName() {
18
- return "AIRMapHeatmap";
18
+ return "RNMMapHeatmap";
19
19
  }
20
20
 
21
21
  @Override
@@ -5,7 +5,7 @@ import com.google.android.gms.maps.GoogleMapOptions;
5
5
 
6
6
  public class MapLiteManager extends MapManager {
7
7
 
8
- private static final String REACT_CLASS = "AIRMapLite";
8
+ private static final String REACT_CLASS = "RNMMapLite";
9
9
 
10
10
  @Override
11
11
  public String getName() {
@@ -15,14 +15,14 @@ import java.io.InputStream;
15
15
 
16
16
  public class MapLocalTile extends MapFeature {
17
17
 
18
- class AIRMapLocalTileProvider implements TileProvider {
18
+ class MapLocalTileProvider implements TileProvider {
19
19
  private static final int BUFFER_SIZE = 16 * 1024;
20
20
  private int tileSize;
21
21
  private String pathTemplate;
22
22
  private final boolean useAssets;
23
23
 
24
24
 
25
- public AIRMapLocalTileProvider(int tileSizet, String pathTemplate, boolean useAssets) {
25
+ public MapLocalTileProvider(int tileSizet, String pathTemplate, boolean useAssets) {
26
26
  this.tileSize = tileSizet;
27
27
  this.pathTemplate = pathTemplate;
28
28
  this.useAssets = useAssets;
@@ -80,7 +80,7 @@ public class MapLocalTile extends MapFeature {
80
80
 
81
81
  private TileOverlayOptions tileOverlayOptions;
82
82
  private TileOverlay tileOverlay;
83
- private MapLocalTile.AIRMapLocalTileProvider tileProvider;
83
+ private MapLocalTile.MapLocalTileProvider tileProvider;
84
84
 
85
85
  private String pathTemplate;
86
86
  private float tileSize;
@@ -129,7 +129,7 @@ public class MapLocalTile extends MapFeature {
129
129
  private TileOverlayOptions createTileOverlayOptions() {
130
130
  TileOverlayOptions options = new TileOverlayOptions();
131
131
  options.zIndex(zIndex);
132
- this.tileProvider = new MapLocalTile.AIRMapLocalTileProvider((int)this.tileSize, this.pathTemplate, this.useAssets);
132
+ this.tileProvider = new MapLocalTile.MapLocalTileProvider((int)this.tileSize, this.pathTemplate, this.useAssets);
133
133
  options.tileProvider(this.tileProvider);
134
134
  return options;
135
135
  }
@@ -24,7 +24,7 @@ public class MapLocalTileManager extends ViewGroupManager<MapLocalTile> {
24
24
 
25
25
  @Override
26
26
  public String getName() {
27
- return "AIRMapLocalTile";
27
+ return "RNMMapLocalTile";
28
28
  }
29
29
 
30
30
  @Override
@@ -20,14 +20,12 @@ import com.facebook.react.uimanager.events.RCTEventEmitter;
20
20
  import com.google.android.gms.location.Priority;
21
21
  import com.google.android.gms.maps.GoogleMap;
22
22
  import com.google.android.gms.maps.GoogleMapOptions;
23
- import com.google.android.gms.maps.model.LatLng;
24
- import com.google.android.gms.maps.model.LatLngBounds;
25
23
 
26
24
  import java.util.Map;
27
25
 
28
26
  public class MapManager extends ViewGroupManager<MapView> {
29
27
 
30
- private static final String REACT_CLASS = "AIRMap";
28
+ private static final String REACT_CLASS = "RNMMap";
31
29
 
32
30
  private final Map<String, Integer> MAP_TYPES = MapBuilder.of(
33
31
  "standard", GoogleMap.MAP_TYPE_NORMAL,
@@ -276,14 +274,13 @@ public class MapManager extends ViewGroupManager<MapView> {
276
274
  }
277
275
  }
278
276
 
277
+ @ReactProp(name = "boundary")
278
+ public void setBoundary(MapView view, ReadableMap boundary) {
279
+ view.setBoundary(boundary);
280
+ }
281
+
279
282
  @Override
280
283
  public void receiveCommand(@NonNull MapView view, String commandId, @Nullable ReadableArray args) {
281
- int duration;
282
- double lat;
283
- double lng;
284
- double lngDelta;
285
- double latDelta;
286
- ReadableMap region;
287
284
  ReadableMap camera;
288
285
 
289
286
  switch (commandId) {
@@ -295,60 +292,6 @@ public class MapManager extends ViewGroupManager<MapView> {
295
292
  view.animateToCamera(camera, 0);
296
293
  break;
297
294
 
298
- case "animateCamera":
299
- if(args == null) {
300
- break;
301
- }
302
- camera = args.getMap(0);
303
- duration = args.getInt(1);
304
- view.animateToCamera(camera, duration);
305
- break;
306
-
307
- case "animateToRegion":
308
- if(args == null) {
309
- break;
310
- }
311
- region = args.getMap(0);
312
- duration = args.getInt(1);
313
- lng = region.getDouble("longitude");
314
- lat = region.getDouble("latitude");
315
- lngDelta = region.getDouble("longitudeDelta");
316
- latDelta = region.getDouble("latitudeDelta");
317
- LatLngBounds bounds = new LatLngBounds(
318
- new LatLng(lat - latDelta / 2, lng - lngDelta / 2), // southwest
319
- new LatLng(lat + latDelta / 2, lng + lngDelta / 2) // northeast
320
- );
321
- view.animateToRegion(bounds, duration);
322
- break;
323
-
324
- case "fitToElements":
325
- if(args == null) {
326
- break;
327
- }
328
- view.fitToElements(args.getMap(0), args.getBoolean(1));
329
- break;
330
-
331
- case "fitToSuppliedMarkers":
332
- if(args == null) {
333
- break;
334
- }
335
- view.fitToSuppliedMarkers(args.getArray(0), args.getMap(1), args.getBoolean(2));
336
- break;
337
-
338
- case "fitToCoordinates":
339
- if(args == null) {
340
- break;
341
- }
342
- view.fitToCoordinates(args.getArray(0), args.getMap(1), args.getBoolean(2));
343
- break;
344
-
345
- case "setMapBoundaries":
346
- if(args == null) {
347
- break;
348
- }
349
- view.setMapBoundaries(args.getMap(0), args.getMap(1));
350
- break;
351
-
352
295
  case "setIndoorActiveLevelIndex":
353
296
  if(args == null) {
354
297
  break;
@@ -74,7 +74,7 @@ public class MapMarker extends MapFeature {
74
74
  private float calloutAnchorY;
75
75
  private boolean calloutAnchorIsSet;
76
76
 
77
- private boolean tracksViewChanges = true;
77
+ private boolean tracksViewChanges = false;
78
78
  private boolean tracksViewChangesActive = false;
79
79
 
80
80
  private boolean hasCustomMarkerView = false;
@@ -332,7 +332,7 @@ public class MapMarker extends MapFeature {
332
332
  }
333
333
  if (uri != null) {
334
334
  // listening for marker bitmap descriptor update, as well as check whether to load the image.
335
- MapMarkerManager.AirMapMarkerSharedIcon sharedIcon = this.markerManager.getSharedIcon(uri);
335
+ MapMarkerManager.MapMarkerSharedIcon sharedIcon = this.markerManager.getSharedIcon(uri);
336
336
  sharedIcon.addMarker(this);
337
337
  shouldLoadImage = sharedIcon.shouldLoadImage();
338
338
  }
@@ -25,20 +25,20 @@ import java.util.concurrent.ConcurrentHashMap;
25
25
 
26
26
  public class MapMarkerManager extends ViewGroupManager<MapMarker> {
27
27
 
28
- public static class AirMapMarkerSharedIcon {
28
+ public static class MapMarkerSharedIcon {
29
29
  private BitmapDescriptor iconBitmapDescriptor;
30
30
  private Bitmap bitmap;
31
31
  private final Map<MapMarker, Boolean> markers;
32
32
  private boolean loadImageStarted;
33
33
 
34
- public AirMapMarkerSharedIcon(){
34
+ public MapMarkerSharedIcon(){
35
35
  this.markers = new WeakHashMap<>();
36
36
  this.loadImageStarted = false;
37
37
  }
38
38
 
39
39
  /**
40
40
  * check whether the load image process started.
41
- * caller AirMapMarker will only need to load it when this returns true.
41
+ * caller MapMarker will only need to load it when this returns true.
42
42
  *
43
43
  * @return true if it is not started, false otherwise.
44
44
  */
@@ -109,7 +109,7 @@ public class MapMarkerManager extends ViewGroupManager<MapMarker> {
109
109
  }
110
110
  }
111
111
 
112
- private final Map<String, AirMapMarkerSharedIcon> sharedIcons = new ConcurrentHashMap<>();
112
+ private final Map<String, MapMarkerSharedIcon> sharedIcons = new ConcurrentHashMap<>();
113
113
 
114
114
  /**
115
115
  * get the shared icon object, if not existed, create a new one and store it.
@@ -117,12 +117,12 @@ public class MapMarkerManager extends ViewGroupManager<MapMarker> {
117
117
  * @param uri
118
118
  * @return the icon object for the given uri.
119
119
  */
120
- public AirMapMarkerSharedIcon getSharedIcon(String uri) {
121
- AirMapMarkerSharedIcon icon = this.sharedIcons.get(uri);
120
+ public MapMarkerSharedIcon getSharedIcon(String uri) {
121
+ MapMarkerSharedIcon icon = this.sharedIcons.get(uri);
122
122
  if (icon == null) {
123
123
  synchronized (this) {
124
124
  if((icon = this.sharedIcons.get(uri)) == null) {
125
- icon = new AirMapMarkerSharedIcon();
125
+ icon = new MapMarkerSharedIcon();
126
126
  this.sharedIcons.put(uri, icon);
127
127
  }
128
128
  }
@@ -136,7 +136,7 @@ public class MapMarkerManager extends ViewGroupManager<MapMarker> {
136
136
  * @param uri
137
137
  */
138
138
  public void removeSharedIconIfEmpty(String uri) {
139
- AirMapMarkerSharedIcon icon = this.sharedIcons.get(uri);
139
+ MapMarkerSharedIcon icon = this.sharedIcons.get(uri);
140
140
  if (icon == null) {return;}
141
141
  if (!icon.hasMarker()) {
142
142
  synchronized (this) {
@@ -152,7 +152,7 @@ public class MapMarkerManager extends ViewGroupManager<MapMarker> {
152
152
 
153
153
  @Override
154
154
  public String getName() {
155
- return "AIRMapMarker";
155
+ return "RNMMapMarker";
156
156
  }
157
157
 
158
158
  @Override
@@ -180,20 +180,6 @@ public class MapMarkerManager extends ViewGroupManager<MapMarker> {
180
180
  view.setSnippet(description);
181
181
  }
182
182
 
183
- // NOTE(lmr):
184
- // android uses normalized coordinate systems for this, and is provided through the
185
- // `anchor` property and `calloutAnchor` instead. Perhaps some work could be done
186
- // to normalize iOS and android to use just one of the systems.
187
- // @ReactProp(name = "centerOffset")
188
- // public void setCenterOffset(AirMapMarker view, ReadableMap map) {
189
- //
190
- // }
191
- //
192
- // @ReactProp(name = "calloutOffset")
193
- // public void setCalloutOffset(AirMapMarker view, ReadableMap map) {
194
- //
195
- // }
196
-
197
183
  @ReactProp(name = "anchor")
198
184
  public void setAnchor(MapMarker view, ReadableMap map) {
199
185
  // should default to (0.5, 1) (bottom middle)
@@ -214,9 +200,6 @@ public class MapMarkerManager extends ViewGroupManager<MapMarker> {
214
200
  public void setImage(MapMarker view, @Nullable String source) {
215
201
  view.setImage(source);
216
202
  }
217
- // public void setImage(AirMapMarker view, ReadableMap image) {
218
- // view.setImage(image);
219
- // }
220
203
 
221
204
  @ReactProp(name = "icon")
222
205
  public void setIcon(MapMarker view, @Nullable String source) {
@@ -261,7 +244,7 @@ public class MapMarkerManager extends ViewGroupManager<MapMarker> {
261
244
  view.setOpacity(opacity);
262
245
  }
263
246
 
264
- @ReactProp(name = "tracksViewChanges", defaultBoolean = true)
247
+ @ReactProp(name = "tracksViewChanges", defaultBoolean = false)
265
248
  public void setTracksViewChanges(MapMarker view, boolean tracksViewChanges) {
266
249
  view.setTracksViewChanges(tracksViewChanges);
267
250
  }
@@ -27,7 +27,7 @@ public class MapOverlayManager extends ViewGroupManager<MapOverlay> {
27
27
 
28
28
  @Override
29
29
  public String getName() {
30
- return "AIRMapOverlay";
30
+ return "RNMMapOverlay";
31
31
  }
32
32
 
33
33
  @Override
@@ -29,7 +29,7 @@ public class MapPolygonManager extends ViewGroupManager<MapPolygon> {
29
29
 
30
30
  @Override
31
31
  public String getName() {
32
- return "AIRMapPolygon";
32
+ return "RNMMapPolygon";
33
33
  }
34
34
 
35
35
  @Override
@@ -33,7 +33,7 @@ public class MapPolylineManager extends ViewGroupManager<MapPolyline> {
33
33
 
34
34
  @Override
35
35
  public String getName() {
36
- return "AIRMapPolyline";
36
+ return "RNMMapPolyline";
37
37
  }
38
38
 
39
39
  @Override
@@ -43,10 +43,10 @@ import java.net.URLConnection;
43
43
 
44
44
  public class MapTileProvider implements TileProvider {
45
45
 
46
- class AIRMapUrlTileProvider extends UrlTileProvider {
46
+ class MapUrlTileProvider extends UrlTileProvider {
47
47
  private String urlTemplate;
48
48
 
49
- public AIRMapUrlTileProvider(int width, int height, String urlTemplate) {
49
+ public MapUrlTileProvider(int width, int height, String urlTemplate) {
50
50
  super(width, height);
51
51
  this.urlTemplate = urlTemplate;
52
52
  }
@@ -104,7 +104,7 @@ public class MapTileProvider implements TileProvider {
104
104
  public MapTileProvider(int tileSizet, boolean doubleTileSize, String urlTemplate,
105
105
  int maximumZ, int maximumNativeZ, int minimumZ, boolean flipY, String tileCachePath,
106
106
  int tileCacheMaxAge, boolean offlineMode, Context context, boolean customMode) {
107
- this.tileProvider = new AIRMapUrlTileProvider(tileSizet, tileSizet, urlTemplate);
107
+ this.tileProvider = new MapUrlTileProvider(tileSizet, tileSizet, urlTemplate);
108
108
 
109
109
  this.tileSize = tileSizet;
110
110
  this.doubleTileSize = doubleTileSize;
@@ -213,7 +213,9 @@ public class MapTileProvider implements TileProvider {
213
213
  } catch (Exception e) {
214
214
  e.printStackTrace();
215
215
  }
216
- } else if (image == null && !this.offlineMode) {
216
+ }
217
+
218
+ if (image == null && !this.offlineMode) {
217
219
  Log.d("urlTile", "Normal fetch");
218
220
  image = fetchTile(x, y, zoom);
219
221
  if (image == null) {
@@ -448,7 +450,7 @@ public class MapTileProvider implements TileProvider {
448
450
 
449
451
  public void setTileSize(int tileSize) {
450
452
  if (this.tileSize != tileSize) {
451
- this.tileProvider = new AIRMapUrlTileProvider(tileSize, tileSize, urlTemplate);
453
+ this.tileProvider = new MapUrlTileProvider(tileSize, tileSize, urlTemplate);
452
454
  }
453
455
  this.tileSize = tileSize;
454
456
  }
@@ -21,7 +21,7 @@ public class MapUrlTileManager extends ViewGroupManager<MapUrlTile> {
21
21
 
22
22
  @Override
23
23
  public String getName() {
24
- return "AIRMapUrlTile";
24
+ return "RNMMapUrlTile";
25
25
  }
26
26
 
27
27
  @Override