react-native-maps 0.31.1 → 1.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (301) hide show
  1. package/android/build.gradle +89 -33
  2. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  3. package/android/gradle/wrapper/gradle-wrapper.properties +5 -0
  4. package/android/gradlew +251 -0
  5. package/android/gradlew.bat +94 -0
  6. package/android/src/main/AndroidManifest.xml +1 -5
  7. package/android/src/main/RCTAppDependencyProvider.h +25 -0
  8. package/android/src/main/RCTAppDependencyProvider.mm +55 -0
  9. package/android/src/main/RCTModulesConformingToProtocolsProvider.h +18 -0
  10. package/android/src/main/RCTModulesConformingToProtocolsProvider.mm +33 -0
  11. package/android/src/main/RCTThirdPartyComponentsProvider.h +16 -0
  12. package/android/src/main/RCTThirdPartyComponentsProvider.mm +28 -0
  13. package/android/src/main/ReactAppDependencyProvider.podspec +34 -0
  14. package/android/src/main/java/com/facebook/fbreact/specs/NativeAirMapsModuleSpec.java +63 -0
  15. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsCalloutManagerDelegate.java +35 -0
  16. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsCalloutManagerInterface.java +17 -0
  17. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsCircleManagerDelegate.java +49 -0
  18. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsCircleManagerInterface.java +23 -0
  19. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsGooglePolygonManagerDelegate.java +49 -0
  20. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsGooglePolygonManagerInterface.java +23 -0
  21. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsMapViewManagerDelegate.java +209 -0
  22. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsMapViewManagerInterface.java +74 -0
  23. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsMarkerManagerDelegate.java +104 -0
  24. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsMarkerManagerInterface.java +39 -0
  25. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsOverlayManagerDelegate.java +45 -0
  26. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsOverlayManagerInterface.java +22 -0
  27. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsPolylineManagerDelegate.java +58 -0
  28. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsPolylineManagerInterface.java +26 -0
  29. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsUrlTileManagerDelegate.java +62 -0
  30. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsUrlTileManagerInterface.java +27 -0
  31. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsWMSTileManagerDelegate.java +56 -0
  32. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsWMSTileManagerInterface.java +25 -0
  33. package/android/src/main/java/com/rnmaps/fabric/CalloutManager.java +77 -0
  34. package/android/src/main/java/com/rnmaps/fabric/CircleManager.java +94 -0
  35. package/android/src/main/java/com/rnmaps/fabric/JSONUtil.java +86 -0
  36. package/android/src/main/java/com/rnmaps/fabric/MapViewManager.java +623 -0
  37. package/android/src/main/java/com/rnmaps/fabric/MarkerManager.java +258 -0
  38. package/android/src/main/java/com/rnmaps/fabric/NativeAirMapsModule.java +284 -0
  39. package/android/src/main/java/com/rnmaps/fabric/OverlayManager.java +101 -0
  40. package/android/src/main/java/com/rnmaps/fabric/PolygonManager.java +89 -0
  41. package/android/src/main/java/com/rnmaps/fabric/PolylineManager.java +121 -0
  42. package/android/src/main/java/com/rnmaps/fabric/UrlTileManager.java +124 -0
  43. package/android/src/main/java/com/rnmaps/fabric/WMSTileManager.java +114 -0
  44. package/android/src/main/java/com/rnmaps/fabric/event/OnCalloutPressEvent.java +25 -0
  45. package/android/src/main/java/com/rnmaps/fabric/event/OnDeselectEvent.java +28 -0
  46. package/android/src/main/java/com/rnmaps/fabric/event/OnDoublePressEvent.java +27 -0
  47. package/android/src/main/java/com/rnmaps/fabric/event/OnDragEndEvent.java +28 -0
  48. package/android/src/main/java/com/rnmaps/fabric/event/OnDragEvent.java +28 -0
  49. package/android/src/main/java/com/rnmaps/fabric/event/OnDragStartEvent.java +28 -0
  50. package/android/src/main/java/com/rnmaps/fabric/event/OnIndoorBuildingFocusedEvent.java +28 -0
  51. package/android/src/main/java/com/rnmaps/fabric/event/OnIndoorLevelActivatedEvent.java +28 -0
  52. package/android/src/main/java/com/rnmaps/fabric/event/OnKmlReadyEvent.java +28 -0
  53. package/android/src/main/java/com/rnmaps/fabric/event/OnLongPressEvent.java +28 -0
  54. package/android/src/main/java/com/rnmaps/fabric/event/OnMapLoadedEvent.java +29 -0
  55. package/android/src/main/java/com/rnmaps/fabric/event/OnMapReadyEvent.java +29 -0
  56. package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDeselectEvent.java +28 -0
  57. package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDragEndEvent.java +28 -0
  58. package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDragEvent.java +28 -0
  59. package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDragStartEvent.java +28 -0
  60. package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerPressEvent.java +28 -0
  61. package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerSelectEvent.java +28 -0
  62. package/android/src/main/java/com/rnmaps/fabric/event/OnPanDragEvent.java +28 -0
  63. package/android/src/main/java/com/rnmaps/fabric/event/OnPoiClickEvent.java +27 -0
  64. package/android/src/main/java/com/rnmaps/fabric/event/OnPressEvent.java +27 -0
  65. package/android/src/main/java/com/rnmaps/fabric/event/OnRegionChangeCompleteEvent.java +30 -0
  66. package/android/src/main/java/com/rnmaps/fabric/event/OnRegionChangeEvent.java +48 -0
  67. package/android/src/main/java/com/rnmaps/fabric/event/OnRegionChangeStartEvent.java +33 -0
  68. package/android/src/main/java/com/rnmaps/fabric/event/OnSelectEvent.java +28 -0
  69. package/android/src/main/java/com/rnmaps/fabric/event/OnUserLocationChangeEvent.java +28 -0
  70. package/android/src/main/java/com/{airbnb/android/react → rnmaps}/maps/FileUtil.java +3 -6
  71. package/android/src/main/java/com/{airbnb/android/react → rnmaps}/maps/FusedLocationSource.java +5 -2
  72. package/android/src/main/java/com/{airbnb/android/react → rnmaps}/maps/ImageReadable.java +1 -1
  73. package/android/src/main/java/com/{airbnb/android/react → rnmaps}/maps/ImageReader.java +5 -7
  74. package/android/src/main/java/com/{airbnb/android/react → rnmaps}/maps/ImageUtil.java +1 -2
  75. package/android/src/main/java/com/{airbnb/android/react → rnmaps}/maps/LatLngBoundsUtils.java +1 -1
  76. package/android/src/main/java/com/rnmaps/maps/MapAirModulePackage.java +98 -0
  77. package/android/src/main/java/com/rnmaps/maps/MapCallout.java +41 -0
  78. package/android/src/main/java/com/{airbnb/android/react/maps/AirMapCalloutManager.java → rnmaps/maps/MapCalloutManager.java} +6 -6
  79. package/android/src/main/java/com/{airbnb/android/react/maps/AirMapCircle.java → rnmaps/maps/MapCircle.java} +34 -8
  80. package/android/src/main/java/com/{airbnb/android/react/maps/AirMapCircleManager.java → rnmaps/maps/MapCircleManager.java} +15 -20
  81. package/android/src/main/java/com/rnmaps/maps/MapFeature.java +17 -0
  82. package/android/src/main/java/com/{airbnb/android/react/maps/AirMapGradientPolyline.java → rnmaps/maps/MapGradientPolyline.java} +9 -12
  83. package/android/src/main/java/com/{airbnb/android/react/maps/AirMapGradientPolylineManager.java → rnmaps/maps/MapGradientPolylineManager.java} +13 -18
  84. package/android/src/main/java/com/{airbnb/android/react/maps/AirMapHeatmap.java → rnmaps/maps/MapHeatmap.java} +8 -9
  85. package/android/src/main/java/com/{airbnb/android/react/maps/AirMapHeatmapManager.java → rnmaps/maps/MapHeatmapManager.java} +8 -8
  86. package/android/src/main/java/com/{airbnb/android/react/maps/AirMapLocalTile.java → rnmaps/maps/MapLocalTile.java} +19 -16
  87. package/android/src/main/java/com/rnmaps/maps/MapLocalTileManager.java +54 -0
  88. package/android/src/main/java/com/rnmaps/maps/MapManager.java +504 -0
  89. package/android/src/main/java/com/rnmaps/maps/MapMarker.java +706 -0
  90. package/android/src/main/java/com/rnmaps/maps/MapMarkerManager.java +368 -0
  91. package/android/src/main/java/com/rnmaps/maps/MapModule.java +283 -0
  92. package/android/src/main/java/com/rnmaps/maps/MapOverlay.java +262 -0
  93. package/android/src/main/java/com/rnmaps/maps/MapOverlayManager.java +97 -0
  94. package/android/src/main/java/com/{airbnb/android/react/maps/AirMapPolygon.java → rnmaps/maps/MapPolygon.java} +73 -9
  95. package/android/src/main/java/com/{airbnb/android/react/maps/AirMapPolygonManager.java → rnmaps/maps/MapPolygonManager.java} +22 -22
  96. package/android/src/main/java/com/rnmaps/maps/MapPolyline.java +230 -0
  97. package/android/src/main/java/com/{airbnb/android/react/maps/AirMapPolylineManager.java → rnmaps/maps/MapPolylineManager.java} +18 -38
  98. package/android/src/main/java/com/{airbnb/android/react/maps/AirMapTileProvider.java → rnmaps/maps/MapTileProvider.java} +55 -76
  99. package/android/src/main/java/com/{airbnb/android/react/maps/AirMapTileWorker.java → rnmaps/maps/MapTileWorker.java} +7 -14
  100. package/android/src/main/java/com/rnmaps/maps/MapUIBlock.java +64 -0
  101. package/android/src/main/java/com/{airbnb/android/react/maps/AirMapUrlTile.java → rnmaps/maps/MapUrlTile.java} +29 -29
  102. package/android/src/main/java/com/rnmaps/maps/MapUrlTileManager.java +87 -0
  103. package/android/src/main/java/com/rnmaps/maps/MapView.java +1844 -0
  104. package/android/src/main/java/com/{airbnb/android/react/maps/AirMapWMSTile.java → rnmaps/maps/MapWMSTile.java} +11 -17
  105. package/android/src/main/java/com/rnmaps/maps/MapWMSTileManager.java +81 -0
  106. package/android/src/main/java/com/rnmaps/maps/MapsPackage.java +45 -0
  107. package/android/src/main/java/com/{airbnb/android/react → rnmaps}/maps/RegionChangeEvent.java +1 -1
  108. package/android/src/main/java/com/{airbnb/android/react → rnmaps}/maps/SizeReportingShadowNode.java +1 -1
  109. package/android/src/main/java/com/{airbnb/android/react → rnmaps}/maps/ViewAttacherGroup.java +2 -7
  110. package/android/src/main/java/com/{airbnb/android/react → rnmaps}/maps/ViewChangesTracker.java +12 -11
  111. package/android/src/main/jni/CMakeLists.txt +36 -0
  112. package/android/src/main/jni/RNMapsSpecs-generated.cpp +68 -0
  113. package/android/src/main/jni/RNMapsSpecs.h +31 -0
  114. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/ComponentDescriptors.cpp +31 -0
  115. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/ComponentDescriptors.h +33 -0
  116. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/EventEmitters.cpp +979 -0
  117. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/EventEmitters.h +860 -0
  118. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/Props.cpp +227 -0
  119. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/Props.h +1297 -0
  120. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/RNMapsSpecsJSI-generated.cpp +74 -0
  121. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/RNMapsSpecsJSI.h +268 -0
  122. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/ShadowNodes.cpp +26 -0
  123. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/ShadowNodes.h +131 -0
  124. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/States.cpp +16 -0
  125. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/States.h +137 -0
  126. package/app.plugin.js +1 -0
  127. package/ios/AirGoogleMaps/AIRGMSMarker.h +2 -0
  128. package/ios/AirGoogleMaps/AIRGoogleMap.h +22 -12
  129. package/ios/AirGoogleMaps/{AIRGoogleMap.m → AIRGoogleMap.mm} +407 -130
  130. package/ios/AirGoogleMaps/AIRGoogleMapCircle.h +2 -3
  131. package/ios/AirGoogleMaps/AIRGoogleMapCircle.m +42 -3
  132. package/ios/AirGoogleMaps/AIRGoogleMapCoordinate.h +13 -0
  133. package/ios/AirGoogleMaps/AIRGoogleMapCoordinate.m +10 -0
  134. package/ios/AirGoogleMaps/AIRGoogleMapHeatmap.h +1 -1
  135. package/ios/AirGoogleMaps/AIRGoogleMapManager.h +11 -0
  136. package/ios/AirGoogleMaps/AIRGoogleMapManager.mm +543 -0
  137. package/ios/AirGoogleMaps/AIRGoogleMapMarker.h +4 -0
  138. package/ios/AirGoogleMaps/AIRGoogleMapMarker.m +369 -237
  139. package/ios/AirGoogleMaps/AIRGoogleMapMarkerManager.m +3 -2
  140. package/ios/AirGoogleMaps/AIRGoogleMapOverlay.h +0 -1
  141. package/ios/AirGoogleMaps/AIRGoogleMapPolygon.h +7 -6
  142. package/ios/AirGoogleMaps/AIRGoogleMapPolygon.m +62 -5
  143. package/ios/AirGoogleMaps/AIRGoogleMapPolygonManager.m +3 -3
  144. package/ios/AirGoogleMaps/AIRGoogleMapPolyline.h +4 -3
  145. package/ios/AirGoogleMaps/AIRGoogleMapPolyline.m +9 -9
  146. package/ios/AirGoogleMaps/AIRGoogleMapPolylineManager.m +2 -2
  147. package/ios/AirGoogleMaps/AIRGoogleMapUrlTile.m +2 -2
  148. package/ios/AirGoogleMaps/AIRGoogleMapWMSTile.h +1 -1
  149. package/ios/AirGoogleMaps/AIRGoogleMapWMSTile.m +4 -4
  150. package/ios/AirGoogleMaps/RCTConvert+GMSMapViewType.h +3 -0
  151. package/ios/AirGoogleMaps/RCTConvert+GMSMapViewType.m +18 -0
  152. package/ios/AirGoogleMaps/RNMapsGoogleMapView.h +29 -0
  153. package/ios/AirGoogleMaps/RNMapsGoogleMapView.mm +678 -0
  154. package/ios/AirGoogleMaps/RNMapsGoogleMapViewManager.mm +40 -0
  155. package/ios/AirGoogleMaps/RNMapsGooglePolygonView.h +26 -0
  156. package/ios/AirGoogleMaps/RNMapsGooglePolygonView.mm +226 -0
  157. package/ios/AirGoogleMaps/RNMapsGooglePolygonViewManager.mm +26 -0
  158. package/ios/AirGoogleMaps/Resources/GoogleMapsPrivacy.bundle/PrivacyInfo.xcprivacy +110 -0
  159. package/ios/AirMaps/AIRMap.h +19 -14
  160. package/ios/AirMaps/{AIRMap.m → AIRMap.mm} +333 -120
  161. package/ios/AirMaps/AIRMapCircle.m +1 -53
  162. package/ios/AirMaps/AIRMapCoordinate.m +2 -4
  163. package/ios/AirMaps/AIRMapManager.m +64 -218
  164. package/ios/AirMaps/AIRMapMarker.h +5 -0
  165. package/ios/AirMaps/AIRMapMarker.m +180 -69
  166. package/ios/AirMaps/AIRMapMarkerManager.m +3 -0
  167. package/ios/AirMaps/AIRMapOverlay.m +2 -2
  168. package/ios/AirMaps/AIRMapPolygon.m +0 -52
  169. package/ios/AirMaps/AIRMapPolyline.m +3 -2
  170. package/ios/AirMaps/AIRMapWMSTile.m +8 -8
  171. package/ios/AirMaps/Callout/SMCalloutView.m +1 -1
  172. package/ios/AirMaps/FabricPlaceholders/PlaceHolderGoogleMapView.h +25 -0
  173. package/ios/AirMaps/FabricPlaceholders/PlaceHolderGoogleMapView.mm +77 -0
  174. package/ios/AirMaps/FabricPlaceholders/PlaceHolderPolygonView.h +25 -0
  175. package/ios/AirMaps/FabricPlaceholders/PlaceHolderPolygonView.mm +52 -0
  176. package/ios/AirMaps/RCTComponentData+Maps.h +13 -0
  177. package/ios/AirMaps/RCTComponentData+Maps.m +55 -0
  178. package/ios/AirMaps/RCTConvert+AirMap.h +6 -1
  179. package/ios/AirMaps/RCTConvert+AirMap.m +18 -0
  180. package/ios/AirMaps/RNMapsAirModule.h +15 -0
  181. package/ios/AirMaps/RNMapsAirModule.mm +164 -0
  182. package/ios/AirMaps/RNMapsDefines.h +1 -0
  183. package/ios/AirMaps/RNMapsMapView.h +27 -0
  184. package/ios/AirMaps/RNMapsMapView.mm +577 -0
  185. package/ios/AirMaps/RNMapsMapViewManager.mm +42 -0
  186. package/ios/AirMaps/RNMapsMarkerView.h +24 -0
  187. package/ios/AirMaps/RNMapsMarkerView.mm +439 -0
  188. package/ios/AirMaps/RNMapsMarkerViewManager.mm +28 -0
  189. package/ios/AirMaps/UIView+AirMap.h +11 -0
  190. package/ios/AirMaps/UIView+AirMap.m +20 -0
  191. package/ios/AirMaps/module.modulemap +6 -0
  192. package/ios/AirMaps.xcodeproj/project.pbxproj +44 -4
  193. package/ios/PrivacyInfo.xcprivacy +37 -0
  194. package/ios/generated/RCTAppDependencyProvider.h +25 -0
  195. package/ios/generated/RCTAppDependencyProvider.mm +55 -0
  196. package/ios/generated/RCTModulesConformingToProtocolsProvider.h +18 -0
  197. package/ios/generated/RCTModulesConformingToProtocolsProvider.mm +33 -0
  198. package/ios/generated/RCTThirdPartyComponentsProvider.h +16 -0
  199. package/ios/generated/RCTThirdPartyComponentsProvider.mm +26 -0
  200. package/ios/generated/RNMapsAirModuleDelegate.h +24 -0
  201. package/ios/generated/RNMapsHostVewDelegate.h +17 -0
  202. package/ios/generated/RNMapsSpecs/ComponentDescriptors.cpp +29 -0
  203. package/ios/generated/RNMapsSpecs/ComponentDescriptors.h +31 -0
  204. package/ios/generated/RNMapsSpecs/EventEmitters.cpp +977 -0
  205. package/ios/generated/RNMapsSpecs/EventEmitters.h +846 -0
  206. package/ios/generated/RNMapsSpecs/Props.cpp +194 -0
  207. package/ios/generated/RNMapsSpecs/Props.h +1224 -0
  208. package/ios/generated/RNMapsSpecs/RCTComponentViewHelpers.h +591 -0
  209. package/ios/generated/RNMapsSpecs/RNMapsSpecs-generated.mm +92 -0
  210. package/ios/generated/RNMapsSpecs/RNMapsSpecs.h +137 -0
  211. package/ios/generated/RNMapsSpecs/ShadowNodes.cpp +24 -0
  212. package/ios/generated/RNMapsSpecs/ShadowNodes.h +109 -0
  213. package/ios/generated/RNMapsSpecs/States.cpp +16 -0
  214. package/ios/generated/RNMapsSpecs/States.h +113 -0
  215. package/ios/generated/RNMapsSpecsJSI-generated.cpp +74 -0
  216. package/ios/generated/RNMapsSpecsJSI.h +268 -0
  217. package/ios/generated/ReactAppDependencyProvider.podspec +34 -0
  218. package/ios/generated/module.modulemap +15 -0
  219. package/package.json +57 -34
  220. package/plugin/build/android.js +58 -0
  221. package/plugin/build/index.js +10 -0
  222. package/plugin/build/ios.js +176 -0
  223. package/plugin/build/types.js +2 -0
  224. package/react-native-maps.podspec +114 -11
  225. package/react-native.config.js +15 -0
  226. package/src/{AnimatedRegion.js → AnimatedRegion.ts} +26 -21
  227. package/src/Geojson.tsx +541 -0
  228. package/src/MapCallout.tsx +77 -0
  229. package/src/MapCalloutSubview.tsx +64 -0
  230. package/src/MapCircle.tsx +162 -0
  231. package/src/MapHeatmap.tsx +125 -0
  232. package/src/MapLocalTile.tsx +60 -0
  233. package/src/MapMarker.tsx +531 -0
  234. package/src/MapMarkerNativeComponent.ts +51 -0
  235. package/src/MapOverlay.tsx +178 -0
  236. package/src/MapPolygon.tsx +188 -0
  237. package/src/MapPolygon.types.ts +25 -0
  238. package/src/MapPolyline.tsx +215 -0
  239. package/src/MapUrlTile.tsx +169 -0
  240. package/src/MapView.tsx +1235 -0
  241. package/src/MapView.types.ts +212 -0
  242. package/src/MapView.web.ts +2 -0
  243. package/src/MapViewNativeComponent.ts +86 -0
  244. package/src/MapWMSTile.tsx +148 -0
  245. package/src/ProviderConstants.ts +2 -0
  246. package/src/createFabricMap.tsx +253 -0
  247. package/src/decorateMapComponent.ts +230 -0
  248. package/src/fixImageProp.ts +17 -0
  249. package/src/index.ts +52 -0
  250. package/src/sharedTypes.ts +101 -0
  251. package/src/sharedTypesInternal.ts +1 -0
  252. package/src/specs/NativeAirMapsModule.ts +36 -0
  253. package/src/specs/NativeComponentCallout.ts +63 -0
  254. package/src/specs/NativeComponentCircle.ts +93 -0
  255. package/src/specs/NativeComponentGoogleMapView.ts +922 -0
  256. package/src/specs/NativeComponentGooglePolygon.ts +94 -0
  257. package/src/specs/NativeComponentMapView.ts +1100 -0
  258. package/src/specs/NativeComponentMarker.ts +326 -0
  259. package/src/specs/NativeComponentOverlay.ts +98 -0
  260. package/src/specs/NativeComponentPolyline.ts +124 -0
  261. package/src/specs/NativeComponentUrlTile.ts +128 -0
  262. package/src/specs/NativeComponentWMSTile.ts +107 -0
  263. package/LICENSE +0 -21
  264. package/README.md +0 -652
  265. package/android/src/main/assets/ula.kml +0 -1214
  266. package/android/src/main/java/com/airbnb/android/react/maps/AirMapCallout.java +0 -23
  267. package/android/src/main/java/com/airbnb/android/react/maps/AirMapFeature.java +0 -18
  268. package/android/src/main/java/com/airbnb/android/react/maps/AirMapLiteManager.java +0 -20
  269. package/android/src/main/java/com/airbnb/android/react/maps/AirMapLocalTileManager.java +0 -56
  270. package/android/src/main/java/com/airbnb/android/react/maps/AirMapManager.java +0 -500
  271. package/android/src/main/java/com/airbnb/android/react/maps/AirMapMarker.java +0 -630
  272. package/android/src/main/java/com/airbnb/android/react/maps/AirMapMarkerManager.java +0 -370
  273. package/android/src/main/java/com/airbnb/android/react/maps/AirMapModule.java +0 -380
  274. package/android/src/main/java/com/airbnb/android/react/maps/AirMapOverlay.java +0 -169
  275. package/android/src/main/java/com/airbnb/android/react/maps/AirMapOverlayManager.java +0 -81
  276. package/android/src/main/java/com/airbnb/android/react/maps/AirMapPolyline.java +0 -162
  277. package/android/src/main/java/com/airbnb/android/react/maps/AirMapUrlTileManager.java +0 -97
  278. package/android/src/main/java/com/airbnb/android/react/maps/AirMapView.java +0 -1384
  279. package/android/src/main/java/com/airbnb/android/react/maps/AirMapWMSTileManager.java +0 -87
  280. package/android/src/main/java/com/airbnb/android/react/maps/MapsPackage.java +0 -65
  281. package/index.d.ts +0 -637
  282. package/ios/AirGoogleMaps/AIRGoogleMapManager.m +0 -690
  283. package/ios/User.xcconfig +0 -0
  284. package/react-native-google-maps.podspec +0 -22
  285. package/src/Geojson.js +0 -334
  286. package/src/MapCallout.js +0 -51
  287. package/src/MapCalloutSubview.js +0 -44
  288. package/src/MapCircle.js +0 -150
  289. package/src/MapHeatmap.js +0 -99
  290. package/src/MapLocalTile.js +0 -52
  291. package/src/MapMarker.js +0 -377
  292. package/src/MapOverlay.js +0 -86
  293. package/src/MapPolygon.js +0 -202
  294. package/src/MapPolyline.js +0 -168
  295. package/src/MapUrlTile.js +0 -131
  296. package/src/MapView.js +0 -1160
  297. package/src/MapView.web.js +0 -1
  298. package/src/MapWMSTile.js +0 -122
  299. package/src/ProviderConstants.js +0 -2
  300. package/src/decorateMapComponent.js +0 -112
  301. package/src/index.js +0 -31
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.addMapsCocoapods = exports.removeGoogleMapsAppDelegateInit = exports.addGoogleMapsAppDelegateInit = exports.removeGoogleMapsAppDelegateImport = exports.addGoogleMapsAppDelegateImport = exports.withMapsIOS = exports.MATCH_INIT = void 0;
40
+ var ios_plugins_1 = require("@expo/config-plugins/build/plugins/ios-plugins");
41
+ var generateCode_1 = require("@expo/config-plugins/build/utils/generateCode");
42
+ exports.MATCH_INIT = /\bsuper\.application\(\w+?, didFinishLaunchingWithOptions: \w+?\)/g;
43
+ var withMapsIOS = function (config, props) {
44
+ // Set in Info.plist
45
+ if (props === null || props === void 0 ? void 0 : props.iosGoogleMapsApiKey) {
46
+ config = (0, ios_plugins_1.withInfoPlist)(config, function (conf) { return __awaiter(void 0, void 0, void 0, function () {
47
+ return __generator(this, function (_a) {
48
+ if (!conf.ios) {
49
+ conf.ios = {};
50
+ }
51
+ if (!conf.ios.infoPlist) {
52
+ conf.ios.infoPlist = {};
53
+ }
54
+ conf.ios.infoPlist.GMSApiKey = props === null || props === void 0 ? void 0 : props.iosGoogleMapsApiKey;
55
+ return [2 /*return*/, conf];
56
+ });
57
+ }); });
58
+ }
59
+ // Technically adds react-native-maps (Apple maps) and google maps.
60
+ config = withMapsCocoaPods(config, {
61
+ useGoogleMaps: !!(props === null || props === void 0 ? void 0 : props.iosGoogleMapsApiKey),
62
+ });
63
+ // Adds/Removes AppDelegate setup for Google Maps API on iOS
64
+ config = withGoogleMapsAppDelegate(config, {
65
+ apiKey: props === null || props === void 0 ? void 0 : props.iosGoogleMapsApiKey,
66
+ });
67
+ return config;
68
+ };
69
+ exports.withMapsIOS = withMapsIOS;
70
+ function addGoogleMapsAppDelegateImport(src) {
71
+ var newSrc = ['#if canImport(GoogleMaps)', 'import GoogleMaps', '#endif'];
72
+ return (0, generateCode_1.mergeContents)({
73
+ tag: 'react-native-maps-import',
74
+ src: src,
75
+ newSrc: newSrc.join('\n'),
76
+ anchor: /@UIApplicationMain/,
77
+ offset: 0,
78
+ comment: '//',
79
+ });
80
+ }
81
+ exports.addGoogleMapsAppDelegateImport = addGoogleMapsAppDelegateImport;
82
+ function removeGoogleMapsAppDelegateImport(src) {
83
+ return (0, generateCode_1.removeContents)({
84
+ tag: 'react-native-maps-import',
85
+ src: src,
86
+ });
87
+ }
88
+ exports.removeGoogleMapsAppDelegateImport = removeGoogleMapsAppDelegateImport;
89
+ function addGoogleMapsAppDelegateInit(src, apiKey) {
90
+ var newSrc = [
91
+ '#if canImport(GoogleMaps)',
92
+ "GMSServices.provideAPIKey(\"".concat(apiKey, "\")"),
93
+ '#endif',
94
+ ];
95
+ return (0, generateCode_1.mergeContents)({
96
+ tag: 'react-native-maps-init',
97
+ src: src,
98
+ newSrc: newSrc.join('\n'),
99
+ anchor: exports.MATCH_INIT,
100
+ offset: 0,
101
+ comment: '//',
102
+ });
103
+ }
104
+ exports.addGoogleMapsAppDelegateInit = addGoogleMapsAppDelegateInit;
105
+ function removeGoogleMapsAppDelegateInit(src) {
106
+ return (0, generateCode_1.removeContents)({
107
+ tag: 'react-native-maps-init',
108
+ src: src,
109
+ });
110
+ }
111
+ exports.removeGoogleMapsAppDelegateInit = removeGoogleMapsAppDelegateInit;
112
+ /**
113
+ * @param src The contents of the Podfile.
114
+ * @returns Podfile with react-native-maps integration configured.
115
+ */
116
+ function addMapsCocoapods(src, useGoogleMaps) {
117
+ var newSrc = ' rn_maps_path = File.dirname(`node --print "require.resolve(\'react-native-maps/package.json\')"`) \n';
118
+ if (useGoogleMaps) {
119
+ newSrc += " pod 'react-native-google-maps', :path => rn_maps_path \n";
120
+ }
121
+ newSrc += " pod 'react-native-maps-generated', :path => rn_maps_path \n";
122
+ return (0, generateCode_1.mergeContents)({
123
+ tag: 'react-native-maps',
124
+ src: src,
125
+ newSrc: newSrc,
126
+ anchor: /use_native_modules/,
127
+ offset: 0,
128
+ comment: '#',
129
+ });
130
+ }
131
+ exports.addMapsCocoapods = addMapsCocoapods;
132
+ var withMapsCocoaPods = function (config, _a) {
133
+ var useGoogleMaps = _a.useGoogleMaps;
134
+ return (0, ios_plugins_1.withPodfile)(config, function (conf) { return __awaiter(void 0, void 0, void 0, function () {
135
+ var results;
136
+ return __generator(this, function (_a) {
137
+ try {
138
+ results = addMapsCocoapods(conf.modResults.contents, useGoogleMaps);
139
+ }
140
+ catch (error) {
141
+ if (error.code === 'ERR_NO_MATCH') {
142
+ throw new Error("Cannot add react-native-maps to the project's ios/Podfile because it's malformed. Please report this with a copy of your project Podfile.");
143
+ }
144
+ throw error;
145
+ }
146
+ if (results.didMerge || results.didClear) {
147
+ conf.modResults.contents = results.contents;
148
+ }
149
+ return [2 /*return*/, conf];
150
+ });
151
+ }); });
152
+ };
153
+ var withGoogleMapsAppDelegate = function (config, _a) {
154
+ var apiKey = _a.apiKey;
155
+ return (0, ios_plugins_1.withAppDelegate)(config, function (conf) {
156
+ if (!apiKey) {
157
+ conf.modResults.contents = removeGoogleMapsAppDelegateImport(conf.modResults.contents).contents;
158
+ conf.modResults.contents = removeGoogleMapsAppDelegateInit(conf.modResults.contents).contents;
159
+ return conf;
160
+ }
161
+ if (conf.modResults.language !== 'swift') {
162
+ throw new Error("Cannot setup Google Maps because the project AppDelegate is not a supported language: ".concat(conf.modResults.language));
163
+ }
164
+ try {
165
+ conf.modResults.contents = addGoogleMapsAppDelegateImport(conf.modResults.contents).contents;
166
+ conf.modResults.contents = addGoogleMapsAppDelegateInit(conf.modResults.contents, apiKey).contents;
167
+ }
168
+ catch (error) {
169
+ if (error.code === 'ERR_NO_MATCH') {
170
+ throw new Error("Cannot add Google Maps to the project's AppDelegate because it's malformed. Please report this with a copy of your project AppDelegate.");
171
+ }
172
+ throw error;
173
+ }
174
+ return conf;
175
+ });
176
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,19 +1,122 @@
1
1
  require 'json'
2
-
3
2
  package = JSON.parse(File.read(File.join(__dir__, 'package.json')))
4
3
 
4
+ folly_config = get_folly_config()
5
+ folly_compiler_flags = folly_config[:compiler_flags]
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
+
5
9
  Pod::Spec.new do |s|
6
- s.name = "react-native-maps"
7
- s.version = package['version']
8
- s.summary = "React Native Mapview component for iOS + Android"
10
+ s.name = "react-native-maps"
11
+ s.version = package['version']
12
+ s.summary = package["description"]
13
+ s.authors = package["author"]
14
+ s.homepage = package["homepage"]
15
+ s.license = package["license"]
16
+ s.platform = :ios, "15.1"
17
+ s.source = { :git => "https://github.com/react-native-maps/react-native-maps.git", :tag => "v#{s.version}" }
18
+
19
+ # Set module_name at the root spec level
20
+ s.module_name = 'ReactNativeMaps'
21
+
22
+ # Generated code subspec
23
+ s.subspec 'Generated' do |ss|
24
+ ss.source_files = "ios/generated/**/*.{h,m,mm,cpp,swift}"
25
+ ss.exclude_files = [
26
+ "ios/generated/RCTAppDependencyProvider.h",
27
+ "ios/generated/RCTAppDependencyProvider.mm",
28
+ "ios/generated/RCTThirdPartyComponentsProvider.h",
29
+ "ios/generated/RCTThirdPartyComponentsProvider.mm",
30
+ "ios/generated/RCTModulesConformingToProtocolsProvider.h",
31
+ "ios/generated/RCTModulesConformingToProtocolsProvider.mm",
32
+ ]
33
+ ss.public_header_files = "ios/generated/**/*.h"
34
+ ss.compiler_flags = folly_compiler_flags
35
+ install_modules_dependencies(ss)
36
+ end
37
+
38
+ # Main maps component
39
+ s.subspec 'Maps' do |ss|
40
+ ss.source_files = "ios/AirMaps/**/*.{h,m,mm,swift}"
41
+ ss.public_header_files = [
42
+ 'ios/AirMaps/UIView+AirMap.h',
43
+ 'ios/AirMaps/RCTConvert+AirMap.h',
44
+ ]
45
+ ss.compiler_flags = folly_compiler_flags
46
+ ss.dependency 'react-native-maps/Generated'
47
+ install_modules_dependencies(ss)
48
+ # Add script phase to detect Google Maps
49
+ ss.script_phases = [
50
+ {
51
+ :name => 'react-native-maps patches',
52
+ :script => %(
53
+ set -x
54
+ echo "Running Google Maps detection script..."
55
+ DEFINES_DIR="${PODS_TARGET_SRCROOT}/ios/AirMaps"
56
+ DEFINES_FILE="${DEFINES_DIR}/RNMapsDefines.h"
57
+
58
+ mkdir -p "$DEFINES_DIR"
59
+
60
+ if [ -d "$PODS_ROOT/GoogleMaps" ] && [ -d "$PODS_ROOT/Google-Maps-iOS-Utils" ]; then
61
+ echo "#define HAVE_GOOGLE_MAPS 1" > "$DEFINES_FILE"
62
+ echo "✅ Google Maps libraries detected. HAVE_GOOGLE_MAPS defined."
63
+ else
64
+ echo "#define HAVE_GOOGLE_MAPS 0" > "$DEFINES_FILE"
65
+ echo "❌ Google Maps libraries NOT detected. HAVE_GOOGLE_MAPS set to 0."
66
+ fi
67
+
68
+ if [ -f "$DEFINES_FILE" ]; then
69
+ echo "✅ Successfully wrote to $DEFINES_FILE"
70
+ cat "$DEFINES_FILE"
71
+ else
72
+ echo "❌ ERROR: Failed to write to $DEFINES_FILE"
73
+ fi
74
+
75
+ set -e
76
+ echo "🔧 Patching @import GoogleMaps..."
77
+
78
+ FILES=(
79
+ "$PODS_ROOT/Google-Maps-iOS-Utils/Sources/GoogleMapsUtilsObjC/include/GMSMarker+GMUClusteritem.h"
80
+ "$PODS_ROOT/Google-Maps-iOS-Utils/Sources/GoogleMapsUtilsObjC/include/GMUGeoJSONParser.h"
81
+ "$PODS_ROOT/Google-Maps-iOS-Utils/Sources/GoogleMapsUtilsObjC/include/GMUPolygon.h"
82
+ "$PODS_ROOT/Google-Maps-iOS-Utils/Sources/GoogleMapsUtilsObjC/include/GMUWeightedLatLng.h"
83
+ "$PODS_ROOT/GoogleMaps/Maps/Sources/GMSEmpty.h"
84
+ )
85
+
86
+ for file in "${FILES[@]}"; do
87
+ if [ -f "$file" ]; then
88
+ if grep -q "@import GoogleMaps;" "$file"; then
89
+ sed -i '' 's/@import GoogleMaps;/#import <GoogleMaps\\/GoogleMaps.h>/' "$file"
90
+ echo "✅ Patched: $file"
91
+ else
92
+ echo "ℹ️ No @import in: $file"
93
+ fi
94
+ else
95
+ echo "⚠️ Not found: $file"
96
+ fi
97
+ done
98
+ ),
99
+ :execution_position => :before_compile
100
+ }
101
+ ]
102
+ end
9
103
 
10
- s.authors = { "intelligibabble" => "leland.m.richardson@gmail.com" }
11
- s.homepage = "https://github.com/react-native-maps/react-native-maps#readme"
12
- s.license = "MIT"
13
- s.platform = :ios, "11.0"
104
+ # Google Maps subspec
105
+ s.subspec 'Google' do |ss|
106
+ ss.source_files = "ios/AirGoogleMaps/**/*.{h,m,mm,swift}"
107
+ ss.resource_bundles = {
108
+ 'GoogleMapsPrivacy' => ['ios/AirGoogleMaps/Resources/GoogleMapsPrivacy.bundle']
109
+ }
110
+ # Fixed compiler flags to avoid -Wno warnings
111
+ ss.compiler_flags = folly_compiler_flags + ' -DHAVE_GOOGLE_MAPS=1 -DHAVE_GOOGLE_MAPS_UTILS=1'
112
+ ss.dependency 'GoogleMaps', '9.3.0'
113
+ ss.dependency 'Google-Maps-iOS-Utils', '6.1.0'
114
+ ss.dependency 'react-native-maps/Generated'
115
+ ss.dependency 'react-native-maps/Maps'
116
+ install_modules_dependencies(ss)
117
+ end
14
118
 
15
- s.source = { :git => "https://github.com/react-native-maps/react-native-maps.git", :tag=> "v#{s.version}" }
16
- s.source_files = "ios/AirMaps/**/*.{h,m}"
119
+ # By default, use the Maps subspec
120
+ s.default_subspec = 'Maps'
17
121
 
18
- s.dependency 'React-Core'
19
122
  end
@@ -0,0 +1,15 @@
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
+ module.exports = {
8
+ dependency: {
9
+ platforms: {
10
+ android: {
11
+ cmakeListsPath: 'src/main/jni/CMakeLists.txt',
12
+ },
13
+ },
14
+ },
15
+ };
@@ -1,15 +1,16 @@
1
- import { Animated } from 'react-native';
1
+ import {Animated} from 'react-native';
2
+ import {Region} from './sharedTypes';
2
3
 
3
4
  const AnimatedWithChildren = Object.getPrototypeOf(Animated.ValueXY);
4
5
  if (__DEV__) {
5
6
  if (AnimatedWithChildren.name !== 'AnimatedWithChildren') {
6
7
  console.error(
7
- 'AnimatedRegion could not obtain AnimatedWithChildren base class'
8
+ 'AnimatedRegion could not obtain AnimatedWithChildren base class',
8
9
  );
9
10
  }
10
11
  }
11
12
 
12
- const configTypes = [
13
+ const configTypes: (keyof Region)[] = [
13
14
  'latitude',
14
15
  'longitude',
15
16
  'latitudeDelta',
@@ -26,7 +27,11 @@ const defaultValues = {
26
27
 
27
28
  let _uniqueId = 1;
28
29
 
29
- const getAnimatedValue = (valueIn, fallback) => {
30
+ type TValueIn = number | Animated.Value | undefined;
31
+
32
+ type Props = Partial<Region> | undefined;
33
+
34
+ const getAnimatedValue = (valueIn: TValueIn, fallback: number) => {
30
35
  if (valueIn instanceof Animated.Value) {
31
36
  return valueIn;
32
37
  } else if (typeof valueIn === 'number') {
@@ -36,32 +41,32 @@ const getAnimatedValue = (valueIn, fallback) => {
36
41
  };
37
42
 
38
43
  export default class AnimatedMapRegion extends AnimatedWithChildren {
39
- constructor(valueIn = {}) {
44
+ constructor(valueIn: Props = {}) {
40
45
  super();
41
46
  this.latitude = getAnimatedValue(valueIn.latitude, defaultValues.latitude);
42
47
  this.longitude = getAnimatedValue(
43
48
  valueIn.longitude,
44
- defaultValues.longitude
49
+ defaultValues.longitude,
45
50
  );
46
51
  this.latitudeDelta = getAnimatedValue(
47
52
  valueIn.latitudeDelta,
48
- defaultValues.latitudeDelta
53
+ defaultValues.latitudeDelta,
49
54
  );
50
55
  this.longitudeDelta = getAnimatedValue(
51
56
  valueIn.longitudeDelta,
52
- defaultValues.longitudeDelta
57
+ defaultValues.longitudeDelta,
53
58
  );
54
59
  this._regionListeners = {};
55
60
  }
56
61
 
57
- setValue(value) {
62
+ setValue(value: Region) {
58
63
  this.latitude._value = value.latitude;
59
64
  this.longitude._value = value.longitude;
60
65
  this.latitudeDelta._value = value.latitudeDelta;
61
66
  this.longitudeDelta._value = value.longitudeDelta;
62
67
  }
63
68
 
64
- setOffset(offset) {
69
+ setOffset(offset: Region) {
65
70
  this.latitude.setOffset(offset.latitude);
66
71
  this.longitude.setOffset(offset.longitude);
67
72
  this.latitudeDelta.setOffset(offset.latitudeDelta);
@@ -75,7 +80,7 @@ export default class AnimatedMapRegion extends AnimatedWithChildren {
75
80
  this.longitudeDelta.flattenOffset();
76
81
  }
77
82
 
78
- __getValue() {
83
+ private __getValue() {
79
84
  return {
80
85
  latitude: this.latitude.__getValue(),
81
86
  longitude: this.longitude.__getValue(),
@@ -84,21 +89,21 @@ export default class AnimatedMapRegion extends AnimatedWithChildren {
84
89
  };
85
90
  }
86
91
 
87
- __attach() {
92
+ private __attach() {
88
93
  this.latitude.__addChild(this);
89
94
  this.longitude.__addChild(this);
90
95
  this.latitudeDelta.__addChild(this);
91
96
  this.longitudeDelta.__addChild(this);
92
97
  }
93
98
 
94
- __detach() {
99
+ private __detach() {
95
100
  this.latitude.__removeChild(this);
96
101
  this.longitude.__removeChild(this);
97
102
  this.latitudeDelta.__removeChild(this);
98
103
  this.longitudeDelta.__removeChild(this);
99
104
  }
100
105
 
101
- stopAnimation(callback) {
106
+ stopAnimation(callback: (region: Region) => void) {
102
107
  this.latitude.stopAnimation();
103
108
  this.longitude.stopAnimation();
104
109
  this.latitudeDelta.stopAnimation();
@@ -106,7 +111,7 @@ export default class AnimatedMapRegion extends AnimatedWithChildren {
106
111
  callback && callback(this.__getValue());
107
112
  }
108
113
 
109
- addListener(callback) {
114
+ addListener(callback: (region: Region) => void) {
110
115
  const id = String(_uniqueId++);
111
116
  const jointCallback = () => /*{value}*/ callback(this.__getValue());
112
117
  this._regionListeners[id] = {
@@ -118,17 +123,17 @@ export default class AnimatedMapRegion extends AnimatedWithChildren {
118
123
  return id;
119
124
  }
120
125
 
121
- removeListener(id) {
126
+ removeListener(id: string) {
122
127
  this.latitude.removeListener(this._regionListeners[id].latitude);
123
128
  this.longitude.removeListener(this._regionListeners[id].longitude);
124
129
  this.latitudeDelta.removeListener(this._regionListeners[id].latitudeDelta);
125
130
  this.longitudeDelta.removeListener(
126
- this._regionListeners[id].longitudeDelta
131
+ this._regionListeners[id].longitudeDelta,
127
132
  );
128
133
  delete this._regionListeners[id];
129
134
  }
130
135
 
131
- spring(config) {
136
+ spring(config: Animated.SpringAnimationConfig & Region) {
132
137
  const animations = [];
133
138
  for (const type of configTypes) {
134
139
  if (config.hasOwnProperty(type)) {
@@ -138,14 +143,14 @@ export default class AnimatedMapRegion extends AnimatedWithChildren {
138
143
  toValue: config[type],
139
144
  // may help to eliminate some dev warnings and perf issues
140
145
  useNativeDriver: !!config?.useNativeDriver,
141
- })
146
+ }),
142
147
  );
143
148
  }
144
149
  }
145
150
  return Animated.parallel(animations);
146
151
  }
147
152
 
148
- timing(config) {
153
+ timing(config: Animated.TimingAnimationConfig & Region) {
149
154
  const animations = [];
150
155
  for (const type of configTypes) {
151
156
  if (config.hasOwnProperty(type)) {
@@ -155,7 +160,7 @@ export default class AnimatedMapRegion extends AnimatedWithChildren {
155
160
  toValue: config[type],
156
161
  // may help to eliminate some dev warnings and perf issues
157
162
  useNativeDriver: !!config?.useNativeDriver,
158
- })
163
+ }),
159
164
  );
160
165
  }
161
166
  }