react-native-maps 1.21.0-alpha.99 → 1.22.0

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 (234) hide show
  1. package/README.md +9 -4
  2. package/android/build.gradle +65 -72
  3. package/android/gradle/wrapper/gradle-wrapper.properties +1 -1
  4. package/android/src/main/RCTAppDependencyProvider.h +25 -0
  5. package/android/src/main/RCTAppDependencyProvider.mm +55 -0
  6. package/android/src/main/RCTModulesConformingToProtocolsProvider.h +18 -0
  7. package/android/src/main/RCTModulesConformingToProtocolsProvider.mm +33 -0
  8. package/android/src/main/RCTThirdPartyComponentsProvider.h +16 -0
  9. package/android/src/main/RCTThirdPartyComponentsProvider.mm +28 -0
  10. package/android/src/main/ReactAppDependencyProvider.podspec +34 -0
  11. package/android/src/main/java/com/facebook/fbreact/specs/NativeAirMapsModuleSpec.java +63 -0
  12. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsCalloutManagerDelegate.java +35 -0
  13. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsCalloutManagerInterface.java +17 -0
  14. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsCircleManagerDelegate.java +49 -0
  15. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsCircleManagerInterface.java +23 -0
  16. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsGooglePolygonManagerDelegate.java +49 -0
  17. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsGooglePolygonManagerInterface.java +23 -0
  18. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsMapViewManagerDelegate.java +209 -0
  19. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsMapViewManagerInterface.java +74 -0
  20. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsMarkerManagerDelegate.java +104 -0
  21. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsMarkerManagerInterface.java +39 -0
  22. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsOverlayManagerDelegate.java +45 -0
  23. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsOverlayManagerInterface.java +22 -0
  24. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsPolylineManagerDelegate.java +58 -0
  25. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsPolylineManagerInterface.java +26 -0
  26. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsUrlTileManagerDelegate.java +62 -0
  27. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsUrlTileManagerInterface.java +27 -0
  28. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsWMSTileManagerDelegate.java +56 -0
  29. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsWMSTileManagerInterface.java +25 -0
  30. package/android/src/main/java/com/rnmaps/fabric/MapViewManager.java +5 -1
  31. package/android/src/main/java/com/rnmaps/fabric/NativeAirMapsModule.java +1 -1
  32. package/android/src/main/java/com/rnmaps/fabric/OverlayManager.java +9 -3
  33. package/android/src/main/java/com/rnmaps/fabric/UrlTileManager.java +124 -0
  34. package/android/src/main/java/com/rnmaps/fabric/WMSTileManager.java +114 -0
  35. package/android/src/main/java/com/rnmaps/maps/MapAirModulePackage.java +19 -3
  36. package/android/src/main/java/com/rnmaps/maps/MapMarker.java +608 -603
  37. package/android/src/main/java/com/rnmaps/maps/MapMarkerManager.java +3 -3
  38. package/android/src/main/java/com/rnmaps/maps/MapOverlay.java +2 -22
  39. package/android/src/main/java/com/rnmaps/maps/MapOverlayManager.java +23 -1
  40. package/android/src/main/java/com/rnmaps/maps/MapUrlTile.java +18 -18
  41. package/android/src/main/java/com/rnmaps/maps/MapUrlTileManager.java +10 -14
  42. package/android/src/main/java/com/rnmaps/maps/MapView.java +58 -49
  43. package/android/src/main/java/com/rnmaps/maps/MapWMSTile.java +3 -3
  44. package/android/src/main/java/com/rnmaps/maps/MapWMSTileManager.java +10 -10
  45. package/android/src/main/jni/CMakeLists.txt +36 -0
  46. package/android/src/main/jni/RNMapsSpecs-generated.cpp +68 -0
  47. package/android/src/main/jni/RNMapsSpecs.h +31 -0
  48. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/ComponentDescriptors.cpp +31 -0
  49. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/ComponentDescriptors.h +33 -0
  50. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/EventEmitters.cpp +979 -0
  51. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/EventEmitters.h +860 -0
  52. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/Props.cpp +227 -0
  53. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/Props.h +1297 -0
  54. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/RNMapsSpecsJSI-generated.cpp +74 -0
  55. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/RNMapsSpecsJSI.h +268 -0
  56. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/ShadowNodes.cpp +26 -0
  57. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/ShadowNodes.h +131 -0
  58. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/States.cpp +16 -0
  59. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/States.h +137 -0
  60. package/app.plugin.js +1 -0
  61. package/ios/AirGoogleMaps/AIRGoogleMap.h +13 -13
  62. package/ios/AirGoogleMaps/{AIRGoogleMap.m → AIRGoogleMap.mm} +32 -34
  63. package/ios/AirGoogleMaps/AIRGoogleMapManager.h +1 -0
  64. package/ios/AirGoogleMaps/AIRGoogleMapManager.mm +543 -0
  65. package/ios/AirGoogleMaps/AIRGoogleMapMarker.m +3 -3
  66. package/ios/AirGoogleMaps/AIRGoogleMapMarkerManager.m +1 -1
  67. package/ios/AirGoogleMaps/AIRGoogleMapUrlTile.m +2 -2
  68. package/ios/AirGoogleMaps/AIRGoogleMapWMSTile.m +2 -2
  69. package/ios/AirGoogleMaps/RNMapsGoogleMapView.h +5 -2
  70. package/ios/AirGoogleMaps/RNMapsGoogleMapView.mm +41 -33
  71. package/ios/AirGoogleMaps/RNMapsGoogleMapViewManager.mm +16 -1
  72. package/ios/AirGoogleMaps/RNMapsGooglePolygonView.mm +23 -14
  73. package/ios/AirGoogleMaps/RNMapsGooglePolygonViewManager.mm +1 -0
  74. package/ios/AirMaps/AIRMap.h +8 -9
  75. package/ios/AirMaps/{AIRMap.m → AIRMap.mm} +18 -14
  76. package/ios/AirMaps/AIRMapManager.m +8 -19
  77. package/ios/AirMaps/AIRMapMarker.m +57 -44
  78. package/ios/AirMaps/AIRMapOverlay.m +2 -2
  79. package/ios/AirMaps/AIRMapWMSTile.m +8 -8
  80. package/ios/AirMaps/FabricPlaceholders/PlaceHolderGoogleMapView.h +25 -0
  81. package/ios/AirMaps/FabricPlaceholders/PlaceHolderGoogleMapView.mm +77 -0
  82. package/ios/AirMaps/FabricPlaceholders/PlaceHolderPolygonView.h +25 -0
  83. package/ios/AirMaps/FabricPlaceholders/PlaceHolderPolygonView.mm +51 -0
  84. package/ios/AirMaps/RNMapsAirModule.h +2 -3
  85. package/ios/AirMaps/RNMapsAirModule.mm +14 -0
  86. package/ios/AirMaps/RNMapsDefines.h +1 -0
  87. package/ios/AirMaps/RNMapsMapView.h +5 -2
  88. package/ios/AirMaps/RNMapsMapView.mm +16 -6
  89. package/ios/AirMaps/RNMapsMapViewManager.mm +19 -1
  90. package/ios/AirMaps/RNMapsMarkerView.mm +12 -4
  91. package/ios/AirMaps/RNMapsMarkerViewManager.mm +7 -0
  92. package/ios/AirMaps/module.modulemap +6 -0
  93. package/ios/AirMaps.xcodeproj/project.pbxproj +15 -55
  94. package/ios/generated/RCTAppDependencyProvider.h +25 -0
  95. package/ios/generated/RCTAppDependencyProvider.mm +55 -0
  96. package/ios/generated/RCTModulesConformingToProtocolsProvider.h +18 -0
  97. package/ios/generated/RCTModulesConformingToProtocolsProvider.mm +33 -0
  98. package/ios/generated/RCTThirdPartyComponentsProvider.h +16 -0
  99. package/ios/generated/RCTThirdPartyComponentsProvider.mm +26 -0
  100. package/ios/{AirMaps → generated}/RNMapsAirModuleDelegate.h +1 -1
  101. package/ios/generated/RNMapsSpecs/ComponentDescriptors.cpp +29 -0
  102. package/ios/generated/RNMapsSpecs/ComponentDescriptors.h +31 -0
  103. package/ios/generated/RNMapsSpecs/EventEmitters.cpp +977 -0
  104. package/ios/generated/RNMapsSpecs/EventEmitters.h +846 -0
  105. package/ios/generated/RNMapsSpecs/Props.cpp +194 -0
  106. package/ios/generated/RNMapsSpecs/Props.h +1224 -0
  107. package/ios/generated/RNMapsSpecs/RCTComponentViewHelpers.h +591 -0
  108. package/ios/generated/RNMapsSpecs/RNMapsSpecs-generated.mm +92 -0
  109. package/ios/generated/RNMapsSpecs/RNMapsSpecs.h +137 -0
  110. package/ios/generated/RNMapsSpecs/ShadowNodes.cpp +24 -0
  111. package/ios/generated/RNMapsSpecs/ShadowNodes.h +109 -0
  112. package/ios/generated/RNMapsSpecs/States.cpp +16 -0
  113. package/ios/generated/RNMapsSpecs/States.h +113 -0
  114. package/ios/generated/RNMapsSpecsJSI-generated.cpp +74 -0
  115. package/ios/generated/RNMapsSpecsJSI.h +268 -0
  116. package/ios/generated/ReactAppDependencyProvider.podspec +34 -0
  117. package/ios/generated/module.modulemap +15 -0
  118. package/package.json +34 -27
  119. package/plugin/build/android.js +58 -0
  120. package/plugin/build/index.js +10 -0
  121. package/plugin/build/ios.js +172 -0
  122. package/react-native-google-maps.podspec +27 -0
  123. package/react-native-maps-generated.podspec +31 -0
  124. package/react-native-maps.podspec +52 -46
  125. package/react-native.config.js +16 -0
  126. package/src/AnimatedRegion.ts +169 -0
  127. package/src/Geojson.tsx +541 -0
  128. package/src/MapCallout.tsx +77 -0
  129. package/src/MapCalloutSubview.tsx +64 -0
  130. package/src/MapCircle.tsx +162 -0
  131. package/src/MapHeatmap.tsx +125 -0
  132. package/src/MapLocalTile.tsx +60 -0
  133. package/src/MapMarker.tsx +531 -0
  134. package/src/MapMarkerNativeComponent.ts +51 -0
  135. package/src/MapOverlay.tsx +178 -0
  136. package/src/MapPolygon.tsx +188 -0
  137. package/src/MapPolygon.types.ts +25 -0
  138. package/src/MapPolyline.tsx +215 -0
  139. package/src/MapUrlTile.tsx +169 -0
  140. package/src/MapView.tsx +1230 -0
  141. package/src/MapView.types.ts +212 -0
  142. package/src/MapView.web.ts +2 -0
  143. package/src/MapViewNativeComponent.ts +86 -0
  144. package/src/MapWMSTile.tsx +148 -0
  145. package/src/ProviderConstants.ts +2 -0
  146. package/src/createFabricMap.tsx +253 -0
  147. package/src/decorateMapComponent.ts +229 -0
  148. package/src/fixImageProp.ts +17 -0
  149. package/src/index.ts +52 -0
  150. package/src/sharedTypes.ts +101 -0
  151. package/{specs → src/specs}/NativeComponentCircle.ts +3 -4
  152. package/{specs → src/specs}/NativeComponentGoogleMapView.ts +15 -9
  153. package/{specs → src/specs}/NativeComponentMapView.ts +61 -32
  154. package/{specs → src/specs}/NativeComponentOverlay.ts +11 -2
  155. package/{specs → src/specs}/NativeComponentPolyline.ts +1 -1
  156. package/src/specs/NativeComponentUrlTile.ts +128 -0
  157. package/src/specs/NativeComponentWMSTile.ts +107 -0
  158. package/ios/AirGoogleMaps/AIRGoogleMapManager.m +0 -533
  159. package/lib/AnimatedRegion.d.ts +0 -19
  160. package/lib/AnimatedRegion.js +0 -134
  161. package/lib/Geojson.d.ts +0 -204
  162. package/lib/Geojson.js +0 -166
  163. package/lib/MapCallout.d.ts +0 -40
  164. package/lib/MapCallout.js +0 -51
  165. package/lib/MapCalloutSubview.d.ts +0 -34
  166. package/lib/MapCalloutSubview.js +0 -48
  167. package/lib/MapCircle.d.ts +0 -117
  168. package/lib/MapCircle.js +0 -53
  169. package/lib/MapHeatmap.d.ts +0 -78
  170. package/lib/MapHeatmap.js +0 -59
  171. package/lib/MapLocalTile.d.ts +0 -35
  172. package/lib/MapLocalTile.js +0 -44
  173. package/lib/MapMarker.d.ts +0 -322
  174. package/lib/MapMarker.js +0 -158
  175. package/lib/MapMarkerNativeComponent.d.ts +0 -15
  176. package/lib/MapMarkerNativeComponent.js +0 -15
  177. package/lib/MapOverlay.d.ts +0 -88
  178. package/lib/MapOverlay.js +0 -65
  179. package/lib/MapPolygon.d.ts +0 -140
  180. package/lib/MapPolygon.js +0 -53
  181. package/lib/MapPolygon.types.d.ts +0 -18
  182. package/lib/MapPolyline.d.ts +0 -156
  183. package/lib/MapPolyline.js +0 -53
  184. package/lib/MapUrlTile.d.ts +0 -134
  185. package/lib/MapUrlTile.js +0 -44
  186. package/lib/MapView.d.ts +0 -703
  187. package/lib/MapView.js +0 -427
  188. package/lib/MapView.types.d.ts +0 -161
  189. package/lib/MapView.types.js +0 -2
  190. package/lib/MapView.web.d.ts +0 -1
  191. package/lib/MapView.web.js +0 -9
  192. package/lib/MapViewNativeComponent.d.ts +0 -18
  193. package/lib/MapViewNativeComponent.js +0 -19
  194. package/lib/MapWMSTile.d.ts +0 -116
  195. package/lib/MapWMSTile.js +0 -44
  196. package/lib/ProviderConstants.d.ts +0 -2
  197. package/lib/ProviderConstants.js +0 -5
  198. package/lib/createFabricMap.d.ts +0 -24
  199. package/lib/createFabricMap.js +0 -188
  200. package/lib/decorateMapComponent.d.ts +0 -36
  201. package/lib/decorateMapComponent.js +0 -120
  202. package/lib/fixImageProp.d.ts +0 -4
  203. package/lib/fixImageProp.js +0 -16
  204. package/lib/index.d.ts +0 -38
  205. package/lib/index.js +0 -81
  206. package/lib/sharedTypes.d.ts +0 -81
  207. package/lib/sharedTypes.js +0 -2
  208. package/lib/sharedTypesInternal.js +0 -2
  209. package/lib/specs/NativeAirMapsModule.d.ts +0 -31
  210. package/lib/specs/NativeAirMapsModule.js +0 -4
  211. package/lib/specs/NativeComponentCallout.d.ts +0 -46
  212. package/lib/specs/NativeComponentCallout.js +0 -9
  213. package/lib/specs/NativeComponentCircle.d.ts +0 -74
  214. package/lib/specs/NativeComponentCircle.js +0 -7
  215. package/lib/specs/NativeComponentGoogleMapView.d.ts +0 -713
  216. package/lib/specs/NativeComponentGoogleMapView.js +0 -22
  217. package/lib/specs/NativeComponentGooglePolygon.d.ts +0 -75
  218. package/lib/specs/NativeComponentGooglePolygon.js +0 -7
  219. package/lib/specs/NativeComponentMapView.d.ts +0 -847
  220. package/lib/specs/NativeComponentMapView.js +0 -20
  221. package/lib/specs/NativeComponentMarker.d.ts +0 -258
  222. package/lib/specs/NativeComponentMarker.js +0 -19
  223. package/lib/specs/NativeComponentOverlay.d.ts +0 -67
  224. package/lib/specs/NativeComponentOverlay.js +0 -7
  225. package/lib/specs/NativeComponentPolyline.d.ts +0 -101
  226. package/lib/specs/NativeComponentPolyline.js +0 -7
  227. /package/ios/AirMaps/{UIView +AirMap.m → UIView+AirMap.m} +0 -0
  228. /package/ios/{AirMaps → generated}/RNMapsHostVewDelegate.h +0 -0
  229. /package/{lib/MapPolygon.types.js → plugin/build/types.js} +0 -0
  230. /package/{lib/sharedTypesInternal.d.ts → src/sharedTypesInternal.ts} +0 -0
  231. /package/{specs → src/specs}/NativeAirMapsModule.ts +0 -0
  232. /package/{specs → src/specs}/NativeComponentCallout.ts +0 -0
  233. /package/{specs → src/specs}/NativeComponentGooglePolygon.ts +0 -0
  234. /package/{specs → src/specs}/NativeComponentMarker.ts +0 -0
@@ -0,0 +1,27 @@
1
+ require 'json'
2
+ package = JSON.parse(File.read(File.join(__dir__, 'package.json')))
3
+
4
+ folly_config = get_folly_config()
5
+ folly_compiler_flags = folly_config[:compiler_flags]
6
+
7
+ Pod::Spec.new do |s|
8
+ s.name = "react-native-google-maps"
9
+ s.version = package['version']
10
+ s.summary = package["description"]
11
+ s.authors = package["author"]
12
+ s.homepage = package["homepage"]
13
+ s.license = package["license"]
14
+ s.platform = :ios, "15.1"
15
+ s.source = { :git => "https://github.com/react-native-maps/react-native-maps.git", :tag=> "v#{s.version}" }
16
+ s.source_files = "ios/AirGoogleMaps/**/*.{h,m,mm,swift}"
17
+ s.resource_bundles = {
18
+ 'GoogleMapsPrivacy' => ['ios/AirGoogleMaps/Resources/GoogleMapsPrivacy.bundle']
19
+ }
20
+ s.compiler_flags = folly_compiler_flags + ' -DHAVE_GOOGLE_MAPS=1 -DHAVE_GOOGLE_MAPS_UTILS=1'
21
+ s.dependency 'GoogleMaps', '9.3.0'
22
+ s.dependency 'Google-Maps-iOS-Utils', '6.1.0'
23
+ s.dependency 'react-native-maps-generated'
24
+ s.dependency 'react-native-maps'
25
+ install_modules_dependencies(s)
26
+
27
+ end
@@ -0,0 +1,31 @@
1
+ require 'json'
2
+ package = JSON.parse(File.read(File.join(__dir__, 'package.json')))
3
+
4
+ folly_config = get_folly_config()
5
+ folly_compiler_flags = folly_config[:compiler_flags]
6
+
7
+ Pod::Spec.new do |s|
8
+ s.name = "react-native-maps-generated"
9
+ s.version = package['version']
10
+ s.summary = package["description"]
11
+ s.authors = package["author"]
12
+ s.homepage = package["homepage"]
13
+ s.license = package["license"]
14
+ s.platform = :ios, "15.1"
15
+ s.source = { :git => "https://github.com/react-native-maps/react-native-maps.git", :tag=> "v#{s.version}" }
16
+ s.source_files = "ios/generated/**/*.{h,m,mm,cpp,swift}"
17
+ s.exclude_files = [
18
+ "ios/generated/RCTAppDependencyProvider.h",
19
+ "ios/generated/RCTAppDependencyProvider.mm",
20
+ "ios/generated/RCTThirdPartyComponentsProvider.h",
21
+ "ios/generated/RCTThirdPartyComponentsProvider.mm",
22
+ "ios/generated/RCTModulesConformingToProtocolsProvider.h",
23
+ "ios/generated/RCTModulesConformingToProtocolsProvider.mm",
24
+ ]
25
+ s.module_map = 'ios/generated/module.modulemap'
26
+ s.public_header_files = "ios/generated/**/*.h"
27
+ s.module_name = 'ReactNativeMapsGenerated'
28
+ s.compiler_flags = folly_compiler_flags
29
+ install_modules_dependencies(s)
30
+
31
+ end
@@ -4,6 +4,8 @@ package = JSON.parse(File.read(File.join(__dir__, 'package.json')))
4
4
  folly_config = get_folly_config()
5
5
  folly_compiler_flags = folly_config[:compiler_flags]
6
6
 
7
+ Pod::UI.puts "\e[32m[react-native-maps] Thank you for using react-native-maps ❤️! \n[react-native-maps] to help keep it maintained, please consider sponsoring at https://github.com/sponsors/salah-ghanim\e[0m"
8
+
7
9
  Pod::Spec.new do |s|
8
10
  s.name = "react-native-maps"
9
11
  s.version = package['version']
@@ -11,57 +13,61 @@ Pod::Spec.new do |s|
11
13
  s.authors = package["author"]
12
14
  s.homepage = package["homepage"]
13
15
  s.license = package["license"]
14
- s.platform = :ios, "13.0"
16
+ s.platform = :ios, "15.1"
15
17
  s.source = { :git => "https://github.com/react-native-maps/react-native-maps.git", :tag=> "v#{s.version}" }
16
18
 
17
- # Define the default base subspec
18
- s.default_subspec = 'base'
19
+ s.source_files = "ios/AirMaps/**/*.{h,m,mm,swift}"
20
+ s.module_map = 'ios/AirMaps/module.modulemap'
21
+ s.public_header_files = [
22
+ 'ios/AirMaps/UIView+AirMap.h',
23
+ 'ios/AirMaps/RCTConvert+AirMap.h',
24
+ ]
25
+ s.module_name = 'ReactNativeMaps'
26
+ s.compiler_flags = folly_compiler_flags
27
+ s.dependency 'react-native-maps-generated'
28
+ install_modules_dependencies(s)
29
+
30
+ # Add script phase to detect Google Maps
31
+ s.script_phases = [
32
+ {
33
+ :name => 'Check react-native-google-Maps Availability',
34
+ :script => %(
35
+ set -x
36
+ echo "Running Google Maps detection script..."
37
+ DEFINES_DIR="${PODS_TARGET_SRCROOT}/ios/AirMaps"
38
+ DEFINES_FILE="${DEFINES_DIR}/RNMapsDefines.h"
39
+
40
+ # Standard path
41
+ GOOGLE_MAPS_STANDARD_PATH="$PODS_ROOT/Headers/Public/react-native-google-maps/AIRGoogleMap.h"
42
+
43
+ # Framework paths
44
+ GOOGLE_MAPS_FRAMEWORK_MODULE="$PODS_ROOT/Target Support Files/react-native-google-maps/react-native-google-maps.modulemap"
45
+ GOOGLE_MAPS_UMBRELLA_HEADER="$PODS_ROOT/Target Support Files/react-native-google-maps/react-native-google-maps-umbrella.h"
19
46
 
20
- # Base subspec for standard maps
21
- s.subspec 'base' do |sp|
22
- sp.source_files = "ios/AirMaps/**/*.{h,m,mm,swift}"
23
- sp.dependency "React-Core"
24
- sp.dependency "react-native-maps/generated"
25
- sp.compiler_flags = folly_compiler_flags
26
- install_modules_dependencies(sp)
27
- end
47
+ echo "Checking standard path: $GOOGLE_MAPS_STANDARD_PATH"
48
+ echo "Checking framework module path: $GOOGLE_MAPS_FRAMEWORK_MODULE"
49
+ echo "Checking umbrella header path: $GOOGLE_MAPS_UMBRELLA_HEADER"
28
50
 
29
- # Separate subspec for Google Maps support
30
- s.subspec 'google-maps' do |sp|
31
- sp.platform = :ios, "15.0"
32
- sp.source_files = "ios/AirGoogleMaps/**/*.{h,m,mm,swift}"
33
- sp.resource_bundles = {
34
- 'GoogleMapsPrivacy' => ['ios/AirGoogleMaps/Resources/GoogleMapsPrivacy.bundle']
35
- }
36
- sp.compiler_flags = folly_compiler_flags + ' -DHAVE_GOOGLE_MAPS=1 -DHAVE_GOOGLE_MAPS_UTILS=1'
37
- sp.dependency "react-native-maps/generated"
38
- sp.dependency 'GoogleMaps', '9.3.0'
39
- sp.dependency 'Google-Maps-iOS-Utils', '6.1.0'
40
- install_modules_dependencies(sp)
41
- end
51
+ # Check if Google Maps is available via any detection method
52
+ if [ -f "$GOOGLE_MAPS_STANDARD_PATH" ] || [ -f "$GOOGLE_MAPS_FRAMEWORK_MODULE" ] || [ -f "$GOOGLE_MAPS_UMBRELLA_HEADER" ]; then
53
+ echo "#define HAVE_GOOGLE_MAPS 1" > "$DEFINES_FILE"
54
+ echo "Google Maps detected. HAVE_GOOGLE_MAPS defined."
55
+ else
56
+ echo "#define HAVE_GOOGLE_MAPS 0" > "$DEFINES_FILE"
57
+ echo "Google Maps not detected."
58
+ fi
42
59
 
43
- # Generated podspec as a subspec
44
- s.subspec 'generated' do |sp|
45
- sp.source_files = 'ios/generated/**/*.{h,m,mm,cpp}'
46
- sp.exclude_files = [
47
- 'ios/generated/**/RCTAppDependencyProvider.{h,mm}',
48
- 'ios/generated/**/RCTThirdPartyComponentsProvider.{h,mm}',
49
- 'ios/generated/**/RCTModulesConformingToProtocolsProvider.{h,mm}'
50
- ]
60
+ # Verify the file was written
61
+ if [ -f "$DEFINES_FILE" ]; then
62
+ echo "Successfully wrote to $DEFINES_FILE"
63
+ cat "$DEFINES_FILE"
64
+ else
65
+ echo "ERROR: Failed to write to $DEFINES_FILE"
66
+ fi
67
+ ),
68
+ :execution_position => :before_compile
69
+ }
70
+ ]
51
71
 
52
72
 
53
- sp.public_header_files = [
54
- 'ios/generated/react-native-maps-generated-umbrella.h',
55
- 'ios/generated/RNMapsSpecs/ComponentDescriptors.h',
56
- 'ios/generated/RNMapsSpecs/EventEmitters.h',
57
- 'ios/generated/RNMapsSpecs/Props.h',
58
- 'ios/generated/RNMapsSpecs/RCTComponentViewHelpers.h',
59
- 'ios/generated/RNMapsSpecs/RNMapsSpecs.h'
60
- ]
61
- sp.header_mappings_dir = 'ios/generated'
62
- sp.resource_bundles = {
63
- 'ReactNativeMapsPrivacy' => ['ios/PrivacyInfo.xcprivacy']
64
- }
65
- install_modules_dependencies(sp)
66
- end
67
73
  end
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ module.exports = {
9
+ dependency: {
10
+ platforms: {
11
+ android: {
12
+ cmakeListsPath: 'src/main/jni/CMakeLists.txt',
13
+ },
14
+ },
15
+ },
16
+ };
@@ -0,0 +1,169 @@
1
+ import {Animated} from 'react-native';
2
+ import {Region} from './sharedTypes';
3
+
4
+ const AnimatedWithChildren = Object.getPrototypeOf(Animated.ValueXY);
5
+ if (__DEV__) {
6
+ if (AnimatedWithChildren.name !== 'AnimatedWithChildren') {
7
+ console.error(
8
+ 'AnimatedRegion could not obtain AnimatedWithChildren base class',
9
+ );
10
+ }
11
+ }
12
+
13
+ const configTypes: (keyof Region)[] = [
14
+ 'latitude',
15
+ 'longitude',
16
+ 'latitudeDelta',
17
+ 'longitudeDelta',
18
+ ];
19
+
20
+ const defaultValues = {
21
+ // probably want to come up with better defaults
22
+ latitude: 0,
23
+ longitude: 0,
24
+ latitudeDelta: 0,
25
+ longitudeDelta: 0,
26
+ };
27
+
28
+ let _uniqueId = 1;
29
+
30
+ type TValueIn = number | Animated.Value | undefined;
31
+
32
+ type Props = Partial<Region> | undefined;
33
+
34
+ const getAnimatedValue = (valueIn: TValueIn, fallback: number) => {
35
+ if (valueIn instanceof Animated.Value) {
36
+ return valueIn;
37
+ } else if (typeof valueIn === 'number') {
38
+ return new Animated.Value(valueIn);
39
+ }
40
+ return new Animated.Value(fallback);
41
+ };
42
+
43
+ export default class AnimatedMapRegion extends AnimatedWithChildren {
44
+ constructor(valueIn: Props = {}) {
45
+ super();
46
+ this.latitude = getAnimatedValue(valueIn.latitude, defaultValues.latitude);
47
+ this.longitude = getAnimatedValue(
48
+ valueIn.longitude,
49
+ defaultValues.longitude,
50
+ );
51
+ this.latitudeDelta = getAnimatedValue(
52
+ valueIn.latitudeDelta,
53
+ defaultValues.latitudeDelta,
54
+ );
55
+ this.longitudeDelta = getAnimatedValue(
56
+ valueIn.longitudeDelta,
57
+ defaultValues.longitudeDelta,
58
+ );
59
+ this._regionListeners = {};
60
+ }
61
+
62
+ setValue(value: Region) {
63
+ this.latitude._value = value.latitude;
64
+ this.longitude._value = value.longitude;
65
+ this.latitudeDelta._value = value.latitudeDelta;
66
+ this.longitudeDelta._value = value.longitudeDelta;
67
+ }
68
+
69
+ setOffset(offset: Region) {
70
+ this.latitude.setOffset(offset.latitude);
71
+ this.longitude.setOffset(offset.longitude);
72
+ this.latitudeDelta.setOffset(offset.latitudeDelta);
73
+ this.longitudeDelta.setOffset(offset.longitudeDelta);
74
+ }
75
+
76
+ flattenOffset() {
77
+ this.latitude.flattenOffset();
78
+ this.longitude.flattenOffset();
79
+ this.latitudeDelta.flattenOffset();
80
+ this.longitudeDelta.flattenOffset();
81
+ }
82
+
83
+ private __getValue() {
84
+ return {
85
+ latitude: this.latitude.__getValue(),
86
+ longitude: this.longitude.__getValue(),
87
+ latitudeDelta: this.latitudeDelta.__getValue(),
88
+ longitudeDelta: this.longitudeDelta.__getValue(),
89
+ };
90
+ }
91
+
92
+ private __attach() {
93
+ this.latitude.__addChild(this);
94
+ this.longitude.__addChild(this);
95
+ this.latitudeDelta.__addChild(this);
96
+ this.longitudeDelta.__addChild(this);
97
+ }
98
+
99
+ private __detach() {
100
+ this.latitude.__removeChild(this);
101
+ this.longitude.__removeChild(this);
102
+ this.latitudeDelta.__removeChild(this);
103
+ this.longitudeDelta.__removeChild(this);
104
+ }
105
+
106
+ stopAnimation(callback: (region: Region) => void) {
107
+ this.latitude.stopAnimation();
108
+ this.longitude.stopAnimation();
109
+ this.latitudeDelta.stopAnimation();
110
+ this.longitudeDelta.stopAnimation();
111
+ callback && callback(this.__getValue());
112
+ }
113
+
114
+ addListener(callback: (region: Region) => void) {
115
+ const id = String(_uniqueId++);
116
+ const jointCallback = () => /*{value}*/ callback(this.__getValue());
117
+ this._regionListeners[id] = {
118
+ latitude: this.latitude.addListener(jointCallback),
119
+ longitude: this.longitude.addListener(jointCallback),
120
+ latitudeDelta: this.latitudeDelta.addListener(jointCallback),
121
+ longitudeDelta: this.longitudeDelta.addListener(jointCallback),
122
+ };
123
+ return id;
124
+ }
125
+
126
+ removeListener(id: string) {
127
+ this.latitude.removeListener(this._regionListeners[id].latitude);
128
+ this.longitude.removeListener(this._regionListeners[id].longitude);
129
+ this.latitudeDelta.removeListener(this._regionListeners[id].latitudeDelta);
130
+ this.longitudeDelta.removeListener(
131
+ this._regionListeners[id].longitudeDelta,
132
+ );
133
+ delete this._regionListeners[id];
134
+ }
135
+
136
+ spring(config: Animated.SpringAnimationConfig & Region) {
137
+ const animations = [];
138
+ for (const type of configTypes) {
139
+ if (config.hasOwnProperty(type)) {
140
+ animations.push(
141
+ Animated.spring(this[type], {
142
+ ...config,
143
+ toValue: config[type],
144
+ // may help to eliminate some dev warnings and perf issues
145
+ useNativeDriver: !!config?.useNativeDriver,
146
+ }),
147
+ );
148
+ }
149
+ }
150
+ return Animated.parallel(animations);
151
+ }
152
+
153
+ timing(config: Animated.TimingAnimationConfig & Region) {
154
+ const animations = [];
155
+ for (const type of configTypes) {
156
+ if (config.hasOwnProperty(type)) {
157
+ animations.push(
158
+ Animated.timing(this[type], {
159
+ ...config,
160
+ toValue: config[type],
161
+ // may help to eliminate some dev warnings and perf issues
162
+ useNativeDriver: !!config?.useNativeDriver,
163
+ }),
164
+ );
165
+ }
166
+ }
167
+ return Animated.parallel(animations);
168
+ }
169
+ }