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
@@ -0,0 +1,262 @@
1
+ package com.rnmaps.maps;
2
+
3
+ import android.content.Context;
4
+ import android.graphics.Bitmap;
5
+ import android.net.Uri;
6
+ import android.os.Handler;
7
+ import android.os.Looper;
8
+
9
+ import com.facebook.common.references.CloseableReference;
10
+ import com.facebook.datasource.BaseDataSubscriber;
11
+ import com.facebook.datasource.DataSource;
12
+ import com.facebook.datasource.DataSubscriber;
13
+ import com.facebook.drawee.backends.pipeline.Fresco;
14
+ import com.facebook.drawee.drawable.ScalingUtils;
15
+ import com.facebook.drawee.generic.GenericDraweeHierarchy;
16
+ import com.facebook.drawee.generic.GenericDraweeHierarchyBuilder;
17
+ import com.facebook.imagepipeline.core.ImagePipeline;
18
+ import com.facebook.imagepipeline.image.CloseableBitmap;
19
+ import com.facebook.imagepipeline.image.CloseableImage;
20
+ import com.facebook.imagepipeline.request.ImageRequest;
21
+ import com.facebook.imagepipeline.request.ImageRequestBuilder;
22
+ import com.facebook.react.bridge.ReadableArray;
23
+ import com.facebook.react.common.MapBuilder;
24
+ import com.google.android.gms.common.images.ImageManager;
25
+ import com.google.android.gms.maps.model.BitmapDescriptor;
26
+ import com.google.android.gms.maps.model.BitmapDescriptorFactory;
27
+ import com.google.android.gms.maps.model.GroundOverlay;
28
+ import com.google.android.gms.maps.model.GroundOverlayOptions;
29
+ import com.google.android.gms.maps.model.LatLng;
30
+ import com.google.android.gms.maps.model.LatLngBounds;
31
+ import com.google.maps.android.collections.GroundOverlayManager;
32
+ import com.rnmaps.fabric.event.OnPressEvent;
33
+
34
+ import java.util.Map;
35
+ import java.util.concurrent.Executors;
36
+
37
+ public class MapOverlay extends MapFeature {
38
+
39
+
40
+ private String imageUri;
41
+
42
+ private GroundOverlayOptions groundOverlayOptions;
43
+ private GroundOverlay groundOverlay;
44
+ private LatLngBounds bounds;
45
+ private float bearing;
46
+ private BitmapDescriptor bitmapDescriptor;
47
+ private boolean tappable;
48
+ private float zIndex;
49
+ private float transparency;
50
+
51
+ private DataSource<CloseableReference<CloseableImage>> dataSource;
52
+
53
+ private GroundOverlayManager.Collection groundOverlayCollection;
54
+
55
+ private ImageManager.OnImageLoadedListener imageLoadedListener;
56
+
57
+
58
+ public MapOverlay(Context context) {
59
+ super(context);
60
+ transparency = 1;
61
+ }
62
+
63
+ private GenericDraweeHierarchy createDraweeHierarchy() {
64
+ return new GenericDraweeHierarchyBuilder(getResources())
65
+ .setActualImageScaleType(ScalingUtils.ScaleType.FIT_CENTER)
66
+ .setFadeDuration(0)
67
+ .build();
68
+ }
69
+
70
+
71
+
72
+ public void setBounds(LatLngBounds bounds) {
73
+ this.bounds = bounds;
74
+ if (this.groundOverlay != null) {
75
+ this.groundOverlay.setPositionFromBounds(this.bounds);
76
+ }
77
+ }
78
+
79
+ public void setBearing(float bearing) {
80
+ this.bearing = bearing;
81
+ if (this.groundOverlay != null) {
82
+ this.groundOverlay.setBearing(bearing);
83
+ }
84
+ }
85
+
86
+ public void setZIndex(float zIndex) {
87
+ this.zIndex = zIndex;
88
+ if (this.groundOverlay != null) {
89
+ this.groundOverlay.setZIndex(zIndex);
90
+ }
91
+ }
92
+
93
+ public void setTransparency(float transparency) {
94
+ this.transparency = transparency;
95
+ if (groundOverlay != null) {
96
+ groundOverlay.setTransparency(transparency);
97
+ }
98
+ }
99
+
100
+
101
+ public void setImage(String uri) {
102
+ boolean shouldLoadImage = true;
103
+
104
+ this.imageUri = uri;
105
+ if (!shouldLoadImage) {
106
+ return;
107
+ }
108
+
109
+ if (uri == null) {
110
+ bitmapDescriptor = null;
111
+ } else if (uri.startsWith("http://") || uri.startsWith("https://") ||
112
+ uri.startsWith("file://") || uri.startsWith("asset://") || uri.startsWith("data:")) {
113
+
114
+ ImageRequest imageRequest = ImageRequestBuilder
115
+ .newBuilderWithSource(Uri.parse(uri))
116
+ .build();
117
+
118
+ ImagePipeline imagePipeline = Fresco.getImagePipeline();
119
+ dataSource = imagePipeline.fetchDecodedImage(imageRequest, this);
120
+
121
+ DataSubscriber<CloseableReference<CloseableImage>> subscriber = new BaseDataSubscriber<CloseableReference<CloseableImage>>() {
122
+ @Override
123
+ protected void onNewResultImpl(DataSource<CloseableReference<CloseableImage>> dataSource) {
124
+ if (!dataSource.isFinished()) {
125
+ return;
126
+ }
127
+
128
+ CloseableReference<CloseableImage> imageReference = dataSource.getResult();
129
+ if (imageReference != null) {
130
+ try {
131
+ CloseableImage closeableImage = imageReference.get();
132
+ if (closeableImage instanceof CloseableBitmap) {
133
+ Bitmap bitmap = ((CloseableBitmap) closeableImage).getUnderlyingBitmap();
134
+ if (bitmap != null) {
135
+ bitmapDescriptor = BitmapDescriptorFactory.fromBitmap(bitmap);
136
+ }
137
+ }
138
+ } finally {
139
+ CloseableReference.closeSafely(imageReference);
140
+ }
141
+ new Handler(Looper.getMainLooper()).post(() -> update());
142
+ }
143
+ }
144
+
145
+ @Override
146
+ protected void onFailureImpl(DataSource<CloseableReference<CloseableImage>> dataSource) {
147
+ // Handle failure
148
+ }
149
+ };
150
+
151
+ dataSource.subscribe(subscriber, Executors.newSingleThreadExecutor());
152
+
153
+ } else {
154
+ bitmapDescriptor = getBitmapDescriptorByName(uri);
155
+ }
156
+ }
157
+
158
+
159
+ private BitmapDescriptor getBitmapDescriptorByName(String name) {
160
+ return BitmapDescriptorFactory.fromResource(getDrawableResourceByName(name));
161
+ }
162
+
163
+ private int getDrawableResourceByName(String name) {
164
+ return getResources().getIdentifier(
165
+ name,
166
+ "drawable",
167
+ getContext().getPackageName());
168
+ }
169
+
170
+ public void setTappable(boolean tapabble) {
171
+ this.tappable = tapabble;
172
+ if (groundOverlay != null) {
173
+ groundOverlay.setClickable(tappable);
174
+ }
175
+ }
176
+
177
+ public static Map<String, Object> getExportedCustomBubblingEventTypeConstants() {
178
+ MapBuilder.Builder<String, Object> builder = MapBuilder.builder();
179
+ builder.put(OnPressEvent.EVENT_NAME, MapBuilder.of("registrationName", OnPressEvent.EVENT_NAME));
180
+ return builder.build();
181
+ }
182
+
183
+ public GroundOverlayOptions getGroundOverlayOptions() {
184
+ if (this.groundOverlayOptions == null) {
185
+ this.groundOverlayOptions = createGroundOverlayOptions();
186
+ }
187
+ return this.groundOverlayOptions;
188
+ }
189
+
190
+ private GroundOverlayOptions createGroundOverlayOptions() {
191
+ if (this.groundOverlayOptions != null) {
192
+ return this.groundOverlayOptions;
193
+ }
194
+ GroundOverlayOptions options = new GroundOverlayOptions();
195
+ if (this.bitmapDescriptor != null) {
196
+ options.image(bitmapDescriptor);
197
+ } else {
198
+ // add stub image to be able to instantiate the overlay
199
+ // and store a reference to it in MapView
200
+ options.image(BitmapDescriptorFactory.defaultMarker());
201
+ // hide overlay until real image gets added
202
+ options.visible(false);
203
+ }
204
+ options.positionFromBounds(bounds);
205
+ options.zIndex(zIndex);
206
+ options.bearing(bearing);
207
+ // options.transparency(transparency);
208
+ return options;
209
+ }
210
+
211
+ @Override
212
+ public Object getFeature() {
213
+ return groundOverlay;
214
+ }
215
+
216
+ @Override
217
+ public void addToMap(Object collection) {
218
+ GroundOverlayManager.Collection groundOverlayCollection = (GroundOverlayManager.Collection) collection;
219
+ GroundOverlayOptions groundOverlayOptions = getGroundOverlayOptions();
220
+ if (groundOverlayOptions != null) {
221
+ groundOverlay = groundOverlayCollection.addGroundOverlay(groundOverlayOptions);
222
+ groundOverlay.setClickable(this.tappable);
223
+ } else {
224
+ this.groundOverlayCollection = groundOverlayCollection;
225
+ }
226
+ }
227
+
228
+ @Override
229
+ public void removeFromMap(Object collection) {
230
+ if (groundOverlay != null) {
231
+ GroundOverlayManager.Collection groundOverlayCollection = (GroundOverlayManager.Collection) collection;
232
+ groundOverlayCollection.remove(groundOverlay);
233
+ groundOverlay = null;
234
+ groundOverlayOptions = null;
235
+ }
236
+ groundOverlayCollection = null;
237
+ }
238
+
239
+ public void update() {
240
+ this.groundOverlay = getGroundOverlay();
241
+ if (this.groundOverlay != null) {
242
+ this.groundOverlay.setVisible(true);
243
+ this.groundOverlay.setImage(this.bitmapDescriptor);
244
+ // this.groundOverlay.setTransparency(this.transparency);
245
+ this.groundOverlay.setClickable(this.tappable);
246
+ }
247
+ }
248
+
249
+ private GroundOverlay getGroundOverlay() {
250
+ if (this.groundOverlay != null) {
251
+ return this.groundOverlay;
252
+ }
253
+ if (this.groundOverlayCollection == null) {
254
+ return null;
255
+ }
256
+ GroundOverlayOptions groundOverlayOptions = getGroundOverlayOptions();
257
+ if (groundOverlayOptions != null) {
258
+ return this.groundOverlayCollection.addGroundOverlay(groundOverlayOptions);
259
+ }
260
+ return null;
261
+ }
262
+ }
@@ -0,0 +1,97 @@
1
+ package com.rnmaps.maps;
2
+
3
+ import android.content.Context;
4
+ import android.util.DisplayMetrics;
5
+ import android.view.WindowManager;
6
+
7
+ import androidx.annotation.Nullable;
8
+
9
+ import com.facebook.react.bridge.ReactApplicationContext;
10
+ import com.facebook.react.bridge.ReadableArray;
11
+ import com.facebook.react.common.MapBuilder;
12
+ import com.facebook.react.uimanager.ThemedReactContext;
13
+ import com.facebook.react.uimanager.ViewGroupManager;
14
+ import com.facebook.react.uimanager.annotations.ReactProp;
15
+ import com.google.android.gms.maps.model.LatLng;
16
+ import com.google.android.gms.maps.model.LatLngBounds;
17
+
18
+ import java.util.Map;
19
+
20
+ public class MapOverlayManager extends ViewGroupManager<MapOverlay> {
21
+
22
+ public MapOverlayManager(ReactApplicationContext reactContext) {
23
+ super();
24
+ DisplayMetrics metrics = new DisplayMetrics();
25
+ ((WindowManager) reactContext.getSystemService(Context.WINDOW_SERVICE))
26
+ .getDefaultDisplay()
27
+ .getRealMetrics(metrics);
28
+ }
29
+
30
+ @Override
31
+ public String getName() {
32
+ return "AIRMapOverlay";
33
+ }
34
+
35
+ @Override
36
+ public MapOverlay createViewInstance(ThemedReactContext context) {
37
+ return new MapOverlay(context);
38
+ }
39
+
40
+ @ReactProp(name = "bounds")
41
+ public void setBounds(MapOverlay view, ReadableArray bounds) {
42
+ view.setBounds(fixBoundsIfNecessary(bounds));
43
+ }
44
+
45
+ // seems like apple users north west, south east
46
+ // google uses north east, south west
47
+ private static LatLngBounds fixBoundsIfNecessary(ReadableArray bounds) {
48
+ double lat1 = bounds.getArray(0).getDouble(0);
49
+ double lon1 = bounds.getArray(0).getDouble(1);
50
+ double lat2 = bounds.getArray(1).getDouble(0);
51
+ double lon2 = bounds.getArray(1).getDouble(1);
52
+
53
+ // Ensure lat1/lon1 is the SW corner and lat2/lon2 is the NE corner
54
+ double southLat = Math.min(lat1, lat2);
55
+ double northLat = Math.max(lat1, lat2);
56
+ double westLon = Math.min(lon1, lon2);
57
+ double eastLon = Math.max(lon1, lon2);
58
+
59
+ // Create corrected LatLngs
60
+ LatLng sw = new LatLng(southLat, westLon);
61
+ LatLng ne = new LatLng(northLat, eastLon);
62
+ return new LatLngBounds(sw, ne);
63
+ }
64
+
65
+ @ReactProp(name = "bearing")
66
+ public void setBearing(MapOverlay view, float bearing){
67
+ view.setBearing(bearing);
68
+ }
69
+
70
+ @ReactProp(name = "zIndex", defaultFloat = 1.0f)
71
+ public void setZIndex(MapOverlay view, float zIndex) {
72
+ view.setZIndex(zIndex);
73
+ }
74
+
75
+ @ReactProp(name = "opacity", defaultFloat = 1.0f)
76
+ public void setOpacity(MapOverlay view, float opacity) {
77
+ view.setTransparency(1 - opacity);
78
+ }
79
+
80
+ @ReactProp(name = "image")
81
+ public void setImage(MapOverlay view, @Nullable String source) {
82
+ view.setImage(source);
83
+ }
84
+
85
+ @ReactProp(name = "tappable", defaultBoolean = false)
86
+ public void setTappable(MapOverlay view, boolean tapabble) {
87
+ view.setTappable(tapabble);
88
+ }
89
+
90
+ @Override
91
+ @Nullable
92
+ public Map getExportedCustomDirectEventTypeConstants() {
93
+ return MapBuilder.of(
94
+ "onPress", MapBuilder.of("registrationName", "onPress")
95
+ );
96
+ }
97
+ }
@@ -1,18 +1,30 @@
1
- package com.airbnb.android.react.maps;
1
+ package com.rnmaps.maps;
2
2
 
3
3
  import android.content.Context;
4
+ import android.graphics.Color;
4
5
 
6
+ import com.facebook.react.bridge.ReactContext;
5
7
  import com.facebook.react.bridge.ReadableArray;
6
8
  import com.facebook.react.bridge.ReadableMap;
7
- import com.google.android.gms.maps.GoogleMap;
9
+ import com.facebook.react.bridge.WritableMap;
10
+ import com.facebook.react.common.MapBuilder;
11
+ import com.facebook.react.uimanager.UIManagerHelper;
12
+ import com.facebook.react.uimanager.events.Event;
13
+ import com.facebook.react.uimanager.events.EventDispatcher;
14
+ import com.google.android.gms.maps.model.Dash;
15
+ import com.google.android.gms.maps.model.Gap;
8
16
  import com.google.android.gms.maps.model.LatLng;
17
+ import com.google.android.gms.maps.model.PatternItem;
9
18
  import com.google.android.gms.maps.model.Polygon;
10
19
  import com.google.android.gms.maps.model.PolygonOptions;
20
+ import com.google.maps.android.collections.PolygonManager;
21
+ import com.rnmaps.fabric.event.OnPressEvent;
11
22
 
12
23
  import java.util.ArrayList;
13
24
  import java.util.List;
25
+ import java.util.Map;
14
26
 
15
- public class AirMapPolygon extends AirMapFeature {
27
+ public class MapPolygon extends MapFeature {
16
28
 
17
29
  private PolygonOptions polygonOptions;
18
30
  private Polygon polygon;
@@ -25,11 +37,34 @@ public class AirMapPolygon extends AirMapFeature {
25
37
  private boolean geodesic;
26
38
  private boolean tappable;
27
39
  private float zIndex;
40
+ private ReadableArray patternValues;
41
+ private List<PatternItem> pattern;
28
42
 
29
- public AirMapPolygon(Context context) {
43
+ public MapPolygon(Context context) {
30
44
  super(context);
45
+ strokeWidth = 10;
31
46
  }
32
47
 
48
+ public static Map<String, Object> getExportedCustomBubblingEventTypeConstants() {
49
+ MapBuilder.Builder<String, Object> builder = MapBuilder.builder();
50
+ builder.put(OnPressEvent.EVENT_NAME, MapBuilder.of("registrationName", OnPressEvent.EVENT_NAME));
51
+ return builder.build();
52
+ }
53
+
54
+ public <T extends Event> void dispatchEvent(WritableMap payload, MapView.EventCreator<T> creator, ReactContext reactContext) {
55
+
56
+ // Get the event dispatcher
57
+ EventDispatcher eventDispatcher = UIManagerHelper.getEventDispatcherForReactTag(reactContext, getId());
58
+
59
+ // If there is a dispatcher, create and dispatch the event
60
+ if (eventDispatcher != null) {
61
+ int surfaceId = UIManagerHelper.getSurfaceId(reactContext);
62
+ T event = creator.create(surfaceId, getId(), payload);
63
+ eventDispatcher.dispatchEvent(event);
64
+ }
65
+ }
66
+
67
+
33
68
  public void setCoordinates(ReadableArray coordinates) {
34
69
  // it's kind of a bummer that we can't run map() or anything on the ReadableArray
35
70
  this.coordinates = new ArrayList<>(coordinates.size());
@@ -117,6 +152,32 @@ public class AirMapPolygon extends AirMapFeature {
117
152
  }
118
153
  }
119
154
 
155
+ public void setLineDashPattern(ReadableArray patternValues) {
156
+ this.patternValues = patternValues;
157
+ this.applyPattern();
158
+ }
159
+
160
+ private void applyPattern() {
161
+ if(patternValues == null) {
162
+ return;
163
+ }
164
+ this.pattern = new ArrayList<>(patternValues.size());
165
+ for (int i = 0; i < patternValues.size(); i++) {
166
+ float patternValue = (float) patternValues.getDouble(i);
167
+ boolean isGap = i % 2 != 0;
168
+ if(isGap) {
169
+ this.pattern.add(new Gap(patternValue));
170
+ }else {
171
+ PatternItem patternItem;
172
+ patternItem = new Dash(patternValue);
173
+ this.pattern.add(patternItem);
174
+ }
175
+ }
176
+ if(polygon != null) {
177
+ polygon.setStrokePattern(this.pattern);
178
+ }
179
+ }
180
+
120
181
  public PolygonOptions getPolygonOptions() {
121
182
  if (polygonOptions == null) {
122
183
  polygonOptions = createPolygonOptions();
@@ -132,6 +193,8 @@ public class AirMapPolygon extends AirMapFeature {
132
193
  options.strokeWidth(strokeWidth);
133
194
  options.geodesic(geodesic);
134
195
  options.zIndex(zIndex);
196
+ options.strokePattern(this.pattern);
197
+ options.clickable(this.tappable);
135
198
 
136
199
  if (this.holes != null) {
137
200
  for (int i = 0; i < holes.size(); i++) {
@@ -148,13 +211,14 @@ public class AirMapPolygon extends AirMapFeature {
148
211
  }
149
212
 
150
213
  @Override
151
- public void addToMap(GoogleMap map) {
152
- polygon = map.addPolygon(getPolygonOptions());
153
- polygon.setClickable(this.tappable);
214
+ public void addToMap(Object collection) {
215
+ PolygonManager.Collection polygonCollection = (PolygonManager.Collection) collection;
216
+ polygon = polygonCollection.addPolygon(getPolygonOptions());
154
217
  }
155
218
 
156
219
  @Override
157
- public void removeFromMap(GoogleMap map) {
158
- polygon.remove();
220
+ public void removeFromMap(Object collection) {
221
+ PolygonManager.Collection polygonCollection = (PolygonManager.Collection) collection;
222
+ polygonCollection.remove(polygon);
159
223
  }
160
224
  }
@@ -1,8 +1,7 @@
1
- package com.airbnb.android.react.maps;
1
+ package com.rnmaps.maps;
2
2
 
3
3
  import android.content.Context;
4
4
  import android.graphics.Color;
5
- import android.os.Build;
6
5
  import android.util.DisplayMetrics;
7
6
  import android.view.WindowManager;
8
7
 
@@ -17,19 +16,15 @@ import com.facebook.react.uimanager.annotations.ReactProp;
17
16
 
18
17
  import java.util.Map;
19
18
 
20
- public class AirMapPolygonManager extends ViewGroupManager<AirMapPolygon> {
19
+ public class MapPolygonManager extends ViewGroupManager<MapPolygon> {
21
20
  private final DisplayMetrics metrics;
22
21
 
23
- public AirMapPolygonManager(ReactApplicationContext reactContext) {
22
+ public MapPolygonManager(ReactApplicationContext reactContext) {
24
23
  super();
25
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
26
- metrics = new DisplayMetrics();
27
- ((WindowManager) reactContext.getSystemService(Context.WINDOW_SERVICE))
28
- .getDefaultDisplay()
29
- .getRealMetrics(metrics);
30
- } else {
31
- metrics = reactContext.getResources().getDisplayMetrics();
32
- }
24
+ metrics = new DisplayMetrics();
25
+ ((WindowManager) reactContext.getSystemService(Context.WINDOW_SERVICE))
26
+ .getDefaultDisplay()
27
+ .getRealMetrics(metrics);
33
28
  }
34
29
 
35
30
  @Override
@@ -38,51 +33,56 @@ public class AirMapPolygonManager extends ViewGroupManager<AirMapPolygon> {
38
33
  }
39
34
 
40
35
  @Override
41
- public AirMapPolygon createViewInstance(ThemedReactContext context) {
42
- return new AirMapPolygon(context);
36
+ public MapPolygon createViewInstance(ThemedReactContext context) {
37
+ return new MapPolygon(context);
43
38
  }
44
39
 
45
40
  @ReactProp(name = "coordinates")
46
- public void setCoordinate(AirMapPolygon view, ReadableArray coordinates) {
41
+ public void setCoordinate(MapPolygon view, ReadableArray coordinates) {
47
42
  view.setCoordinates(coordinates);
48
43
  }
49
44
 
50
45
  @ReactProp(name = "holes")
51
- public void setHoles(AirMapPolygon view, ReadableArray holes) {
46
+ public void setHoles(MapPolygon view, ReadableArray holes) {
52
47
  view.setHoles(holes);
53
48
  }
54
49
 
55
50
  @ReactProp(name = "strokeWidth", defaultFloat = 1f)
56
- public void setStrokeWidth(AirMapPolygon view, float widthInPoints) {
51
+ public void setStrokeWidth(MapPolygon view, float widthInPoints) {
57
52
  float widthInScreenPx = metrics.density * widthInPoints; // done for parity with iOS
58
53
  view.setStrokeWidth(widthInScreenPx);
59
54
  }
60
55
 
61
56
  @ReactProp(name = "fillColor", defaultInt = Color.RED, customType = "Color")
62
- public void setFillColor(AirMapPolygon view, int color) {
57
+ public void setFillColor(MapPolygon view, int color) {
63
58
  view.setFillColor(color);
64
59
  }
65
60
 
66
61
  @ReactProp(name = "strokeColor", defaultInt = Color.RED, customType = "Color")
67
- public void setStrokeColor(AirMapPolygon view, int color) {
62
+ public void setStrokeColor(MapPolygon view, int color) {
68
63
  view.setStrokeColor(color);
69
64
  }
70
65
 
71
66
  @ReactProp(name = "tappable", defaultBoolean = false)
72
- public void setTappable(AirMapPolygon view, boolean tapabble) {
67
+ public void setTappable(MapPolygon view, boolean tapabble) {
73
68
  view.setTappable(tapabble);
74
69
  }
75
70
 
76
71
  @ReactProp(name = "geodesic", defaultBoolean = false)
77
- public void setGeodesic(AirMapPolygon view, boolean geodesic) {
72
+ public void setGeodesic(MapPolygon view, boolean geodesic) {
78
73
  view.setGeodesic(geodesic);
79
74
  }
80
75
 
81
76
  @ReactProp(name = "zIndex", defaultFloat = 1.0f)
82
- public void setZIndex(AirMapPolygon view, float zIndex) {
77
+ public void setZIndex(MapPolygon view, float zIndex) {
83
78
  view.setZIndex(zIndex);
84
79
  }
85
80
 
81
+ @ReactProp(name = "lineDashPattern")
82
+ public void setLineDashPattern(MapPolygon view, ReadableArray patternValues) {
83
+ view.setLineDashPattern(patternValues);
84
+ }
85
+
86
86
  @Override
87
87
  @Nullable
88
88
  public Map getExportedCustomDirectEventTypeConstants() {