react-native-maps 0.31.0 → 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
@@ -14,6 +14,8 @@
14
14
  #import <React/RCTImageLoaderProtocol.h>
15
15
  #import <React/RCTUtils.h>
16
16
  #import <React/UIView+React.h>
17
+ #import <React/RCTImageLoader.h>
18
+ #import <React/RCTBridge+Private.h>
17
19
 
18
20
  NSInteger const AIR_CALLOUT_OPEN_ZINDEX_BASELINE = 999;
19
21
 
@@ -23,9 +25,18 @@ NSInteger const AIR_CALLOUT_OPEN_ZINDEX_BASELINE = 999;
23
25
  @implementation AIRMapMarker {
24
26
  BOOL _hasSetCalloutOffset;
25
27
  RCTImageLoaderCancellationBlock _reloadImageCancellationBlock;
28
+ MKMarkerAnnotationView *_markerView;
26
29
  MKPinAnnotationView *_pinView;
27
30
  BOOL _calloutIsOpen;
28
31
  NSInteger _zIndexBeforeOpen;
32
+ BOOL _useLegacyPinView;
33
+
34
+ CADisplayLink *_displayLink;
35
+ CLLocationCoordinate2D _startCoordinate;
36
+ CLLocationCoordinate2D _endCoordinate;
37
+ NSTimeInterval _animationStartTime;
38
+ NSTimeInterval _animationDuration;
39
+ BOOL _isAnimating;
29
40
  }
30
41
 
31
42
  - (instancetype)initWithFrame:(CGRect)frame {
@@ -50,10 +61,10 @@ NSInteger const AIR_CALLOUT_OPEN_ZINDEX_BASELINE = 999;
50
61
 
51
62
  // Avoid crashes due to nan coords
52
63
  if (isnan(center.x) || isnan(center.y) ||
53
- isnan(bounds.origin.x) || isnan(bounds.origin.y) ||
54
- isnan(bounds.size.width) || isnan(bounds.size.height)) {
64
+ isnan(bounds.origin.x) || isnan(bounds.origin.y) ||
65
+ isnan(bounds.size.width) || isnan(bounds.size.height)) {
55
66
  RCTLogError(@"Invalid layout for (%@)%@. position: %@. bounds: %@",
56
- self.reactTag, self, NSStringFromCGPoint(center), NSStringFromCGRect(bounds));
67
+ self.reactTag, self, NSStringFromCGPoint(center), NSStringFromCGRect(bounds));
57
68
  return;
58
69
  }
59
70
 
@@ -66,44 +77,74 @@ NSInteger const AIR_CALLOUT_OPEN_ZINDEX_BASELINE = 999;
66
77
  self.calloutView = (AIRMapCallout *)subview;
67
78
  } else {
68
79
  [super insertReactSubview:(UIView *)subview atIndex:atIndex];
80
+ [self addSubview:subview];
69
81
  }
70
82
  }
83
+ - (void) setFrame:(CGRect)frame {
84
+ // hack to ignore call by react transactions when it shouldn't
85
+ if (!CGPointEqualToPoint(self.frame.origin, CGPointZero) &&
86
+ CGPointEqualToPoint(frame.origin, CGPointZero)){
87
+ return;
88
+ }
89
+ [super setFrame:frame];
90
+ }
71
91
 
72
92
  - (void)removeReactSubview:(id<RCTComponent>)subview {
73
93
  if ([subview isKindOfClass:[AIRMapCallout class]] && self.calloutView == subview) {
74
94
  self.calloutView = nil;
75
95
  } else {
76
96
  [super removeReactSubview:(UIView *)subview];
97
+ [(UIView *) subview removeFromSuperview];
77
98
  }
78
99
  }
79
100
 
80
101
  - (MKAnnotationView *)getAnnotationView
81
102
  {
82
103
  if ([self shouldUsePinView]) {
83
- // In this case, we want to render a platform "default" marker.
84
- if (_pinView == nil) {
104
+ // In this case, we want to render a platform "default" legacy marker.
105
+
106
+
107
+ if (_pinView == nil && _useLegacyPinView) {
85
108
  _pinView = [[MKPinAnnotationView alloc] initWithAnnotation:self reuseIdentifier: nil];
86
109
  [self addGestureRecognizerToView:_pinView];
87
110
  _pinView.annotation = self;
88
- }
89
111
 
90
- _pinView.draggable = self.draggable;
91
- _pinView.layer.zPosition = self.zIndex;
112
+ if ([_pinView respondsToSelector:@selector(setPinTintColor:)]) {
113
+ _pinView.pinTintColor = self.pinColor;
114
+ }
92
115
 
93
- // TODO(lmr): Looks like this API was introduces in iOS 8. We may want to handle differently for earlier
94
- // versions. Right now it's just leaving it with the default color. People needing the colors are free to
95
- // use their own custom markers.
96
- if ([_pinView respondsToSelector:@selector(setPinTintColor:)]) {
97
- _pinView.pinTintColor = self.pinColor;
116
+ _pinView.draggable = self.draggable;
117
+ _pinView.layer.zPosition = self.zIndex;
118
+ _pinView.displayPriority = self.displayPriority;
119
+ _pinView.zPriority = self.zIndex;
120
+ return _pinView;
98
121
  }
99
122
 
100
- return _pinView;
123
+
124
+
125
+ if (_markerView == nil && !_useLegacyPinView) {
126
+ _markerView = [[MKMarkerAnnotationView alloc] initWithAnnotation:self reuseIdentifier: nil];
127
+ [self addGestureRecognizerToView:_markerView];
128
+ _markerView.annotation = self;
129
+
130
+ _markerView.draggable = self.draggable;
131
+ _markerView.layer.zPosition = self.zIndex;
132
+ _markerView.markerTintColor = self.pinColor;
133
+ _markerView.titleVisibility = self.titleVisibility ?: MKFeatureVisibilityHidden;
134
+ _markerView.subtitleVisibility = self.subtitleVisibility ?: MKFeatureVisibilityHidden;
135
+ _markerView.displayPriority = self.displayPriority;
136
+ _markerView.zPriority = self.zIndex;
137
+
138
+
139
+ }
140
+ return _markerView ?: _pinView;
101
141
  } else {
102
142
  // If it has subviews, it means we are wanting to render a custom marker with arbitrary react views.
103
143
  // if it has a non-null image, it means we want to render a custom marker with the image.
104
144
  // In either case, we want to return the AIRMapMarker since it is both an MKAnnotation and an
105
145
  // MKAnnotationView all at the same time.
106
146
  self.layer.zPosition = self.zIndex;
147
+ self.zPriority = self.zIndex;
107
148
  return self;
108
149
  }
109
150
  }
@@ -113,7 +154,7 @@ NSInteger const AIR_CALLOUT_OPEN_ZINDEX_BASELINE = 999;
113
154
  // Set everything necessary on the calloutView before it becomes visible.
114
155
 
115
156
  // Apply the MKAnnotationView's desired calloutOffset (from the top-middle of the view)
116
- if ([self shouldUsePinView] && !_hasSetCalloutOffset) {
157
+ if ([self shouldUsePinView] && !_hasSetCalloutOffset && _useLegacyPinView) {
117
158
  calloutView.calloutOffset = CGPointMake(-8,0);
118
159
  } else {
119
160
  calloutView.calloutOffset = self.calloutOffset;
@@ -158,12 +199,12 @@ NSInteger const AIR_CALLOUT_OPEN_ZINDEX_BASELINE = 999;
158
199
  [self.map selectAnnotation:self animated:NO];
159
200
 
160
201
  id event = @{
161
- @"action": @"marker-select",
162
- @"id": self.identifier ?: @"unknown",
163
- @"coordinate": @{
164
- @"latitude": @(self.coordinate.latitude),
165
- @"longitude": @(self.coordinate.longitude)
166
- }
202
+ @"action": @"marker-select",
203
+ @"id": self.identifier ?: @"unknown",
204
+ @"coordinate": @{
205
+ @"latitude": @(self.coordinate.latitude),
206
+ @"longitude": @(self.coordinate.longitude)
207
+ }
167
208
  };
168
209
 
169
210
  if (self.map.onMarkerSelect) self.map.onMarkerSelect(event);
@@ -179,9 +220,9 @@ NSInteger const AIR_CALLOUT_OPEN_ZINDEX_BASELINE = 999;
179
220
  // This is where we present our custom callout view... MapKit's built-in callout doesn't have the flexibility
180
221
  // we need, but a lot of work was done by Nick Farina to make this identical to MapKit's built-in.
181
222
  [self.map.calloutView presentCalloutFromRect:annotationView.bounds
182
- inView:annotationView
183
- constrainedToView:self.map
184
- animated:YES];
223
+ inView:annotationView
224
+ constrainedToView:self.map
225
+ animated:YES];
185
226
  }
186
227
 
187
228
  #pragma mark - Tap Gesture & Events.
@@ -224,19 +265,19 @@ NSInteger const AIR_CALLOUT_OPEN_ZINDEX_BASELINE = 999;
224
265
  }
225
266
 
226
267
  id event = @{
227
- @"action": calloutSubview ? @"callout-inside-press" : @"callout-press",
228
- @"id": marker.identifier ?: @"unknown",
229
- @"point": @{
230
- @"x": @(touchPointReal.x),
231
- @"y": @(touchPointReal.y),
232
- },
233
- @"frame": @{
234
- @"x": @(bubbleFrame.origin.x),
235
- @"y": @(bubbleFrame.origin.y),
236
- @"width": @(bubbleFrame.size.width),
237
- @"height": @(bubbleFrame.size.height),
238
- }
239
- };
268
+ @"action": calloutSubview ? @"callout-inside-press" : @"callout-press",
269
+ @"id": marker.identifier ?: @"unknown",
270
+ @"point": @{
271
+ @"x": @(touchPointReal.x),
272
+ @"y": @(touchPointReal.y),
273
+ },
274
+ @"frame": @{
275
+ @"x": @(bubbleFrame.origin.x),
276
+ @"y": @(bubbleFrame.origin.y),
277
+ @"width": @(bubbleFrame.size.width),
278
+ @"height": @(bubbleFrame.size.height),
279
+ }
280
+ };
240
281
 
241
282
  if (calloutSubview) calloutSubview.onPress(event);
242
283
  if (marker.onCalloutPress) marker.onCalloutPress(event);
@@ -247,14 +288,19 @@ NSInteger const AIR_CALLOUT_OPEN_ZINDEX_BASELINE = 999;
247
288
  }
248
289
 
249
290
  // the actual marker got clicked
291
+ CGPoint touchPointReal = [recognizer locationInView:self.calloutView];
250
292
  id event = @{
251
- @"action": @"marker-press",
252
- @"id": marker.identifier ?: @"unknown",
253
- @"coordinate": @{
254
- @"latitude": @(marker.coordinate.latitude),
255
- @"longitude": @(marker.coordinate.longitude)
256
- }
257
- };
293
+ @"action": @"marker-press",
294
+ @"id": marker.identifier ?: @"unknown",
295
+ @"coordinate": @{
296
+ @"latitude": @(marker.coordinate.latitude),
297
+ @"longitude": @(marker.coordinate.longitude)
298
+ },
299
+ @"position": @{
300
+ @"x": @(touchPointReal.x),
301
+ @"y": @(touchPointReal.y),
302
+ }
303
+ };
258
304
 
259
305
  if (marker.onPress) marker.onPress(event);
260
306
  if (marker.map.onMarkerPress) marker.map.onMarkerPress(event);
@@ -273,12 +319,12 @@ NSInteger const AIR_CALLOUT_OPEN_ZINDEX_BASELINE = 999;
273
319
  [self.map deselectAnnotation:self animated:NO];
274
320
 
275
321
  id event = @{
276
- @"action": @"marker-deselect",
277
- @"id": self.identifier ?: @"unknown",
278
- @"coordinate": @{
279
- @"latitude": @(self.coordinate.latitude),
280
- @"longitude": @(self.coordinate.longitude)
281
- }
322
+ @"action": @"marker-deselect",
323
+ @"id": self.identifier ?: @"unknown",
324
+ @"coordinate": @{
325
+ @"latitude": @(self.coordinate.latitude),
326
+ @"longitude": @(self.coordinate.longitude)
327
+ }
282
328
  };
283
329
 
284
330
  if (self.map.onMarkerDeselect) self.map.onMarkerDeselect(event);
@@ -303,7 +349,7 @@ NSInteger const AIR_CALLOUT_OPEN_ZINDEX_BASELINE = 999;
303
349
 
304
350
  - (void)setOpacity:(double)opacity
305
351
  {
306
- [self setAlpha:opacity];
352
+ [self setAlpha:opacity];
307
353
  }
308
354
 
309
355
  - (void)setImageSrc:(NSString *)imageSrc
@@ -314,30 +360,35 @@ NSInteger const AIR_CALLOUT_OPEN_ZINDEX_BASELINE = 999;
314
360
  _reloadImageCancellationBlock();
315
361
  _reloadImageCancellationBlock = nil;
316
362
  }
317
- _reloadImageCancellationBlock = [[_bridge moduleForName:@"ImageLoader"] loadImageWithURLRequest:[RCTConvert NSURLRequest:_imageSrc]
318
- size:self.bounds.size
319
- scale:RCTScreenScale()
320
- clipped:YES
321
- resizeMode:RCTResizeModeCenter
322
- progressBlock:nil
323
- partialLoadBlock:nil
324
- completionBlock:^(NSError *error, UIImage *image) {
325
- if (error) {
326
- // TODO(lmr): do something with the error?
327
- NSLog(@"%@", error);
328
- }
329
- dispatch_async(dispatch_get_main_queue(), ^{
330
- self.image = image;
331
- });
332
- }];
363
+ __weak __typeof(self) weakSelf = self;
364
+
365
+ _reloadImageCancellationBlock = [[[RCTBridge currentBridge] moduleForName:@"ImageLoader"] loadImageWithURLRequest:[RCTConvert NSURLRequest:_imageSrc]
366
+ size:self.bounds.size
367
+ scale:RCTScreenScale()
368
+ clipped:YES
369
+ resizeMode:RCTResizeModeCenter
370
+ progressBlock:nil
371
+ partialLoadBlock:nil
372
+ completionBlock:^(NSError *error, UIImage *image) {
373
+ if (error) {
374
+ // TODO(lmr): do something with the error?
375
+ NSLog(@"failed to load image: %@", error);
376
+ }
377
+ dispatch_async(dispatch_get_main_queue(), ^{
378
+ __strong __typeof(weakSelf) strongSelf = weakSelf;
379
+ strongSelf.image = image;
380
+ });
381
+ }];
333
382
  }
334
383
 
335
384
  - (void)setPinColor:(UIColor *)pinColor
336
385
  {
337
386
  _pinColor = pinColor;
338
387
 
339
- if ([_pinView respondsToSelector:@selector(setPinTintColor:)]) {
388
+ if(_useLegacyPinView && [_pinView respondsToSelector:@selector(setPinTintColor:)]) {
340
389
  _pinView.pinTintColor = _pinColor;
390
+ } else {
391
+ _markerView.markerTintColor = _pinColor;
341
392
  }
342
393
  }
343
394
 
@@ -349,7 +400,7 @@ NSInteger const AIR_CALLOUT_OPEN_ZINDEX_BASELINE = 999;
349
400
  }
350
401
 
351
402
  - (BOOL)isSelected {
352
- return _isPreselected || [super isSelected];
403
+ return _isPreselected || [super isSelected];
353
404
  }
354
405
 
355
406
  - (void)dealloc {
@@ -361,5 +412,65 @@ NSInteger const AIR_CALLOUT_OPEN_ZINDEX_BASELINE = 999;
361
412
  self.layer.zPosition = _zIndex;
362
413
  }
363
414
  }
415
+ - (void)layoutSubviews
416
+ {
417
+ [super layoutSubviews];
418
+
419
+ CGRect reactFrame = self.frame;
420
+
421
+ UIView *firstSubView = self.subviews.firstObject;
422
+ if (firstSubView && (CGRectGetWidth(firstSubView.frame) > CGRectGetWidth(reactFrame) ||
423
+ CGRectGetHeight(firstSubView.frame) > CGRectGetHeight(reactFrame))) {
424
+ reactFrame = firstSubView.frame;
425
+ }
426
+ [self reactSetFrame:reactFrame];
427
+ }
428
+
429
+ - (void)setUseLegacyPinView:(BOOL)value {
430
+ _useLegacyPinView = value;
431
+ }
432
+
433
+ - (void)animateToCoordinate:(CLLocationCoordinate2D)newCoordinate duration:(NSTimeInterval)duration {
434
+ if (_isAnimating) {
435
+ NSLog(@"Animation already in progress. Rejecting new animation request.");
436
+ return;
437
+ }
438
+
439
+ // Mark as animating
440
+ _isAnimating = YES;
441
+
442
+ // Store animation parameters
443
+ _startCoordinate = self.coordinate;
444
+ _endCoordinate = newCoordinate;
445
+ _animationDuration = duration;
446
+ _animationStartTime = [NSDate timeIntervalSinceReferenceDate];
447
+
448
+ // Start a CADisplayLink
449
+ if (_displayLink) {
450
+ [_displayLink invalidate];
451
+ }
452
+ _displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(updatePosition)];
453
+ [_displayLink addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSRunLoopCommonModes];
454
+ }
455
+
456
+ - (void)updatePosition {
457
+ NSTimeInterval elapsed = [NSDate timeIntervalSinceReferenceDate] - _animationStartTime;
458
+ CGFloat progress = MIN(elapsed / _animationDuration, 1.0);
459
+
460
+ // Interpolate coordinates
461
+ CLLocationDegrees currentLatitude = _startCoordinate.latitude + progress * (_endCoordinate.latitude - _startCoordinate.latitude);
462
+ CLLocationDegrees currentLongitude = _startCoordinate.longitude + progress * (_endCoordinate.longitude - _startCoordinate.longitude);
463
+
464
+ // Update annotation's coordinate
465
+ CLLocationCoordinate2D currentCoordinate = CLLocationCoordinate2DMake(currentLatitude, currentLongitude);
466
+ [self setValue:[NSValue valueWithMKCoordinate:currentCoordinate] forKey:@"coordinate"];
467
+
468
+ // Stop the animation when complete
469
+ if (progress == 1.0) {
470
+ [_displayLink invalidate];
471
+ _displayLink = nil;
472
+ _isAnimating = NO; // Reset the animation state
473
+ }
474
+ }
364
475
 
365
476
  @end
@@ -46,6 +46,9 @@ RCT_EXPORT_VIEW_PROPERTY(draggable, BOOL)
46
46
  RCT_EXPORT_VIEW_PROPERTY(zIndex, NSInteger)
47
47
  RCT_EXPORT_VIEW_PROPERTY(opacity, double)
48
48
  RCT_EXPORT_VIEW_PROPERTY(isPreselected, BOOL)
49
+ RCT_EXPORT_VIEW_PROPERTY(titleVisibility, NSString)
50
+ RCT_EXPORT_VIEW_PROPERTY(subtitleVisibility, NSString)
51
+ RCT_EXPORT_VIEW_PROPERTY(useLegacyPinView, BOOL)
49
52
 
50
53
  RCT_EXPORT_VIEW_PROPERTY(onPress, RCTBubblingEventBlock)
51
54
  RCT_EXPORT_VIEW_PROPERTY(onSelect, RCTDirectEventBlock)
@@ -50,8 +50,8 @@
50
50
  - (void)setBoundsRect:(NSArray *)boundsRect {
51
51
  _boundsRect = boundsRect;
52
52
 
53
- _southWest = CLLocationCoordinate2DMake([boundsRect[0][0] doubleValue], [boundsRect[0][1] doubleValue]);
54
- _northEast = CLLocationCoordinate2DMake([boundsRect[1][0] doubleValue], [boundsRect[1][1] doubleValue]);
53
+ _northEast = CLLocationCoordinate2DMake([boundsRect[0][0] doubleValue], [boundsRect[0][1] doubleValue]);
54
+ _southWest = CLLocationCoordinate2DMake([boundsRect[1][0] doubleValue], [boundsRect[1][1] doubleValue]);
55
55
 
56
56
  MKMapPoint southWest = MKMapPointForCoordinate(_southWest);
57
57
  MKMapPoint northEast = MKMapPointForCoordinate(_northEast);
@@ -70,7 +70,7 @@
70
70
 
71
71
  - (void)setCoordinates:(NSArray<AIRMapCoordinate *> *)coordinates {
72
72
  _coordinates = coordinates;
73
- CLLocationCoordinate2D coords[coordinates.count];
73
+ CLLocationCoordinate2D *coords = calloc(coordinates.count, sizeof(CLLocationCoordinate2D));
74
74
  for(int i = 0; i < coordinates.count; i++)
75
75
  {
76
76
  coords[i] = coordinates[i].coordinate;
@@ -80,7 +80,8 @@
80
80
  } else {
81
81
  self.polyline = [MKPolyline polylineWithCoordinates:coords count:coordinates.count];
82
82
  }
83
-
83
+ free(coords);
84
+
84
85
  self.renderer = [self createRenderer];
85
86
  [self update];
86
87
  }
@@ -10,7 +10,7 @@
10
10
  #import <React/UIView+React.h>
11
11
 
12
12
  @implementation AIRMapWMSTile
13
-
13
+
14
14
  - (void)createTileOverlayAndRendererIfPossible
15
15
  {
16
16
  if (!_urlTemplateSet) return;
@@ -52,7 +52,7 @@
52
52
 
53
53
  @implementation AIRMapWMSTileOverlay
54
54
 
55
- - (id)initWithURLTemplate:(NSString *)URLTemplate
55
+ - (id)initWithURLTemplate:(NSString *)URLTemplate
56
56
  {
57
57
  self = [super initWithURLTemplate:URLTemplate];
58
58
  return self;
@@ -68,7 +68,7 @@
68
68
 
69
69
  @implementation AIRMapWMSTileCachedOverlay
70
70
 
71
- - (id)initWithURLTemplate:(NSString *)URLTemplate
71
+ - (id)initWithURLTemplate:(NSString *)URLTemplate
72
72
  {
73
73
  self = [super initWithURLTemplate:URLTemplate];
74
74
  return self;
@@ -82,7 +82,7 @@
82
82
  @end
83
83
 
84
84
 
85
- @implementation AIRMapWMSTileHelper
85
+ @implementation AIRMapWMSTileHelper
86
86
  + (NSURL *)URLForTilePath:(MKTileOverlayPath)path withURLTemplate:(NSString *)URLTemplate withTileSize:(NSInteger)tileSize
87
87
  {
88
88
  NSArray *bb = [self getBoundBox:path.x yAxis:path.y zoom:path.z];
@@ -102,15 +102,15 @@
102
102
  double MapY = 20037508.34789244;
103
103
  double FULL = 20037508.34789244 * 2;
104
104
  double tile = FULL / pow(2.0, (double)zoom);
105
-
105
+
106
106
  NSArray *result =[[NSArray alloc] initWithObjects:
107
107
  [NSNumber numberWithDouble:MapX + (double)x * tile],
108
108
  [NSNumber numberWithDouble:MapY - (double)(y + 1) * tile],
109
109
  [NSNumber numberWithDouble:MapX + (double)(x + 1) * tile],
110
110
  [NSNumber numberWithDouble:MapY - (double)y * tile],
111
111
  nil];
112
-
113
- return result;
112
+
113
+ return result;
114
114
  }
115
115
 
116
- @end
116
+ @end
@@ -855,4 +855,4 @@ static UIImage *blackArrowImage = nil, *whiteArrowImage = nil, *grayArrowImage =
855
855
  - (CGFloat)frameBottom { return self.frame.origin.y + self.frame.size.height; }
856
856
  - (void)setFrameBottom:(CGFloat)bottom { self.frame = (CGRect){ .origin=self.frame.origin, .size.width=self.frame.size.width, .size.height=fmaxf(bottom-self.frame.origin.y,0) }; }
857
857
 
858
- @end
858
+ @end
@@ -0,0 +1,25 @@
1
+ //
2
+ // RNMapsGoogleMapView.h
3
+ //
4
+ //
5
+ // Created by Salah Ghanim on 23.11.24.
6
+ // Copyright © 2024 react-native-maps. All rights reserved.
7
+ //
8
+ #ifdef RCT_NEW_ARCH_ENABLED
9
+ #include "RNMapsDefines.h"
10
+
11
+ #if HAVE_GOOGLE_MAPS == 0
12
+
13
+ #import <React/RCTViewComponentView.h>
14
+ #import <UIKit/UIKit.h>
15
+
16
+ NS_ASSUME_NONNULL_BEGIN
17
+
18
+ @interface RNMapsGoogleMapView : RCTViewComponentView
19
+
20
+ @end
21
+
22
+ NS_ASSUME_NONNULL_END
23
+
24
+ #endif
25
+ #endif
@@ -0,0 +1,77 @@
1
+ //
2
+ // RNMapsGoogleMapView.mm
3
+ //
4
+ //
5
+ // Created by Salah Ghanim on 23.11.24.
6
+ // Copyright © 2024 react-native-maps. All rights reserved.
7
+ //
8
+ #include "RNMapsDefines.h"
9
+
10
+ #if HAVE_GOOGLE_MAPS == 0
11
+
12
+ #if __has_include(<ReactNativeMaps/generated/RNMapsAirModuleDelegate.h>)
13
+ #import <ReactNativeMaps/generated/RNMapsHostVewDelegate.h>
14
+ #import <ReactNativeMaps/generated/ComponentDescriptors.h>
15
+ #import <ReactNativeMaps/generated/EventEmitters.h>
16
+ #import <ReactNativeMaps/generated/Props.h>
17
+ #import <ReactNativeMaps/generated/RCTComponentViewHelpers.h>
18
+ #else
19
+ #import "../../generated/RNMapsSpecs/ComponentDescriptors.h"
20
+ #import "../../generated/RNMapsSpecs/EventEmitters.h"
21
+ #import "../../generated/RNMapsSpecs/Props.h"
22
+ #import "../../generated/RNMapsSpecs/RCTComponentViewHelpers.h"
23
+ #import "../../generated/RNMapsHostVewDelegate.h"
24
+ #endif
25
+ #import "RCTFabricComponentsPlugins.h"
26
+ #import <React/RCTConversions.h>
27
+ #import "PlaceHolderGoogleMapView.h"
28
+
29
+ using namespace facebook::react;
30
+
31
+
32
+ @implementation RNMapsGoogleMapView
33
+
34
+
35
+ #pragma mark - JS Commands
36
+ - (void)animateToRegion:(NSString *)regionJSON duration:(NSInteger)duration{
37
+ }
38
+ - (void)setCamera:(NSString *)cameraJSON{
39
+ }
40
+
41
+ - (void)animateCamera:(NSString *)cameraJSON duration:(NSInteger)duration{
42
+ }
43
+
44
+ - (void)fitToElements:(NSString *)edgePaddingJSON animated:(BOOL)animated {
45
+ }
46
+
47
+ - (void)fitToSuppliedMarkers:(NSString *)markersJSON edgePaddingJSON:(NSString *)edgePaddingJSON animated:(BOOL)animated {
48
+ }
49
+ - (void)fitToCoordinates:(NSString *)coordinatesJSON edgePaddingJSON:(NSString *)edgePaddingJSON animated:(BOOL)animated {
50
+
51
+ }
52
+ - (void) setIndoorActiveLevelIndex:(NSInteger)activeLevelIndex
53
+ {
54
+
55
+ }
56
+
57
+ #pragma mark - Native commands
58
+
59
+ - (void)handleCommand:(const NSString *)commandName args:(const NSArray *)args
60
+ {
61
+ }
62
+
63
+
64
+ + (ComponentDescriptorProvider)componentDescriptorProvider
65
+ {
66
+ return concreteComponentDescriptorProvider<RNMapsGoogleMapViewComponentDescriptor>();
67
+ }
68
+
69
+
70
+ @end
71
+
72
+ Class<RCTComponentViewProtocol> RNMapsGoogleMapViewCls(void)
73
+ {
74
+ return RNMapsGoogleMapView.class;
75
+ }
76
+
77
+ #endif
@@ -0,0 +1,25 @@
1
+ //
2
+ // RNMapsGoogleMapView.h
3
+ //
4
+ //
5
+ // Created by Salah Ghanim on 23.11.24.
6
+ // Copyright © 2024 react-native-maps. All rights reserved.
7
+ //
8
+ #ifdef RCT_NEW_ARCH_ENABLED
9
+ #include "RNMapsDefines.h"
10
+
11
+ #if HAVE_GOOGLE_MAPS == 0
12
+
13
+ #import <React/RCTViewComponentView.h>
14
+ #import <UIKit/UIKit.h>
15
+
16
+
17
+ NS_ASSUME_NONNULL_BEGIN
18
+ @interface RNMapsGooglePolygonView : RCTViewComponentView
19
+
20
+ @end
21
+
22
+ NS_ASSUME_NONNULL_END
23
+
24
+ #endif
25
+ #endif