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
@@ -1,380 +0,0 @@
1
- package com.airbnb.android.react.maps;
2
-
3
- import android.app.Activity;
4
- import android.graphics.Bitmap;
5
- import android.graphics.Point;
6
- import android.location.Address;
7
- import android.location.Geocoder;
8
- import android.net.Uri;
9
- import android.util.Base64;
10
- import android.util.DisplayMetrics;
11
- import android.util.Log;
12
-
13
- import androidx.annotation.Nullable;
14
- import androidx.annotation.NonNull;
15
-
16
- import com.facebook.react.bridge.Promise;
17
- import com.facebook.react.bridge.ReactApplicationContext;
18
- import com.facebook.react.bridge.ReactContextBaseJavaModule;
19
- import com.facebook.react.bridge.ReactMethod;
20
- import com.facebook.react.bridge.ReadableMap;
21
- import com.facebook.react.bridge.WritableMap;
22
- import com.facebook.react.bridge.WritableNativeMap;
23
- import com.facebook.react.module.annotations.ReactModule;
24
- import com.facebook.react.uimanager.NativeViewHierarchyManager;
25
- import com.facebook.react.uimanager.UIBlock;
26
- import com.facebook.react.uimanager.UIManagerModule;
27
- import com.google.android.gms.maps.GoogleMap;
28
- import com.google.android.gms.maps.MapsInitializer;
29
- import com.google.android.gms.maps.OnMapsSdkInitializedCallback;
30
- import com.google.android.gms.maps.model.CameraPosition;
31
- import com.google.android.gms.maps.model.LatLng;
32
-
33
- import java.io.ByteArrayOutputStream;
34
- import java.io.Closeable;
35
- import java.io.File;
36
- import java.io.FileOutputStream;
37
- import java.io.IOException;
38
-
39
- import java.util.List;
40
- import java.util.Map;
41
- import java.util.HashMap;
42
-
43
- @ReactModule(name = AirMapModule.NAME)
44
- public class AirMapModule extends ReactContextBaseJavaModule {
45
-
46
- public static final String NAME = "AirMapModule";
47
- private static final String SNAPSHOT_RESULT_FILE = "file";
48
- private static final String SNAPSHOT_RESULT_BASE64 = "base64";
49
- private static final String SNAPSHOT_FORMAT_PNG = "png";
50
- private static final String SNAPSHOT_FORMAT_JPG = "jpg";
51
-
52
- public AirMapModule(ReactApplicationContext reactContext) {
53
- super(reactContext);
54
- }
55
-
56
- @Override
57
- public String getName() {
58
- return NAME;
59
- }
60
-
61
- @Override
62
- public Map<String, Object> getConstants() {
63
- final Map<String, Object> constants = new HashMap<>();
64
- constants.put("legalNotice", "This license information is displayed in Settings > Google > Open Source on any device running Google Play services.");
65
- return constants;
66
- }
67
-
68
- public Activity getActivity() {
69
- return getCurrentActivity();
70
- }
71
-
72
- public static void closeQuietly(Closeable closeable) {
73
- if (closeable == null) return;
74
- try {
75
- closeable.close();
76
- } catch (IOException ignored) {
77
- }
78
- }
79
-
80
- @ReactMethod
81
- public void takeSnapshot(final int tag, final ReadableMap options, final Promise promise) {
82
-
83
- // Parse and verity options
84
- final ReactApplicationContext context = getReactApplicationContext();
85
- final String format = options.hasKey("format") ? options.getString("format") : "png";
86
- final Bitmap.CompressFormat compressFormat =
87
- format.equals(SNAPSHOT_FORMAT_PNG) ? Bitmap.CompressFormat.PNG :
88
- format.equals(SNAPSHOT_FORMAT_JPG) ? Bitmap.CompressFormat.JPEG : null;
89
- final double quality = options.hasKey("quality") ? options.getDouble("quality") : 1.0;
90
- final DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
91
- final Integer width =
92
- options.hasKey("width") ? (int) (displayMetrics.density * options.getDouble("width")) : 0;
93
- final Integer height =
94
- options.hasKey("height") ? (int) (displayMetrics.density * options.getDouble("height")) : 0;
95
- final String result = options.hasKey("result") ? options.getString("result") : "file";
96
-
97
- // Add UI-block so we can get a valid reference to the map-view
98
- UIManagerModule uiManager = context.getNativeModule(UIManagerModule.class);
99
- uiManager.addUIBlock(new UIBlock() {
100
- public void execute(NativeViewHierarchyManager nvhm) {
101
- AirMapView view = (AirMapView) nvhm.resolveView(tag);
102
- if (view == null) {
103
- promise.reject("AirMapView not found");
104
- return;
105
- }
106
- if (view.map == null) {
107
- promise.reject("AirMapView.map is not valid");
108
- return;
109
- }
110
- view.map.snapshot(new GoogleMap.SnapshotReadyCallback() {
111
- public void onSnapshotReady(@Nullable Bitmap snapshot) {
112
-
113
- // Convert image to requested width/height if necessary
114
- if (snapshot == null) {
115
- promise.reject("Failed to generate bitmap, snapshot = null");
116
- return;
117
- }
118
- if ((width != 0) && (height != 0) &&
119
- (width != snapshot.getWidth() || height != snapshot.getHeight())) {
120
- snapshot = Bitmap.createScaledBitmap(snapshot, width, height, true);
121
- }
122
-
123
- // Save the snapshot to disk
124
- if (result.equals(SNAPSHOT_RESULT_FILE)) {
125
- File tempFile;
126
- FileOutputStream outputStream;
127
- try {
128
- tempFile =
129
- File.createTempFile("AirMapSnapshot", "." + format, context.getCacheDir());
130
- outputStream = new FileOutputStream(tempFile);
131
- } catch (Exception e) {
132
- promise.reject(e);
133
- return;
134
- }
135
- snapshot.compress(compressFormat, (int) (100.0 * quality), outputStream);
136
- closeQuietly(outputStream);
137
- String uri = Uri.fromFile(tempFile).toString();
138
- promise.resolve(uri);
139
- } else if (result.equals(SNAPSHOT_RESULT_BASE64)) {
140
- ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
141
- snapshot.compress(compressFormat, (int) (100.0 * quality), outputStream);
142
- closeQuietly(outputStream);
143
- byte[] bytes = outputStream.toByteArray();
144
- String data = Base64.encodeToString(bytes, Base64.NO_WRAP);
145
- promise.resolve(data);
146
- }
147
- }
148
- });
149
- }
150
- });
151
- }
152
-
153
- @ReactMethod
154
- public void getCamera(final int tag, final Promise promise) {
155
- final ReactApplicationContext context = getReactApplicationContext();
156
-
157
- UIManagerModule uiManager = context.getNativeModule(UIManagerModule.class);
158
- uiManager.addUIBlock(new UIBlock()
159
- {
160
- @Override
161
- public void execute(NativeViewHierarchyManager nvhm)
162
- {
163
- AirMapView view = (AirMapView) nvhm.resolveView(tag);
164
- if (view == null) {
165
- promise.reject("AirMapView not found");
166
- return;
167
- }
168
- if (view.map == null) {
169
- promise.reject("AirMapView.map is not valid");
170
- return;
171
- }
172
-
173
- CameraPosition position = view.map.getCameraPosition();
174
-
175
- WritableMap centerJson = new WritableNativeMap();
176
- centerJson.putDouble("latitude", position.target.latitude);
177
- centerJson.putDouble("longitude", position.target.longitude);
178
-
179
- WritableMap cameraJson = new WritableNativeMap();
180
- cameraJson.putMap("center", centerJson);
181
- cameraJson.putDouble("heading", (double)position.bearing);
182
- cameraJson.putDouble("zoom", (double)position.zoom);
183
- cameraJson.putDouble("pitch", (double)position.tilt);
184
-
185
- promise.resolve(cameraJson);
186
- }
187
- });
188
- }
189
-
190
- @ReactMethod
191
- public void getAddressFromCoordinates(final int tag, final ReadableMap coordinate, final Promise promise) {
192
- final ReactApplicationContext context = getReactApplicationContext();
193
-
194
- UIManagerModule uiManager = context.getNativeModule(UIManagerModule.class);
195
- uiManager.addUIBlock(new UIBlock()
196
- {
197
- @Override
198
- public void execute(NativeViewHierarchyManager nvhm)
199
- {
200
- AirMapView view = (AirMapView) nvhm.resolveView(tag);
201
- if (view == null) {
202
- promise.reject("AirMapView not found");
203
- return;
204
- }
205
- if (view.map == null) {
206
- promise.reject("AirMapView.map is not valid");
207
- return;
208
- }
209
- if (coordinate == null ||
210
- !coordinate.hasKey("latitude") ||
211
- !coordinate.hasKey("longitude")) {
212
- promise.reject("Invalid coordinate format");
213
- return;
214
- }
215
- Geocoder geocoder = new Geocoder(context);
216
- try {
217
- List<Address> list =
218
- geocoder.getFromLocation(coordinate.getDouble("latitude"),coordinate.getDouble("longitude"),1);
219
- if (list.isEmpty()) {
220
- promise.reject("Can not get address location");
221
- return;
222
- }
223
- Address address = list.get(0);
224
-
225
- WritableMap addressJson = new WritableNativeMap();
226
- addressJson.putString("name", address.getFeatureName());
227
- addressJson.putString("locality", address.getLocality());
228
- addressJson.putString("thoroughfare", address.getThoroughfare());
229
- addressJson.putString("subThoroughfare", address.getSubThoroughfare());
230
- addressJson.putString("subLocality", address.getSubLocality());
231
- addressJson.putString("administrativeArea", address.getAdminArea());
232
- addressJson.putString("subAdministrativeArea", address.getSubAdminArea());
233
- addressJson.putString("postalCode", address.getPostalCode());
234
- addressJson.putString("countryCode", address.getCountryCode());
235
- addressJson.putString("country", address.getCountryName());
236
-
237
- promise.resolve(addressJson);
238
- } catch (IOException e) {
239
- promise.reject("Can not get address location");
240
- }
241
- }
242
- });
243
- }
244
-
245
- @ReactMethod
246
- public void pointForCoordinate(final int tag, ReadableMap coordinate, final Promise promise) {
247
- final ReactApplicationContext context = getReactApplicationContext();
248
- final double density = (double) context.getResources().getDisplayMetrics().density;
249
-
250
- final LatLng coord = new LatLng(
251
- coordinate.hasKey("latitude") ? coordinate.getDouble("latitude") : 0.0,
252
- coordinate.hasKey("longitude") ? coordinate.getDouble("longitude") : 0.0
253
- );
254
-
255
- UIManagerModule uiManager = context.getNativeModule(UIManagerModule.class);
256
- uiManager.addUIBlock(new UIBlock()
257
- {
258
- @Override
259
- public void execute(NativeViewHierarchyManager nvhm)
260
- {
261
- AirMapView view = (AirMapView) nvhm.resolveView(tag);
262
- if (view == null) {
263
- promise.reject("AirMapView not found");
264
- return;
265
- }
266
- if (view.map == null) {
267
- promise.reject("AirMapView.map is not valid");
268
- return;
269
- }
270
-
271
- Point pt = view.map.getProjection().toScreenLocation(coord);
272
-
273
- WritableMap ptJson = new WritableNativeMap();
274
- ptJson.putDouble("x", (double)pt.x / density);
275
- ptJson.putDouble("y", (double)pt.y / density);
276
-
277
- promise.resolve(ptJson);
278
- }
279
- });
280
- }
281
-
282
- @ReactMethod
283
- public void coordinateForPoint(final int tag, ReadableMap point, final Promise promise) {
284
- final ReactApplicationContext context = getReactApplicationContext();
285
- final double density = (double) context.getResources().getDisplayMetrics().density;
286
-
287
- final Point pt = new Point(
288
- point.hasKey("x") ? (int)(point.getDouble("x") * density) : 0,
289
- point.hasKey("y") ? (int)(point.getDouble("y") * density) : 0
290
- );
291
-
292
- UIManagerModule uiManager = context.getNativeModule(UIManagerModule.class);
293
- uiManager.addUIBlock(new UIBlock()
294
- {
295
- @Override
296
- public void execute(NativeViewHierarchyManager nvhm)
297
- {
298
- AirMapView view = (AirMapView) nvhm.resolveView(tag);
299
- if (view == null)
300
- {
301
- promise.reject("AirMapView not found");
302
- return;
303
- }
304
- if (view.map == null)
305
- {
306
- promise.reject("AirMapView.map is not valid");
307
- return;
308
- }
309
-
310
- LatLng coord = view.map.getProjection().fromScreenLocation(pt);
311
-
312
- WritableMap coordJson = new WritableNativeMap();
313
- coordJson.putDouble("latitude", coord.latitude);
314
- coordJson.putDouble("longitude", coord.longitude);
315
-
316
- promise.resolve(coordJson);
317
- }
318
- });
319
- }
320
-
321
- @ReactMethod
322
- public void getMapBoundaries(final int tag, final Promise promise) {
323
- final ReactApplicationContext context = getReactApplicationContext();
324
-
325
- UIManagerModule uiManager = context.getNativeModule(UIManagerModule.class);
326
- uiManager.addUIBlock(new UIBlock()
327
- {
328
- @Override
329
- public void execute(NativeViewHierarchyManager nvhm)
330
- {
331
- AirMapView view = (AirMapView) nvhm.resolveView(tag);
332
- if (view == null) {
333
- promise.reject("AirMapView not found");
334
- return;
335
- }
336
- if (view.map == null) {
337
- promise.reject("AirMapView.map is not valid");
338
- return;
339
- }
340
-
341
- double[][] boundaries = view.getMapBoundaries();
342
-
343
- WritableMap coordinates = new WritableNativeMap();
344
- WritableMap northEastHash = new WritableNativeMap();
345
- WritableMap southWestHash = new WritableNativeMap();
346
-
347
- northEastHash.putDouble("longitude", boundaries[0][0]);
348
- northEastHash.putDouble("latitude", boundaries[0][1]);
349
- southWestHash.putDouble("longitude", boundaries[1][0]);
350
- southWestHash.putDouble("latitude", boundaries[1][1]);
351
-
352
- coordinates.putMap("northEast", northEastHash);
353
- coordinates.putMap("southWest", southWestHash);
354
-
355
- promise.resolve(coordinates);
356
- }
357
- });
358
- }
359
-
360
- @ReactMethod
361
- public void enableLatestRenderer(final Promise promise) {
362
- final ReactApplicationContext context = getReactApplicationContext();
363
-
364
- UIManagerModule uiManager = context.getNativeModule(UIManagerModule.class);
365
- uiManager.addUIBlock(new UIBlock()
366
- {
367
- @Override
368
- public void execute(NativeViewHierarchyManager nvhm)
369
- {
370
- MapsInitializer.initialize(context, MapsInitializer.Renderer.LATEST, new OnMapsSdkInitializedCallback() {
371
- @Override
372
- public void onMapsSdkInitialized(@NonNull MapsInitializer.Renderer renderer) {
373
- Log.d("AirMapRenderer", renderer.toString());
374
- promise.resolve(renderer.toString());
375
- }
376
- });
377
- }
378
- });
379
- }
380
- }
@@ -1,169 +0,0 @@
1
- package com.airbnb.android.react.maps;
2
-
3
- import android.content.Context;
4
- import android.graphics.Bitmap;
5
-
6
- import com.facebook.react.bridge.ReadableArray;
7
- import com.facebook.react.bridge.ReadableMap;
8
- import com.google.android.gms.maps.GoogleMap;
9
- import com.google.android.gms.maps.model.BitmapDescriptor;
10
- import com.google.android.gms.maps.model.BitmapDescriptorFactory;
11
- import com.google.android.gms.maps.model.GroundOverlay;
12
- import com.google.android.gms.maps.model.GroundOverlayOptions;
13
- import com.google.android.gms.maps.model.LatLng;
14
- import com.google.android.gms.maps.model.LatLngBounds;
15
-
16
- import java.util.ArrayList;
17
-
18
- public class AirMapOverlay extends AirMapFeature implements ImageReadable {
19
-
20
- private GroundOverlayOptions groundOverlayOptions;
21
- private GroundOverlay groundOverlay;
22
- private LatLngBounds bounds;
23
- private float bearing;
24
- private BitmapDescriptor iconBitmapDescriptor;
25
- private Bitmap iconBitmap;
26
- private boolean tappable;
27
- private float zIndex;
28
- private float transparency;
29
-
30
- private final ImageReader mImageReader;
31
- private GoogleMap map;
32
-
33
- public AirMapOverlay(Context context) {
34
- super(context);
35
- this.mImageReader = new ImageReader(context, getResources(), this);
36
- }
37
-
38
- public void setBounds(ReadableArray bounds) {
39
- LatLng sw = new LatLng(bounds.getArray(0).getDouble(0), bounds.getArray(0).getDouble(1));
40
- LatLng ne = new LatLng(bounds.getArray(1).getDouble(0), bounds.getArray(1).getDouble(1));
41
- this.bounds = new LatLngBounds(sw, ne);
42
- if (this.groundOverlay != null) {
43
- this.groundOverlay.setPositionFromBounds(this.bounds);
44
- }
45
- }
46
-
47
- public void setBearing(float bearing){
48
- this.bearing = bearing;
49
- if (this.groundOverlay != null) {
50
- this.groundOverlay.setBearing(bearing);
51
- }
52
- }
53
-
54
- public void setZIndex(float zIndex) {
55
- this.zIndex = zIndex;
56
- if (this.groundOverlay != null) {
57
- this.groundOverlay.setZIndex(zIndex);
58
- }
59
- }
60
-
61
- public void setTransparency(float transparency) {
62
- this.transparency = transparency;
63
- if (groundOverlay != null) {
64
- groundOverlay.setTransparency(transparency);
65
- }
66
- }
67
-
68
- public void setImage(String uri) {
69
- this.mImageReader.setImage(uri);
70
- }
71
-
72
- public void setTappable(boolean tapabble) {
73
- this.tappable = tapabble;
74
- if (groundOverlay != null) {
75
- groundOverlay.setClickable(tappable);
76
- }
77
- }
78
-
79
-
80
- public GroundOverlayOptions getGroundOverlayOptions() {
81
- if (this.groundOverlayOptions == null) {
82
- this.groundOverlayOptions = createGroundOverlayOptions();
83
- }
84
- return this.groundOverlayOptions;
85
- }
86
-
87
- private GroundOverlayOptions createGroundOverlayOptions() {
88
- if (this.groundOverlayOptions != null) {
89
- return this.groundOverlayOptions;
90
- }
91
- GroundOverlayOptions options = new GroundOverlayOptions();
92
- if (this.iconBitmapDescriptor != null) {
93
- options.image(iconBitmapDescriptor);
94
- } else {
95
- // add stub image to be able to instantiate the overlay
96
- // and store a reference to it in MapView
97
- options.image(BitmapDescriptorFactory.defaultMarker());
98
- // hide overlay until real image gets added
99
- options.visible(false);
100
- }
101
- options.positionFromBounds(bounds);
102
- options.zIndex(zIndex);
103
- options.bearing(bearing);
104
- options.transparency(transparency);
105
- return options;
106
- }
107
-
108
- @Override
109
- public Object getFeature() {
110
- return groundOverlay;
111
- }
112
-
113
- @Override
114
- public void addToMap(GoogleMap map) {
115
- GroundOverlayOptions groundOverlayOptions = getGroundOverlayOptions();
116
- if (groundOverlayOptions != null) {
117
- this.groundOverlay = map.addGroundOverlay(groundOverlayOptions);
118
- this.groundOverlay.setClickable(this.tappable);
119
- } else {
120
- this.map = map;
121
- }
122
- }
123
-
124
- @Override
125
- public void removeFromMap(GoogleMap map) {
126
- this.map = null;
127
- if (this.groundOverlay != null) {
128
- this.groundOverlay.remove();
129
- this.groundOverlay = null;
130
- this.groundOverlayOptions = null;
131
- }
132
- }
133
-
134
- @Override
135
- public void setIconBitmap(Bitmap bitmap) {
136
- this.iconBitmap = bitmap;
137
- }
138
-
139
- @Override
140
- public void setIconBitmapDescriptor(
141
- BitmapDescriptor iconBitmapDescriptor) {
142
- this.iconBitmapDescriptor = iconBitmapDescriptor;
143
- }
144
-
145
- @Override
146
- public void update() {
147
- this.groundOverlay = getGroundOverlay();
148
- if (this.groundOverlay != null) {
149
- this.groundOverlay.setVisible(true);
150
- this.groundOverlay.setImage(this.iconBitmapDescriptor);
151
- this.groundOverlay.setTransparency(this.transparency);
152
- this.groundOverlay.setClickable(this.tappable);
153
- }
154
- }
155
-
156
- private GroundOverlay getGroundOverlay() {
157
- if (this.groundOverlay != null) {
158
- return this.groundOverlay;
159
- }
160
- if (this.map == null) {
161
- return null;
162
- }
163
- GroundOverlayOptions groundOverlayOptions = getGroundOverlayOptions();
164
- if (groundOverlayOptions != null) {
165
- return this.map.addGroundOverlay(groundOverlayOptions);
166
- }
167
- return null;
168
- }
169
- }
@@ -1,81 +0,0 @@
1
- package com.airbnb.android.react.maps;
2
-
3
- import android.content.Context;
4
- import android.os.Build;
5
- import android.util.DisplayMetrics;
6
- import android.view.WindowManager;
7
-
8
- import androidx.annotation.Nullable;
9
-
10
- import com.facebook.react.bridge.ReactApplicationContext;
11
- import com.facebook.react.bridge.ReadableArray;
12
- import com.facebook.react.common.MapBuilder;
13
- import com.facebook.react.uimanager.ThemedReactContext;
14
- import com.facebook.react.uimanager.ViewGroupManager;
15
- import com.facebook.react.uimanager.annotations.ReactProp;
16
-
17
- import java.util.Map;
18
-
19
- public class AirMapOverlayManager extends ViewGroupManager<AirMapOverlay> {
20
- private final DisplayMetrics metrics;
21
-
22
- public AirMapOverlayManager(ReactApplicationContext reactContext) {
23
- super();
24
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
25
- metrics = new DisplayMetrics();
26
- ((WindowManager) reactContext.getSystemService(Context.WINDOW_SERVICE))
27
- .getDefaultDisplay()
28
- .getRealMetrics(metrics);
29
- } else {
30
- metrics = reactContext.getResources().getDisplayMetrics();
31
- }
32
- }
33
-
34
- @Override
35
- public String getName() {
36
- return "AIRMapOverlay";
37
- }
38
-
39
- @Override
40
- public AirMapOverlay createViewInstance(ThemedReactContext context) {
41
- return new AirMapOverlay(context);
42
- }
43
-
44
- @ReactProp(name = "bounds")
45
- public void setBounds(AirMapOverlay view, ReadableArray bounds) {
46
- view.setBounds(bounds);
47
- }
48
-
49
- @ReactProp(name = "bearing")
50
- public void setBearing(AirMapOverlay view, float bearing){
51
- view.setBearing(bearing);
52
- }
53
-
54
- @ReactProp(name = "zIndex", defaultFloat = 1.0f)
55
- public void setZIndex(AirMapOverlay view, float zIndex) {
56
- view.setZIndex(zIndex);
57
- }
58
-
59
- @ReactProp(name = "opacity", defaultFloat = 1.0f)
60
- public void setOpacity(AirMapOverlay view, float opacity) {
61
- view.setTransparency(1 - opacity);
62
- }
63
-
64
- @ReactProp(name = "image")
65
- public void setImage(AirMapOverlay view, @Nullable String source) {
66
- view.setImage(source);
67
- }
68
-
69
- @ReactProp(name = "tappable", defaultBoolean = false)
70
- public void setTappable(AirMapOverlay view, boolean tapabble) {
71
- view.setTappable(tapabble);
72
- }
73
-
74
- @Override
75
- @Nullable
76
- public Map getExportedCustomDirectEventTypeConstants() {
77
- return MapBuilder.of(
78
- "onPress", MapBuilder.of("registrationName", "onPress")
79
- );
80
- }
81
- }