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,23 +0,0 @@
1
- package com.airbnb.android.react.maps;
2
-
3
- import android.content.Context;
4
-
5
- import com.facebook.react.views.view.ReactViewGroup;
6
-
7
- public class AirMapCallout extends ReactViewGroup {
8
- private boolean tooltip = false;
9
- public int width;
10
- public int height;
11
-
12
- public AirMapCallout(Context context) {
13
- super(context);
14
- }
15
-
16
- public void setTooltip(boolean tooltip) {
17
- this.tooltip = tooltip;
18
- }
19
-
20
- public boolean getTooltip() {
21
- return this.tooltip;
22
- }
23
- }
@@ -1,18 +0,0 @@
1
- package com.airbnb.android.react.maps;
2
-
3
- import android.content.Context;
4
-
5
- import com.facebook.react.views.view.ReactViewGroup;
6
- import com.google.android.gms.maps.GoogleMap;
7
-
8
- public abstract class AirMapFeature extends ReactViewGroup {
9
- public AirMapFeature(Context context) {
10
- super(context);
11
- }
12
-
13
- public abstract void addToMap(GoogleMap map);
14
-
15
- public abstract void removeFromMap(GoogleMap map);
16
-
17
- public abstract Object getFeature();
18
- }
@@ -1,20 +0,0 @@
1
- package com.airbnb.android.react.maps;
2
-
3
- import com.facebook.react.bridge.ReactApplicationContext;
4
- import com.google.android.gms.maps.GoogleMapOptions;
5
-
6
- public class AirMapLiteManager extends AirMapManager {
7
-
8
- private static final String REACT_CLASS = "AIRMapLite";
9
-
10
- @Override
11
- public String getName() {
12
- return REACT_CLASS;
13
- }
14
-
15
- public AirMapLiteManager(ReactApplicationContext context) {
16
- super(context);
17
- this.googleMapOptions = new GoogleMapOptions().liteMode(true);
18
- }
19
-
20
- }
@@ -1,56 +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 com.facebook.react.bridge.ReactApplicationContext;
9
- import com.facebook.react.uimanager.ThemedReactContext;
10
- import com.facebook.react.uimanager.ViewGroupManager;
11
- import com.facebook.react.uimanager.annotations.ReactProp;
12
-
13
- /**
14
- * Created by zavadpe on 30/11/2017.
15
- */
16
- public class AirMapLocalTileManager extends ViewGroupManager<AirMapLocalTile> {
17
- private DisplayMetrics metrics;
18
-
19
- public AirMapLocalTileManager(ReactApplicationContext reactContext) {
20
- super();
21
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
22
- metrics = new DisplayMetrics();
23
- ((WindowManager) reactContext.getSystemService(Context.WINDOW_SERVICE))
24
- .getDefaultDisplay()
25
- .getRealMetrics(metrics);
26
- } else {
27
- metrics = reactContext.getResources().getDisplayMetrics();
28
- }
29
- }
30
-
31
- @Override
32
- public String getName() {
33
- return "AIRMapLocalTile";
34
- }
35
-
36
- @Override
37
- public AirMapLocalTile createViewInstance(ThemedReactContext context) {
38
- return new AirMapLocalTile(context);
39
- }
40
-
41
- @ReactProp(name = "pathTemplate")
42
- public void setPathTemplate(AirMapLocalTile view, String pathTemplate) {
43
- view.setPathTemplate(pathTemplate);
44
- }
45
-
46
- @ReactProp(name = "tileSize", defaultFloat = 256f)
47
- public void setTileSize(AirMapLocalTile view, float tileSize) {
48
- view.setTileSize(tileSize);
49
- }
50
-
51
- @ReactProp(name = "zIndex", defaultFloat = -1.0f)
52
- public void setZIndex(AirMapLocalTile view, float zIndex) {
53
- view.setZIndex(zIndex);
54
- }
55
-
56
- }
@@ -1,500 +0,0 @@
1
- package com.airbnb.android.react.maps;
2
-
3
- import android.view.View;
4
-
5
- import androidx.annotation.Nullable;
6
-
7
- import com.facebook.react.bridge.Arguments;
8
- import com.facebook.react.bridge.ReactApplicationContext;
9
- import com.facebook.react.bridge.ReadableArray;
10
- import com.facebook.react.bridge.ReadableMap;
11
- import com.facebook.react.bridge.WritableMap;
12
- import com.facebook.react.common.MapBuilder;
13
- import com.facebook.react.modules.core.DeviceEventManagerModule;
14
- import com.facebook.react.uimanager.LayoutShadowNode;
15
- import com.facebook.react.uimanager.ThemedReactContext;
16
- import com.facebook.react.uimanager.ViewGroupManager;
17
- import com.facebook.react.uimanager.annotations.ReactProp;
18
- import com.facebook.react.uimanager.events.RCTEventEmitter;
19
- import com.google.android.gms.location.LocationRequest;
20
- import com.google.android.gms.maps.GoogleMap;
21
- import com.google.android.gms.maps.GoogleMapOptions;
22
- import com.google.android.gms.maps.model.LatLng;
23
- import com.google.android.gms.maps.model.LatLngBounds;
24
- import com.google.android.gms.maps.model.MapStyleOptions;
25
-
26
- import java.util.HashMap;
27
- import java.util.Map;
28
-
29
- public class AirMapManager extends ViewGroupManager<AirMapView> {
30
-
31
- private static final String REACT_CLASS = "AIRMap";
32
- private static final int ANIMATE_TO_REGION = 1;
33
- private static final int ANIMATE_TO_COORDINATE = 2;
34
- private static final int ANIMATE_TO_VIEWING_ANGLE = 3;
35
- private static final int ANIMATE_TO_BEARING = 4;
36
- private static final int FIT_TO_ELEMENTS = 5;
37
- private static final int FIT_TO_SUPPLIED_MARKERS = 6;
38
- private static final int FIT_TO_COORDINATES = 7;
39
- private static final int SET_MAP_BOUNDARIES = 8;
40
- private static final int ANIMATE_TO_NAVIGATION = 9;
41
- private static final int SET_INDOOR_ACTIVE_LEVEL_INDEX = 10;
42
- private static final int SET_CAMERA = 11;
43
- private static final int ANIMATE_CAMERA = 12;
44
-
45
-
46
- private final Map<String, Integer> MAP_TYPES = MapBuilder.of(
47
- "standard", GoogleMap.MAP_TYPE_NORMAL,
48
- "satellite", GoogleMap.MAP_TYPE_SATELLITE,
49
- "hybrid", GoogleMap.MAP_TYPE_HYBRID,
50
- "terrain", GoogleMap.MAP_TYPE_TERRAIN,
51
- "none", GoogleMap.MAP_TYPE_NONE
52
- );
53
-
54
- private final Map<String, Integer> MY_LOCATION_PRIORITY = MapBuilder.of(
55
- "balanced", LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY,
56
- "high", LocationRequest.PRIORITY_HIGH_ACCURACY,
57
- "low", LocationRequest.PRIORITY_LOW_POWER,
58
- "passive", LocationRequest.PRIORITY_NO_POWER
59
- );
60
-
61
- private final ReactApplicationContext appContext;
62
- private AirMapMarkerManager markerManager;
63
-
64
- protected GoogleMapOptions googleMapOptions;
65
-
66
- public AirMapManager(ReactApplicationContext context) {
67
- this.appContext = context;
68
- this.googleMapOptions = new GoogleMapOptions();
69
- }
70
-
71
- public AirMapMarkerManager getMarkerManager() {
72
- return this.markerManager;
73
- }
74
- public void setMarkerManager(AirMapMarkerManager markerManager) {
75
- this.markerManager = markerManager;
76
- }
77
-
78
- @Override
79
- public String getName() {
80
- return REACT_CLASS;
81
- }
82
-
83
- @Override
84
- protected AirMapView createViewInstance(ThemedReactContext context) {
85
- return new AirMapView(context, this.appContext, this, googleMapOptions);
86
- }
87
-
88
- private void emitMapError(ThemedReactContext context, String message, String type) {
89
- WritableMap error = Arguments.createMap();
90
- error.putString("message", message);
91
- error.putString("type", type);
92
-
93
- context
94
- .getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
95
- .emit("onError", error);
96
- }
97
-
98
- @ReactProp(name = "region")
99
- public void setRegion(AirMapView view, ReadableMap region) {
100
- view.setRegion(region);
101
- }
102
-
103
- @ReactProp(name = "initialRegion")
104
- public void setInitialRegion(AirMapView view, ReadableMap initialRegion) {
105
- view.setInitialRegion(initialRegion);
106
- }
107
-
108
- @ReactProp(name = "camera")
109
- public void setCamera(AirMapView view, ReadableMap camera) {
110
- view.setCamera(camera);
111
- }
112
-
113
- @ReactProp(name = "initialCamera")
114
- public void setInitialCamera(AirMapView view, ReadableMap initialCamera) {
115
- view.setInitialCamera(initialCamera);
116
- }
117
-
118
- @ReactProp(name = "mapType")
119
- public void setMapType(AirMapView view, @Nullable String mapType) {
120
- int typeId = MAP_TYPES.get(mapType);
121
- view.map.setMapType(typeId);
122
- }
123
-
124
- @ReactProp(name = "customMapStyleString")
125
- public void setMapStyle(AirMapView view, @Nullable String customMapStyleString) {
126
- view.map.setMapStyle(new MapStyleOptions(customMapStyleString));
127
- }
128
-
129
- @ReactProp(name = "mapPadding")
130
- public void setMapPadding(AirMapView view, @Nullable ReadableMap padding) {
131
- int left = 0;
132
- int top = 0;
133
- int right = 0;
134
- int bottom = 0;
135
- double density = (double) view.getResources().getDisplayMetrics().density;
136
-
137
- if (padding != null) {
138
- if (padding.hasKey("left")) {
139
- left = (int) (padding.getDouble("left") * density);
140
- }
141
-
142
- if (padding.hasKey("top")) {
143
- top = (int) (padding.getDouble("top") * density);
144
- }
145
-
146
- if (padding.hasKey("right")) {
147
- right = (int) (padding.getDouble("right") * density);
148
- }
149
-
150
- if (padding.hasKey("bottom")) {
151
- bottom = (int) (padding.getDouble("bottom") * density);
152
- }
153
- }
154
-
155
- view.applyBaseMapPadding(left, top, right, bottom);
156
- view.map.setPadding(left, top, right, bottom);
157
- }
158
-
159
- @ReactProp(name = "showsUserLocation", defaultBoolean = false)
160
- public void setShowsUserLocation(AirMapView view, boolean showUserLocation) {
161
- view.setShowsUserLocation(showUserLocation);
162
- }
163
-
164
- @ReactProp(name = "userLocationPriority")
165
- public void setUserLocationPriority(AirMapView view, @Nullable String accuracy) {
166
- view.setUserLocationPriority(MY_LOCATION_PRIORITY.get(accuracy));
167
- }
168
-
169
- @ReactProp(name = "userLocationUpdateInterval", defaultInt = 5000)
170
- public void setUserLocationUpdateInterval(AirMapView view, int updateInterval) {
171
- view.setUserLocationUpdateInterval(updateInterval);
172
- }
173
-
174
- @ReactProp(name = "userLocationFastestInterval", defaultInt = 5000)
175
- public void setUserLocationFastestInterval(AirMapView view, int fastestInterval) {
176
- view.setUserLocationFastestInterval(fastestInterval);
177
- }
178
-
179
- @ReactProp(name = "showsMyLocationButton", defaultBoolean = true)
180
- public void setShowsMyLocationButton(AirMapView view, boolean showMyLocationButton) {
181
- view.setShowsMyLocationButton(showMyLocationButton);
182
- }
183
-
184
- @ReactProp(name = "toolbarEnabled", defaultBoolean = true)
185
- public void setToolbarEnabled(AirMapView view, boolean toolbarEnabled) {
186
- view.setToolbarEnabled(toolbarEnabled);
187
- }
188
-
189
- // This is a private prop to improve performance of panDrag by disabling it when the callback
190
- // is not set
191
- @ReactProp(name = "handlePanDrag", defaultBoolean = false)
192
- public void setHandlePanDrag(AirMapView view, boolean handlePanDrag) {
193
- view.setHandlePanDrag(handlePanDrag);
194
- }
195
-
196
- @ReactProp(name = "showsTraffic", defaultBoolean = false)
197
- public void setShowTraffic(AirMapView view, boolean showTraffic) {
198
- view.map.setTrafficEnabled(showTraffic);
199
- }
200
-
201
- @ReactProp(name = "showsBuildings", defaultBoolean = false)
202
- public void setShowBuildings(AirMapView view, boolean showBuildings) {
203
- view.map.setBuildingsEnabled(showBuildings);
204
- }
205
-
206
- @ReactProp(name = "showsIndoors", defaultBoolean = false)
207
- public void setShowIndoors(AirMapView view, boolean showIndoors) {
208
- view.map.setIndoorEnabled(showIndoors);
209
- }
210
-
211
- @ReactProp(name = "showsIndoorLevelPicker", defaultBoolean = false)
212
- public void setShowsIndoorLevelPicker(AirMapView view, boolean showsIndoorLevelPicker) {
213
- view.map.getUiSettings().setIndoorLevelPickerEnabled(showsIndoorLevelPicker);
214
- }
215
-
216
- @ReactProp(name = "showsCompass", defaultBoolean = false)
217
- public void setShowsCompass(AirMapView view, boolean showsCompass) {
218
- view.map.getUiSettings().setCompassEnabled(showsCompass);
219
- }
220
-
221
- @ReactProp(name = "scrollEnabled", defaultBoolean = false)
222
- public void setScrollEnabled(AirMapView view, boolean scrollEnabled) {
223
- view.map.getUiSettings().setScrollGesturesEnabled(scrollEnabled);
224
- }
225
-
226
- @ReactProp(name = "zoomEnabled", defaultBoolean = false)
227
- public void setZoomEnabled(AirMapView view, boolean zoomEnabled) {
228
- view.map.getUiSettings().setZoomGesturesEnabled(zoomEnabled);
229
- }
230
-
231
- @ReactProp(name = "zoomControlEnabled", defaultBoolean = true)
232
- public void setZoomControlEnabled(AirMapView view, boolean zoomControlEnabled) {
233
- view.map.getUiSettings().setZoomControlsEnabled(zoomControlEnabled);
234
- }
235
-
236
- @ReactProp(name = "rotateEnabled", defaultBoolean = false)
237
- public void setRotateEnabled(AirMapView view, boolean rotateEnabled) {
238
- view.map.getUiSettings().setRotateGesturesEnabled(rotateEnabled);
239
- }
240
-
241
- @ReactProp(name = "scrollDuringRotateOrZoomEnabled", defaultBoolean = true)
242
- public void setScrollDuringRotateOrZoomEnabled(AirMapView view, boolean scrollDuringRotateOrZoomEnabled) {
243
- view.map.getUiSettings().setScrollGesturesEnabledDuringRotateOrZoom(scrollDuringRotateOrZoomEnabled);
244
- }
245
-
246
- @ReactProp(name = "cacheEnabled", defaultBoolean = false)
247
- public void setCacheEnabled(AirMapView view, boolean cacheEnabled) {
248
- view.setCacheEnabled(cacheEnabled);
249
- }
250
-
251
- @ReactProp(name = "loadingEnabled", defaultBoolean = false)
252
- public void setLoadingEnabled(AirMapView view, boolean loadingEnabled) {
253
- view.enableMapLoading(loadingEnabled);
254
- }
255
-
256
- @ReactProp(name = "moveOnMarkerPress", defaultBoolean = true)
257
- public void setMoveOnMarkerPress(AirMapView view, boolean moveOnPress) {
258
- view.setMoveOnMarkerPress(moveOnPress);
259
- }
260
-
261
- @ReactProp(name = "loadingBackgroundColor", customType = "Color")
262
- public void setLoadingBackgroundColor(AirMapView view, @Nullable Integer loadingBackgroundColor) {
263
- view.setLoadingBackgroundColor(loadingBackgroundColor);
264
- }
265
-
266
- @ReactProp(name = "loadingIndicatorColor", customType = "Color")
267
- public void setLoadingIndicatorColor(AirMapView view, @Nullable Integer loadingIndicatorColor) {
268
- view.setLoadingIndicatorColor(loadingIndicatorColor);
269
- }
270
-
271
- @ReactProp(name = "pitchEnabled", defaultBoolean = false)
272
- public void setPitchEnabled(AirMapView view, boolean pitchEnabled) {
273
- view.map.getUiSettings().setTiltGesturesEnabled(pitchEnabled);
274
- }
275
-
276
- @ReactProp(name = "minZoomLevel")
277
- public void setMinZoomLevel(AirMapView view, float minZoomLevel) {
278
- view.map.setMinZoomPreference(minZoomLevel);
279
- }
280
-
281
- @ReactProp(name = "maxZoomLevel")
282
- public void setMaxZoomLevel(AirMapView view, float maxZoomLevel) {
283
- view.map.setMaxZoomPreference(maxZoomLevel);
284
- }
285
-
286
- @ReactProp(name = "kmlSrc")
287
- public void setKmlSrc(AirMapView view, String kmlUrl) {
288
- if (kmlUrl != null) {
289
- view.setKmlSrc(kmlUrl);
290
- }
291
- }
292
-
293
- @Override
294
- public void receiveCommand(AirMapView view, int commandId, @Nullable ReadableArray args) {
295
- Integer duration;
296
- Double lat;
297
- Double lng;
298
- Double lngDelta;
299
- Double latDelta;
300
- float bearing;
301
- float angle;
302
- ReadableMap region;
303
- ReadableMap camera;
304
-
305
- switch (commandId) {
306
- case SET_CAMERA:
307
- camera = args.getMap(0);
308
- view.animateToCamera(camera, 0);
309
- break;
310
-
311
- case ANIMATE_CAMERA:
312
- camera = args.getMap(0);
313
- duration = args.getInt(1);
314
- view.animateToCamera(camera, duration);
315
- break;
316
-
317
- case ANIMATE_TO_NAVIGATION:
318
- region = args.getMap(0);
319
- lng = region.getDouble("longitude");
320
- lat = region.getDouble("latitude");
321
- LatLng location = new LatLng(lat, lng);
322
- bearing = (float)args.getDouble(1);
323
- angle = (float)args.getDouble(2);
324
- duration = args.getInt(3);
325
- view.animateToNavigation(location, bearing, angle, duration);
326
- break;
327
-
328
- case ANIMATE_TO_REGION:
329
- region = args.getMap(0);
330
- duration = args.getInt(1);
331
- lng = region.getDouble("longitude");
332
- lat = region.getDouble("latitude");
333
- lngDelta = region.getDouble("longitudeDelta");
334
- latDelta = region.getDouble("latitudeDelta");
335
- LatLngBounds bounds = new LatLngBounds(
336
- new LatLng(lat - latDelta / 2, lng - lngDelta / 2), // southwest
337
- new LatLng(lat + latDelta / 2, lng + lngDelta / 2) // northeast
338
- );
339
- view.animateToRegion(bounds, duration);
340
- break;
341
-
342
- case ANIMATE_TO_COORDINATE:
343
- region = args.getMap(0);
344
- duration = args.getInt(1);
345
- lng = region.getDouble("longitude");
346
- lat = region.getDouble("latitude");
347
- view.animateToCoordinate(new LatLng(lat, lng), duration);
348
- break;
349
-
350
- case ANIMATE_TO_VIEWING_ANGLE:
351
- angle = (float)args.getDouble(0);
352
- duration = args.getInt(1);
353
- view.animateToViewingAngle(angle, duration);
354
- break;
355
-
356
- case ANIMATE_TO_BEARING:
357
- bearing = (float)args.getDouble(0);
358
- duration = args.getInt(1);
359
- view.animateToBearing(bearing, duration);
360
- break;
361
-
362
- case FIT_TO_ELEMENTS:
363
- view.fitToElements(args.getMap(0), args.getBoolean(1));
364
- break;
365
-
366
- case FIT_TO_SUPPLIED_MARKERS:
367
- view.fitToSuppliedMarkers(args.getArray(0), args.getMap(1), args.getBoolean(2));
368
- break;
369
-
370
- case FIT_TO_COORDINATES:
371
- view.fitToCoordinates(args.getArray(0), args.getMap(1), args.getBoolean(2));
372
- break;
373
-
374
- case SET_MAP_BOUNDARIES:
375
- view.setMapBoundaries(args.getMap(0), args.getMap(1));
376
- break;
377
-
378
- case SET_INDOOR_ACTIVE_LEVEL_INDEX:
379
- view.setIndoorActiveLevelIndex(args.getInt(0));
380
- break;
381
- }
382
- }
383
-
384
- @Override
385
- @Nullable
386
- public Map getExportedCustomDirectEventTypeConstants() {
387
- Map<String, Map<String, String>> map = MapBuilder.of(
388
- "onMapReady", MapBuilder.of("registrationName", "onMapReady"),
389
- "onPress", MapBuilder.of("registrationName", "onPress"),
390
- "onLongPress", MapBuilder.of("registrationName", "onLongPress"),
391
- "onMarkerPress", MapBuilder.of("registrationName", "onMarkerPress"),
392
- "onMarkerSelect", MapBuilder.of("registrationName", "onMarkerSelect"),
393
- "onMarkerDeselect", MapBuilder.of("registrationName", "onMarkerDeselect"),
394
- "onCalloutPress", MapBuilder.of("registrationName", "onCalloutPress")
395
- );
396
-
397
- map.putAll(MapBuilder.of(
398
- "onUserLocationChange", MapBuilder.of("registrationName", "onUserLocationChange"),
399
- "onMarkerDragStart", MapBuilder.of("registrationName", "onMarkerDragStart"),
400
- "onMarkerDrag", MapBuilder.of("registrationName", "onMarkerDrag"),
401
- "onMarkerDragEnd", MapBuilder.of("registrationName", "onMarkerDragEnd"),
402
- "onPanDrag", MapBuilder.of("registrationName", "onPanDrag"),
403
- "onKmlReady", MapBuilder.of("registrationName", "onKmlReady"),
404
- "onPoiClick", MapBuilder.of("registrationName", "onPoiClick")
405
- ));
406
-
407
- map.putAll(MapBuilder.of(
408
- "onIndoorLevelActivated", MapBuilder.of("registrationName", "onIndoorLevelActivated"),
409
- "onIndoorBuildingFocused", MapBuilder.of("registrationName", "onIndoorBuildingFocused"),
410
- "onDoublePress", MapBuilder.of("registrationName", "onDoublePress"),
411
- "onMapLoaded", MapBuilder.of("registrationName", "onMapLoaded")
412
- ));
413
-
414
- return map;
415
- }
416
-
417
- @Nullable
418
- @Override
419
- public Map<String, Integer> getCommandsMap() {
420
- Map<String, Integer> map = this.CreateMap(
421
- "setCamera", SET_CAMERA,
422
- "animateCamera", ANIMATE_CAMERA,
423
- "animateToRegion", ANIMATE_TO_REGION,
424
- "animateToCoordinate", ANIMATE_TO_COORDINATE,
425
- "animateToViewingAngle", ANIMATE_TO_VIEWING_ANGLE,
426
- "animateToBearing", ANIMATE_TO_BEARING,
427
- "fitToElements", FIT_TO_ELEMENTS,
428
- "fitToSuppliedMarkers", FIT_TO_SUPPLIED_MARKERS,
429
- "fitToCoordinates", FIT_TO_COORDINATES,
430
- "animateToNavigation", ANIMATE_TO_NAVIGATION
431
- );
432
-
433
- map.putAll(MapBuilder.of(
434
- "setMapBoundaries", SET_MAP_BOUNDARIES,
435
- "setIndoorActiveLevelIndex", SET_INDOOR_ACTIVE_LEVEL_INDEX
436
- ));
437
-
438
- return map;
439
- }
440
-
441
- public static <K, V> Map<K, V> CreateMap(
442
- K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7, K k8, V v8, K k9, V v9, K k10, V v10) {
443
- Map map = new HashMap<K, V>();
444
- map.put(k1, v1);
445
- map.put(k2, v2);
446
- map.put(k3, v3);
447
- map.put(k4, v4);
448
- map.put(k5, v5);
449
- map.put(k6, v6);
450
- map.put(k7, v7);
451
- map.put(k8, v8);
452
- map.put(k9, v9);
453
- map.put(k10, v10);
454
- return map;
455
- }
456
-
457
- @Override
458
- public LayoutShadowNode createShadowNodeInstance() {
459
- // A custom shadow node is needed in order to pass back the width/height of the map to the
460
- // view manager so that it can start applying camera moves with bounds.
461
- return new SizeReportingShadowNode();
462
- }
463
-
464
- @Override
465
- public void addView(AirMapView parent, View child, int index) {
466
- parent.addFeature(child, index);
467
- }
468
-
469
- @Override
470
- public int getChildCount(AirMapView view) {
471
- return view.getFeatureCount();
472
- }
473
-
474
- @Override
475
- public View getChildAt(AirMapView view, int index) {
476
- return view.getFeatureAt(index);
477
- }
478
-
479
- @Override
480
- public void removeViewAt(AirMapView parent, int index) {
481
- parent.removeFeatureAt(index);
482
- }
483
-
484
- @Override
485
- public void updateExtraData(AirMapView view, Object extraData) {
486
- view.updateExtraData(extraData);
487
- }
488
-
489
- void pushEvent(ThemedReactContext context, View view, String name, WritableMap data) {
490
- context.getJSModule(RCTEventEmitter.class)
491
- .receiveEvent(view.getId(), name, data);
492
- }
493
-
494
- @Override
495
- public void onDropViewInstance(AirMapView view) {
496
- view.doDestroy();
497
- super.onDropViewInstance(view);
498
- }
499
-
500
- }