react-native-google-maps-plus 1.0.1 → 1.0.3-dev.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 (203) hide show
  1. package/README.md +127 -11
  2. package/{GoogleMapsNitro.podspec → RNGoogleMapsPlus.podspec} +2 -2
  3. package/android/CMakeLists.txt +3 -3
  4. package/android/build.gradle +4 -4
  5. package/android/gradle.properties +8 -8
  6. package/android/src/main/cpp/cpp-adapter.cpp +2 -2
  7. package/android/src/main/java/com/{googlemapsnitro → rngooglemapsplus}/Color.kt +1 -1
  8. package/android/src/main/java/com/{googlemapsnitro/GoogleMapsNitroViewImpl.kt → rngooglemapsplus/GoogleMapsViewImpl.kt} +242 -115
  9. package/android/src/main/java/com/{googlemapsnitro → rngooglemapsplus}/LocationHandler.kt +1 -1
  10. package/android/src/main/java/com/rngooglemapsplus/MapCircle.kt +29 -0
  11. package/android/src/main/java/com/{googlemapsnitro → rngooglemapsplus}/MapMarker.kt +7 -6
  12. package/android/src/main/java/com/{googlemapsnitro → rngooglemapsplus}/MapPolygon.kt +4 -2
  13. package/android/src/main/java/com/{googlemapsnitro → rngooglemapsplus}/MapPolyline.kt +4 -2
  14. package/android/src/main/java/com/{googlemapsnitro → rngooglemapsplus}/PermissionHandler.kt +1 -1
  15. package/android/src/main/java/com/{googlemapsnitro → rngooglemapsplus}/PlayServicesHandler.kt +1 -1
  16. package/android/src/main/java/com/{googlemapsnitro/HybridGoogleMapsNitroModule.kt → rngooglemapsplus/RNGoogleMapsPlusModule.kt} +3 -3
  17. package/android/src/main/java/com/{googlemapsnitro/GoogleMapsNitroPackage.kt → rngooglemapsplus/RNGoogleMapsPlusPackage.kt} +6 -6
  18. package/android/src/main/java/com/{googlemapsnitro/HybridGoogleMapsNitroView.kt → rngooglemapsplus/RNGoogleMapsPlusView.kt} +119 -92
  19. package/ios/Color.swift +20 -20
  20. package/ios/{GoogleMapNitroViewImpl.swift → GoogleMapViewImpl.swift} +195 -140
  21. package/ios/MapCircle.swift +43 -0
  22. package/ios/MapMarker.swift +10 -17
  23. package/ios/MapPolygon.swift +9 -6
  24. package/ios/MapPolyline.swift +9 -7
  25. package/ios/PermissionHandler.swift +1 -1
  26. package/ios/{HybridGoogleMapsNitroModule.swift → RNGoogleMapsPlusModule.swift} +2 -2
  27. package/ios/{HybridGoogleMapsNitroView.swift → RNGoogleMapsPlusView.swift} +151 -108
  28. package/lib/module/RNGoogleMapsPlusModule.nitro.js +4 -0
  29. package/lib/module/RNGoogleMapsPlusModule.nitro.js.map +1 -0
  30. package/lib/module/RNGoogleMapsPlusView.nitro.js +4 -0
  31. package/lib/module/RNGoogleMapsPlusView.nitro.js.map +1 -0
  32. package/lib/module/index.js +3 -3
  33. package/lib/module/index.js.map +1 -1
  34. package/lib/module/types.js.map +1 -1
  35. package/lib/typescript/src/{GoogleMapsNitroModule.nitro.d.ts → RNGoogleMapsPlusModule.nitro.d.ts} +2 -2
  36. package/lib/typescript/src/RNGoogleMapsPlusModule.nitro.d.ts.map +1 -0
  37. package/lib/typescript/src/{GoogleMapsNitroView.nitro.d.ts → RNGoogleMapsPlusView.nitro.d.ts} +21 -16
  38. package/lib/typescript/src/RNGoogleMapsPlusView.nitro.d.ts.map +1 -0
  39. package/lib/typescript/src/index.d.ts +5 -5
  40. package/lib/typescript/src/index.d.ts.map +1 -1
  41. package/lib/typescript/src/types.d.ts +23 -5
  42. package/lib/typescript/src/types.d.ts.map +1 -1
  43. package/nitro.json +11 -11
  44. package/nitrogen/generated/android/{GoogleMapsNitro+autolinking.cmake → RNGoogleMapsPlus+autolinking.cmake} +15 -15
  45. package/nitrogen/generated/android/{GoogleMapsNitro+autolinking.gradle → RNGoogleMapsPlus+autolinking.gradle} +3 -3
  46. package/nitrogen/generated/android/RNGoogleMapsPlusOnLoad.cpp +70 -0
  47. package/nitrogen/generated/android/{GoogleMapsNitroOnLoad.hpp → RNGoogleMapsPlusOnLoad.hpp} +5 -5
  48. package/nitrogen/generated/android/c++/JFunc_void_RNLatLng.hpp +4 -4
  49. package/nitrogen/generated/android/c++/JFunc_void_RNLocation.hpp +4 -4
  50. package/nitrogen/generated/android/c++/JFunc_void_RNLocationErrorCode.hpp +4 -4
  51. package/nitrogen/generated/android/c++/JFunc_void_RNMapErrorCode.hpp +4 -4
  52. package/nitrogen/generated/android/c++/JFunc_void_RNRegion_RNCamera_bool.hpp +4 -4
  53. package/nitrogen/generated/android/c++/JFunc_void_bool.hpp +4 -4
  54. package/nitrogen/generated/android/c++/JFunc_void_std__string.hpp +4 -4
  55. package/nitrogen/generated/android/c++/{JHybridGoogleMapsNitroModuleSpec.cpp → JHybridRNGoogleMapsPlusModuleSpec.cpp} +16 -16
  56. package/nitrogen/generated/android/c++/{JHybridGoogleMapsNitroModuleSpec.hpp → JHybridRNGoogleMapsPlusModuleSpec.hpp} +12 -12
  57. package/nitrogen/generated/android/c++/{JHybridGoogleMapsNitroViewSpec.cpp → JHybridRNGoogleMapsPlusViewSpec.cpp} +223 -119
  58. package/nitrogen/generated/android/c++/{JHybridGoogleMapsNitroViewSpec.hpp → JHybridRNGoogleMapsPlusViewSpec.hpp} +44 -34
  59. package/nitrogen/generated/android/c++/JRNAndroidLocationPermissionResult.hpp +3 -3
  60. package/nitrogen/generated/android/c++/JRNCamera.hpp +3 -3
  61. package/nitrogen/generated/android/c++/JRNCircle.hpp +84 -0
  62. package/nitrogen/generated/android/c++/JRNIOSPermissionResult.hpp +3 -3
  63. package/nitrogen/generated/android/c++/JRNInitialProps.hpp +66 -0
  64. package/nitrogen/generated/android/c++/JRNLatLng.hpp +3 -3
  65. package/nitrogen/generated/android/c++/JRNLineCapType.hpp +3 -3
  66. package/nitrogen/generated/android/c++/JRNLineJoinType.hpp +3 -3
  67. package/nitrogen/generated/android/c++/JRNLocation.hpp +3 -3
  68. package/nitrogen/generated/android/c++/JRNLocationErrorCode.hpp +3 -3
  69. package/nitrogen/generated/android/c++/JRNLocationPermissionResult.hpp +3 -3
  70. package/nitrogen/generated/android/c++/JRNMapErrorCode.hpp +3 -3
  71. package/nitrogen/generated/android/c++/JRNMapPadding.hpp +3 -3
  72. package/nitrogen/generated/android/c++/JRNMapType.hpp +68 -0
  73. package/nitrogen/generated/android/c++/JRNMarker.hpp +7 -7
  74. package/nitrogen/generated/android/c++/JRNPolygon.hpp +11 -7
  75. package/nitrogen/generated/android/c++/JRNPolyline.hpp +11 -7
  76. package/nitrogen/generated/android/c++/JRNPosition.hpp +3 -3
  77. package/nitrogen/generated/android/c++/JRNRegion.hpp +3 -3
  78. package/nitrogen/generated/android/c++/JRNUserInterfaceStyle.hpp +3 -3
  79. package/nitrogen/generated/android/c++/views/{JHybridGoogleMapsNitroViewStateUpdater.cpp → JHybridRNGoogleMapsPlusViewStateUpdater.cpp} +38 -18
  80. package/nitrogen/generated/android/c++/views/{JHybridGoogleMapsNitroViewStateUpdater.hpp → JHybridRNGoogleMapsPlusViewStateUpdater.hpp} +11 -11
  81. package/nitrogen/generated/android/kotlin/com/margelo/nitro/{googlemapsnitro → rngooglemapsplus}/Func_void_RNLatLng.kt +1 -1
  82. package/nitrogen/generated/android/kotlin/com/margelo/nitro/{googlemapsnitro → rngooglemapsplus}/Func_void_RNLocation.kt +1 -1
  83. package/nitrogen/generated/android/kotlin/com/margelo/nitro/{googlemapsnitro → rngooglemapsplus}/Func_void_RNLocationErrorCode.kt +1 -1
  84. package/nitrogen/generated/android/kotlin/com/margelo/nitro/{googlemapsnitro → rngooglemapsplus}/Func_void_RNMapErrorCode.kt +1 -1
  85. package/nitrogen/generated/android/kotlin/com/margelo/nitro/{googlemapsnitro → rngooglemapsplus}/Func_void_RNRegion_RNCamera_bool.kt +1 -1
  86. package/nitrogen/generated/android/kotlin/com/margelo/nitro/{googlemapsnitro → rngooglemapsplus}/Func_void_bool.kt +1 -1
  87. package/nitrogen/generated/android/kotlin/com/margelo/nitro/{googlemapsnitro → rngooglemapsplus}/Func_void_std__string.kt +1 -1
  88. package/nitrogen/generated/android/kotlin/com/margelo/nitro/{googlemapsnitro/HybridGoogleMapsNitroModuleSpec.kt → rngooglemapsplus/HybridRNGoogleMapsPlusModuleSpec.kt} +6 -6
  89. package/nitrogen/generated/android/kotlin/com/margelo/nitro/{googlemapsnitro/HybridGoogleMapsNitroViewSpec.kt → rngooglemapsplus/HybridRNGoogleMapsPlusViewSpec.kt} +71 -17
  90. package/nitrogen/generated/android/kotlin/com/margelo/nitro/{googlemapsnitro → rngooglemapsplus}/RNAndroidLocationPermissionResult.kt +1 -1
  91. package/nitrogen/generated/android/kotlin/com/margelo/nitro/{googlemapsnitro → rngooglemapsplus}/RNCamera.kt +1 -1
  92. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNCircle.kt +50 -0
  93. package/nitrogen/generated/android/kotlin/com/margelo/nitro/{googlemapsnitro/GoogleMapsNitroOnLoad.kt → rngooglemapsplus/RNGoogleMapsPlusOnLoad.kt} +9 -9
  94. package/nitrogen/generated/android/kotlin/com/margelo/nitro/{googlemapsnitro → rngooglemapsplus}/RNIOSPermissionResult.kt +1 -1
  95. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNInitialProps.kt +35 -0
  96. package/nitrogen/generated/android/kotlin/com/margelo/nitro/{googlemapsnitro → rngooglemapsplus}/RNLatLng.kt +1 -1
  97. package/nitrogen/generated/android/kotlin/com/margelo/nitro/{googlemapsnitro → rngooglemapsplus}/RNLineCapType.kt +1 -1
  98. package/nitrogen/generated/android/kotlin/com/margelo/nitro/{googlemapsnitro → rngooglemapsplus}/RNLineJoinType.kt +1 -1
  99. package/nitrogen/generated/android/kotlin/com/margelo/nitro/{googlemapsnitro → rngooglemapsplus}/RNLocation.kt +1 -1
  100. package/nitrogen/generated/android/kotlin/com/margelo/nitro/{googlemapsnitro → rngooglemapsplus}/RNLocationErrorCode.kt +1 -1
  101. package/nitrogen/generated/android/kotlin/com/margelo/nitro/{googlemapsnitro → rngooglemapsplus}/RNLocationPermissionResult.kt +1 -1
  102. package/nitrogen/generated/android/kotlin/com/margelo/nitro/{googlemapsnitro → rngooglemapsplus}/RNMapErrorCode.kt +1 -1
  103. package/nitrogen/generated/android/kotlin/com/margelo/nitro/{googlemapsnitro → rngooglemapsplus}/RNMapPadding.kt +1 -1
  104. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNMapType.kt +24 -0
  105. package/nitrogen/generated/android/kotlin/com/margelo/nitro/{googlemapsnitro → rngooglemapsplus}/RNMarker.kt +2 -2
  106. package/nitrogen/generated/android/kotlin/com/margelo/nitro/{googlemapsnitro → rngooglemapsplus}/RNPolygon.kt +5 -2
  107. package/nitrogen/generated/android/kotlin/com/margelo/nitro/{googlemapsnitro → rngooglemapsplus}/RNPolyline.kt +5 -2
  108. package/nitrogen/generated/android/kotlin/com/margelo/nitro/{googlemapsnitro → rngooglemapsplus}/RNPosition.kt +1 -1
  109. package/nitrogen/generated/android/kotlin/com/margelo/nitro/{googlemapsnitro → rngooglemapsplus}/RNRegion.kt +1 -1
  110. package/nitrogen/generated/android/kotlin/com/margelo/nitro/{googlemapsnitro → rngooglemapsplus}/RNUserInterfaceStyle.kt +1 -1
  111. package/nitrogen/generated/android/kotlin/com/margelo/nitro/{googlemapsnitro/views/HybridGoogleMapsNitroViewManager.kt → rngooglemapsplus/views/HybridRNGoogleMapsPlusViewManager.kt} +16 -10
  112. package/nitrogen/generated/android/kotlin/com/margelo/nitro/{googlemapsnitro/views/HybridGoogleMapsNitroViewStateUpdater.kt → rngooglemapsplus/views/HybridRNGoogleMapsPlusViewStateUpdater.kt} +5 -5
  113. package/nitrogen/generated/ios/{GoogleMapsNitro+autolinking.rb → RNGoogleMapsPlus+autolinking.rb} +4 -4
  114. package/nitrogen/generated/ios/{GoogleMapsNitro-Swift-Cxx-Bridge.cpp → RNGoogleMapsPlus-Swift-Cxx-Bridge.cpp} +32 -32
  115. package/nitrogen/generated/ios/{GoogleMapsNitro-Swift-Cxx-Bridge.hpp → RNGoogleMapsPlus-Swift-Cxx-Bridge.hpp} +233 -90
  116. package/nitrogen/generated/ios/RNGoogleMapsPlus-Swift-Cxx-Umbrella.hpp +113 -0
  117. package/nitrogen/generated/ios/RNGoogleMapsPlusAutolinking.mm +41 -0
  118. package/nitrogen/generated/ios/{GoogleMapsNitroAutolinking.swift → RNGoogleMapsPlusAutolinking.swift} +15 -15
  119. package/nitrogen/generated/ios/c++/HybridRNGoogleMapsPlusModuleSpecSwift.cpp +11 -0
  120. package/nitrogen/generated/ios/c++/{HybridGoogleMapsNitroModuleSpecSwift.hpp → HybridRNGoogleMapsPlusModuleSpecSwift.hpp} +18 -18
  121. package/nitrogen/generated/ios/c++/HybridRNGoogleMapsPlusViewSpecSwift.cpp +11 -0
  122. package/nitrogen/generated/ios/c++/{HybridGoogleMapsNitroViewSpecSwift.hpp → HybridRNGoogleMapsPlusViewSpecSwift.hpp} +117 -69
  123. package/nitrogen/generated/ios/c++/views/{HybridGoogleMapsNitroViewComponent.mm → HybridRNGoogleMapsPlusViewComponent.mm} +59 -34
  124. package/nitrogen/generated/ios/swift/Func_void_RNLatLng.swift +1 -1
  125. package/nitrogen/generated/ios/swift/Func_void_RNLocation.swift +1 -1
  126. package/nitrogen/generated/ios/swift/Func_void_RNLocationErrorCode.swift +2 -2
  127. package/nitrogen/generated/ios/swift/Func_void_RNLocationPermissionResult.swift +1 -1
  128. package/nitrogen/generated/ios/swift/Func_void_RNMapErrorCode.swift +2 -2
  129. package/nitrogen/generated/ios/swift/Func_void_RNRegion_RNCamera_bool.swift +1 -1
  130. package/nitrogen/generated/ios/swift/Func_void_bool.swift +1 -1
  131. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +1 -1
  132. package/nitrogen/generated/ios/swift/Func_void_std__string.swift +1 -1
  133. package/nitrogen/generated/ios/swift/HybridRNGoogleMapsPlusModuleSpec.swift +52 -0
  134. package/nitrogen/generated/ios/swift/{HybridGoogleMapsNitroModuleSpec_cxx.swift → HybridRNGoogleMapsPlusModuleSpec_cxx.swift} +21 -21
  135. package/nitrogen/generated/ios/swift/HybridRNGoogleMapsPlusViewSpec.swift +78 -0
  136. package/nitrogen/generated/ios/swift/{HybridGoogleMapsNitroViewSpec_cxx.swift → HybridRNGoogleMapsPlusViewSpec_cxx.swift} +317 -66
  137. package/nitrogen/generated/ios/swift/RNAndroidLocationPermissionResult.swift +1 -1
  138. package/nitrogen/generated/ios/swift/RNCamera.swift +2 -2
  139. package/nitrogen/generated/ios/swift/RNCircle.swift +198 -0
  140. package/nitrogen/generated/ios/swift/RNIOSPermissionResult.swift +1 -1
  141. package/nitrogen/generated/ios/swift/RNInitialProps.swift +107 -0
  142. package/nitrogen/generated/ios/swift/RNLatLng.swift +2 -2
  143. package/nitrogen/generated/ios/swift/RNLineCapType.swift +1 -1
  144. package/nitrogen/generated/ios/swift/RNLineJoinType.swift +1 -1
  145. package/nitrogen/generated/ios/swift/RNLocation.swift +2 -2
  146. package/nitrogen/generated/ios/swift/RNLocationErrorCode.swift +1 -1
  147. package/nitrogen/generated/ios/swift/RNLocationPermissionResult.swift +2 -2
  148. package/nitrogen/generated/ios/swift/RNMapErrorCode.swift +1 -1
  149. package/nitrogen/generated/ios/swift/RNMapPadding.swift +2 -2
  150. package/nitrogen/generated/ios/swift/RNMapType.swift +52 -0
  151. package/nitrogen/generated/ios/swift/RNMarker.swift +19 -7
  152. package/nitrogen/generated/ios/swift/RNPolygon.swift +42 -7
  153. package/nitrogen/generated/ios/swift/RNPolyline.swift +42 -7
  154. package/nitrogen/generated/ios/swift/RNPosition.swift +2 -2
  155. package/nitrogen/generated/ios/swift/RNRegion.swift +2 -2
  156. package/nitrogen/generated/ios/swift/RNUserInterfaceStyle.swift +1 -1
  157. package/nitrogen/generated/shared/c++/{HybridGoogleMapsNitroModuleSpec.cpp → HybridRNGoogleMapsPlusModuleSpec.cpp} +9 -9
  158. package/nitrogen/generated/shared/c++/{HybridGoogleMapsNitroModuleSpec.hpp → HybridRNGoogleMapsPlusModuleSpec.hpp} +12 -12
  159. package/nitrogen/generated/shared/c++/HybridRNGoogleMapsPlusViewSpec.cpp +76 -0
  160. package/nitrogen/generated/shared/c++/{HybridGoogleMapsNitroViewSpec.hpp → HybridRNGoogleMapsPlusViewSpec.hpp} +67 -48
  161. package/nitrogen/generated/shared/c++/RNAndroidLocationPermissionResult.hpp +6 -6
  162. package/nitrogen/generated/shared/c++/RNCamera.hpp +10 -10
  163. package/nitrogen/generated/shared/c++/RNCircle.hpp +98 -0
  164. package/nitrogen/generated/shared/c++/RNIOSPermissionResult.hpp +6 -6
  165. package/nitrogen/generated/shared/c++/RNInitialProps.hpp +78 -0
  166. package/nitrogen/generated/shared/c++/RNLatLng.hpp +6 -6
  167. package/nitrogen/generated/shared/c++/RNLineCapType.hpp +11 -11
  168. package/nitrogen/generated/shared/c++/RNLineJoinType.hpp +11 -11
  169. package/nitrogen/generated/shared/c++/RNLocation.hpp +10 -10
  170. package/nitrogen/generated/shared/c++/RNLocationErrorCode.hpp +6 -6
  171. package/nitrogen/generated/shared/c++/RNLocationPermissionResult.hpp +14 -14
  172. package/nitrogen/generated/shared/c++/RNMapErrorCode.hpp +6 -6
  173. package/nitrogen/generated/shared/c++/RNMapPadding.hpp +6 -6
  174. package/nitrogen/generated/shared/c++/RNMapType.hpp +88 -0
  175. package/nitrogen/generated/shared/c++/RNMarker.hpp +20 -20
  176. package/nitrogen/generated/shared/c++/RNPolygon.hpp +20 -16
  177. package/nitrogen/generated/shared/c++/RNPolyline.hpp +28 -24
  178. package/nitrogen/generated/shared/c++/RNPosition.hpp +6 -6
  179. package/nitrogen/generated/shared/c++/RNRegion.hpp +10 -10
  180. package/nitrogen/generated/shared/c++/RNUserInterfaceStyle.hpp +11 -11
  181. package/nitrogen/generated/shared/c++/views/{HybridGoogleMapsNitroViewComponent.cpp → HybridRNGoogleMapsPlusViewComponent.cpp} +133 -73
  182. package/nitrogen/generated/shared/c++/views/HybridRNGoogleMapsPlusViewComponent.hpp +147 -0
  183. package/nitrogen/generated/shared/json/{GoogleMapsNitroViewConfig.json → RNGoogleMapsPlusViewConfig.json} +7 -2
  184. package/package.json +13 -7
  185. package/src/{GoogleMapsNitroModule.nitro.ts → RNGoogleMapsPlusModule.nitro.ts} +1 -1
  186. package/src/{GoogleMapsNitroView.nitro.ts → RNGoogleMapsPlusView.nitro.ts} +24 -16
  187. package/src/index.tsx +11 -11
  188. package/src/types.ts +26 -5
  189. package/lib/module/GoogleMapsNitroModule.nitro.js +0 -4
  190. package/lib/module/GoogleMapsNitroModule.nitro.js.map +0 -1
  191. package/lib/module/GoogleMapsNitroView.nitro.js +0 -4
  192. package/lib/module/GoogleMapsNitroView.nitro.js.map +0 -1
  193. package/lib/typescript/src/GoogleMapsNitroModule.nitro.d.ts.map +0 -1
  194. package/lib/typescript/src/GoogleMapsNitroView.nitro.d.ts.map +0 -1
  195. package/nitrogen/generated/android/GoogleMapsNitroOnLoad.cpp +0 -70
  196. package/nitrogen/generated/ios/GoogleMapsNitro-Swift-Cxx-Umbrella.hpp +0 -104
  197. package/nitrogen/generated/ios/GoogleMapsNitroAutolinking.mm +0 -41
  198. package/nitrogen/generated/ios/c++/HybridGoogleMapsNitroModuleSpecSwift.cpp +0 -11
  199. package/nitrogen/generated/ios/c++/HybridGoogleMapsNitroViewSpecSwift.cpp +0 -11
  200. package/nitrogen/generated/ios/swift/HybridGoogleMapsNitroModuleSpec.swift +0 -52
  201. package/nitrogen/generated/ios/swift/HybridGoogleMapsNitroViewSpec.swift +0 -73
  202. package/nitrogen/generated/shared/c++/HybridGoogleMapsNitroViewSpec.cpp +0 -66
  203. package/nitrogen/generated/shared/c++/views/HybridGoogleMapsNitroViewComponent.hpp +0 -139
@@ -2,35 +2,23 @@ import CoreLocation
2
2
  import GoogleMaps
3
3
  import UIKit
4
4
 
5
- final class GoogleMapsNitroViewImpl: UIView, GMSMapViewDelegate {
5
+ final class GoogleMapsViewImpl: UIView, GMSMapViewDelegate {
6
6
 
7
7
  private let locationHandler: LocationHandler
8
8
  private let markerOptions: MapMarkerOptions
9
- private var mapView: GMSMapView!
9
+ private var mapView: GMSMapView?
10
+ private var initialized = false
10
11
  private var mapReady = false
11
12
 
12
- private var pendingBuildingEnabled: Bool = false
13
- private var pendingTrafficEnabled: Bool = false
14
- private var pendingCustomMapStyle: GMSMapStyle?
15
- private var pendingInitialCamera: GMSCameraPosition =
16
- GMSCameraPosition.camera(withLatitude: 0, longitude: 0, zoom: 0)
17
- private var pendingUserInterfaceStyle = UIUserInterfaceStyle.unspecified
18
- private var pendingMinZoomLevel: Double = 0.0
19
- private var pendingMaxZoomLevel: Double = 21.0
20
- private var pendingMapPadding: RNMapPadding = .init(
21
- top: 0,
22
- left: 0,
23
- bottom: 0,
24
- right: 0
25
- )
26
-
27
- private var pendingPolygons: [(id: String, polygon: GMSPolygon)] = []
28
- private var pendingPolylines: [(id: String, polyline: GMSPolyline)] = []
29
13
  private var pendingMarkers: [(id: String, marker: GMSMarker)] = []
14
+ private var pendingPolylines: [(id: String, polyline: GMSPolyline)] = []
15
+ private var pendingPolygons: [(id: String, polygon: GMSPolygon)] = []
16
+ private var pendingCircles: [(id: String, circle: GMSCircle)] = []
30
17
 
31
- private var polygonsById: [String: GMSPolygon] = [:]
32
- private var polylinesById: [String: GMSPolyline] = [:]
33
18
  private var markersById: [String: GMSMarker] = [:]
19
+ private var polylinesById: [String: GMSPolyline] = [:]
20
+ private var polygonsById: [String: GMSPolygon] = [:]
21
+ private var circlesById: [String: GMSCircle] = [:]
34
22
 
35
23
  private var cameraMoveReasonIsGesture: Bool = false
36
24
  private var lastSubmittedCameraPosition: GMSCameraPosition?
@@ -42,6 +30,9 @@ final class GoogleMapsNitroViewImpl: UIView, GMSMapViewDelegate {
42
30
  var onLocationError: ((_ error: RNLocationErrorCode) -> Void)?
43
31
  var onMapPress: ((RNLatLng) -> Void)?
44
32
  var onMarkerPress: ((String) -> Void)?
33
+ var onPolylinePress: ((String) -> Void)?
34
+ var onPolygonPress: ((String) -> Void)?
35
+ var onCirclePress: ((String) -> Void)?
45
36
  var onCameraChangeStart: ((RNRegion, RNCamera, Bool) -> Void)?
46
37
  var onCameraChange: ((RNRegion, RNCamera, Bool) -> Void)?
47
38
  var onCameraChangeComplete: ((RNRegion, RNCamera, Bool) -> Void)?
@@ -55,15 +46,6 @@ final class GoogleMapsNitroViewImpl: UIView, GMSMapViewDelegate {
55
46
  self.markerOptions = markerOptions
56
47
  super.init(frame: frame)
57
48
  setupAppLifecycleObservers()
58
- setupMap()
59
-
60
- /// wait 1 second if alle setter called
61
- DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) { [weak self] in
62
- self?.initLocationCallbacks()
63
- self?.applyPending()
64
- self?.onMapReady?(true)
65
- self?.mapReady = true
66
- }
67
49
  }
68
50
 
69
51
  private func setupAppLifecycleObservers() {
@@ -86,14 +68,31 @@ final class GoogleMapsNitroViewImpl: UIView, GMSMapViewDelegate {
86
68
  }
87
69
 
88
70
  @MainActor
89
- private func setupMap() {
71
+ func initMapView(mapId: String?, liteMode: Bool?, camera: GMSCameraPosition?) {
72
+ if initialized { return }
73
+ initialized = true
90
74
  let options = GMSMapViewOptions()
91
75
  options.frame = bounds
76
+ if let mapId = mapId {
77
+ options.mapID = GMSMapID(identifier: mapId)
78
+ }
79
+ if let liteMode = liteMode {
80
+ /// not supported
81
+ }
82
+ if let camera = camera {
83
+ options.camera = camera
84
+ }
92
85
  mapView = GMSMapView.init(options: options)
93
- mapView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
94
- mapView.paddingAdjustmentBehavior = .never
95
- mapView.delegate = self
96
- addSubview(mapView)
86
+ mapView?.delegate = self
87
+ mapView?.autoresizingMask = [.flexibleWidth, .flexibleHeight]
88
+ mapView?.paddingAdjustmentBehavior = .never
89
+ if let mapView = mapView {
90
+ addSubview(mapView)
91
+ }
92
+ initLocationCallbacks()
93
+ applyPending()
94
+ onMapReady?(true)
95
+ mapReady = true
97
96
  }
98
97
 
99
98
  private func initLocationCallbacks() {
@@ -102,7 +101,7 @@ final class GoogleMapsNitroViewImpl: UIView, GMSMapViewDelegate {
102
101
  if self.lastSubmittedLocation?.coordinate.latitude
103
102
  != loc.coordinate.latitude
104
103
  || self.lastSubmittedLocation?.coordinate.longitude
105
- != loc.coordinate.longitude {
104
+ != loc.coordinate.longitude {
106
105
  self.onLocationUpdate?(
107
106
  RNLocation(
108
107
  RNLatLng(
@@ -123,21 +122,39 @@ final class GoogleMapsNitroViewImpl: UIView, GMSMapViewDelegate {
123
122
 
124
123
  @MainActor
125
124
  private func applyPending() {
126
- mapView.padding = UIEdgeInsets(
127
- top: pendingMapPadding.top,
128
- left: pendingMapPadding.left,
129
- bottom: pendingMapPadding.bottom,
130
- right: pendingMapPadding.right
131
- )
132
125
 
133
- mapView.mapStyle = pendingCustomMapStyle
134
- mapView.isBuildingsEnabled = pendingBuildingEnabled
135
- mapView.isTrafficEnabled = pendingTrafficEnabled
136
- mapView.overrideUserInterfaceStyle = pendingUserInterfaceStyle
137
- mapView.setMinZoom(
138
- Float(pendingMinZoomLevel),
139
- maxZoom: Float(pendingMaxZoomLevel)
140
- )
126
+ if let padding = mapPadding {
127
+ mapView?.padding = UIEdgeInsets(
128
+ top: padding.top,
129
+ left: padding.left,
130
+ bottom: padding.bottom,
131
+ right: padding.right
132
+ )
133
+ }
134
+
135
+ if let style = customMapStyle {
136
+ mapView?.mapStyle = style
137
+ }
138
+
139
+ if let mapType = mapType {
140
+ mapView?.mapType = mapType
141
+ }
142
+
143
+ if let buildings = buildingEnabled {
144
+ mapView?.isBuildingsEnabled = buildings
145
+ }
146
+
147
+ if let traffic = trafficEnabled {
148
+ mapView?.isTrafficEnabled = traffic
149
+ }
150
+
151
+ if let uiStyle = userInterfaceStyle {
152
+ mapView?.overrideUserInterfaceStyle = uiStyle
153
+ }
154
+
155
+ if let minZoom = minZoomLevel, let maxZoom = maxZoomLevel {
156
+ mapView?.setMinZoom(Float(minZoom), maxZoom: Float(maxZoom))
157
+ }
141
158
 
142
159
  if !pendingMarkers.isEmpty {
143
160
  pendingMarkers.forEach {
@@ -157,119 +174,106 @@ final class GoogleMapsNitroViewImpl: UIView, GMSMapViewDelegate {
157
174
  }
158
175
  pendingPolygons.removeAll()
159
176
  }
177
+ if !pendingCircles.isEmpty {
178
+ pendingCircles.forEach {
179
+ addCircleInternal(id: $0.id, circle: $0.circle)
180
+ }
181
+ pendingCircles.removeAll()
182
+ }
160
183
  }
161
184
 
162
- var currentCamera: GMSCameraPosition {
163
- mapView.camera
185
+ var currentCamera: GMSCameraPosition? {
186
+ mapView?.camera
164
187
  }
165
188
 
166
189
  @MainActor
167
- var buildingEnabled: Bool {
168
- get { mapView.isBuildingsEnabled }
169
- set {
170
- pendingBuildingEnabled = newValue
171
- mapView.isBuildingsEnabled = newValue
190
+ var buildingEnabled: Bool? {
191
+ didSet {
192
+ if let value = buildingEnabled {
193
+ mapView?.isBuildingsEnabled = value
194
+ }
172
195
  }
173
196
  }
174
197
 
175
198
  @MainActor
176
- var trafficEnabled: Bool {
177
- get { mapView.isTrafficEnabled }
178
- set {
179
- pendingTrafficEnabled = newValue
180
- mapView.isTrafficEnabled = newValue
199
+ var trafficEnabled: Bool? {
200
+ didSet {
201
+ if let value = trafficEnabled {
202
+ mapView?.isTrafficEnabled = value
203
+ }
181
204
  }
182
205
  }
183
206
 
184
207
  @MainActor
185
208
  var customMapStyle: GMSMapStyle? {
186
- get { pendingCustomMapStyle }
187
- set {
188
- pendingCustomMapStyle = newValue
189
- mapView.mapStyle = newValue
209
+ didSet {
210
+ if let style = customMapStyle {
211
+ mapView?.mapStyle = style
212
+ }
190
213
  }
191
214
  }
192
215
 
193
216
  @MainActor
194
- var initialCamera: GMSCameraPosition {
195
- get { pendingInitialCamera }
196
- set {
197
- pendingInitialCamera = newValue
198
- if mapView != nil && !mapReady {
199
- mapView.camera = newValue
217
+ var userInterfaceStyle: UIUserInterfaceStyle? {
218
+ didSet {
219
+ if let style = userInterfaceStyle {
220
+ mapView?.overrideUserInterfaceStyle = style
200
221
  }
201
222
  }
202
223
  }
203
224
 
204
225
  @MainActor
205
- var userInterfaceStyle: UIUserInterfaceStyle {
206
- get { pendingUserInterfaceStyle }
207
- set {
208
- pendingUserInterfaceStyle = newValue
209
- mapView.overrideUserInterfaceStyle = newValue
226
+ var minZoomLevel: Double? {
227
+ didSet {
228
+ if let min = minZoomLevel, let max = maxZoomLevel {
229
+ mapView?.setMinZoom(Float(min), maxZoom: Float(max))
230
+ }
210
231
  }
211
232
  }
212
233
 
213
234
  @MainActor
214
- var minZoomLevel: Double {
215
- get { pendingMinZoomLevel }
216
- set {
217
- pendingMinZoomLevel = newValue
218
- mapView.setMinZoom(Float(newValue), maxZoom: Float(pendingMaxZoomLevel))
235
+ var maxZoomLevel: Double? {
236
+ didSet {
237
+ if let max = maxZoomLevel, let min = minZoomLevel {
238
+ mapView?.setMinZoom(Float(min), maxZoom: Float(max))
239
+ }
219
240
  }
220
241
  }
221
242
 
222
243
  @MainActor
223
- var maxZoomLevel: Double {
224
- get { pendingMaxZoomLevel }
225
- set {
226
- pendingMaxZoomLevel = newValue
227
- mapView.setMinZoom(Float(pendingMinZoomLevel), maxZoom: Float(newValue))
244
+ var mapPadding: RNMapPadding? {
245
+ didSet {
246
+ mapPadding
247
+ if let padding = mapPadding {
248
+ mapView?.padding = UIEdgeInsets(
249
+ top: padding.top,
250
+ left: padding.left,
251
+ bottom: padding.bottom,
252
+ right: padding.right
253
+ )
254
+ } else {
255
+ mapView?.padding = .zero
256
+ }
228
257
  }
229
258
  }
230
259
 
231
- @MainActor
232
- var mapPadding: RNMapPadding {
233
- get { pendingMapPadding }
234
- set {
235
- pendingMapPadding = newValue
236
- mapView.padding = UIEdgeInsets(
237
- top: newValue.top,
238
- left: newValue.left,
239
- bottom: newValue.bottom,
240
- right: newValue.right
241
- )
260
+ @MainActor var mapType: GMSMapViewType? {
261
+ didSet {
262
+ mapView?.mapType = mapType ?? .normal
242
263
  }
243
264
  }
244
265
 
245
- func setCamera(camera: RNCamera, animated: Bool, durationMS: Double) {
246
- let current = mapView.camera
247
-
248
- let zoom = Float(camera.zoom ?? Double(current.zoom))
249
- let bearing = camera.bearing ?? current.bearing
250
- let viewingAngle = camera.bearing ?? current.viewingAngle
251
-
252
- let target = CLLocationCoordinate2D(
253
- latitude: camera.center?.latitude ?? mapView.camera.target.latitude,
254
- longitude: camera.center?.longitude ?? mapView.camera.target.longitude
255
- )
256
-
257
- let cam = GMSCameraPosition.camera(
258
- withTarget: target,
259
- zoom: zoom,
260
- bearing: bearing,
261
- viewingAngle: viewingAngle
262
- )
266
+ func setCamera(camera: GMSCameraPosition, animated: Bool, durationMS: Double) {
263
267
  if animated {
264
268
  withCATransaction(
265
269
  disableActions: false,
266
270
  duration: durationMS / 1000.0
267
271
  ) {
268
- mapView.animate(to: cam)
272
+ mapView?.animate(to: camera)
269
273
  }
270
274
  } else {
271
- let update = GMSCameraUpdate.setCamera(cam)
272
- mapView.moveCamera(update)
275
+ let update = GMSCameraUpdate.setCamera(camera)
276
+ mapView?.moveCamera(update)
273
277
  }
274
278
  }
275
279
 
@@ -315,10 +319,10 @@ final class GoogleMapsNitroViewImpl: UIView, GMSMapViewDelegate {
315
319
  disableActions: false,
316
320
  duration: durationMS / 1000.0
317
321
  ) {
318
- mapView.animate(with: update)
322
+ mapView?.animate(with: update)
319
323
  }
320
324
  } else {
321
- mapView.moveCamera(update)
325
+ mapView?.moveCamera(update)
322
326
  }
323
327
  }
324
328
 
@@ -427,19 +431,50 @@ final class GoogleMapsNitroViewImpl: UIView, GMSMapViewDelegate {
427
431
  pendingPolygons.removeAll()
428
432
  }
429
433
 
430
- func clearAll() {
434
+ @MainActor
435
+ func addCircle(id: String, circle: GMSCircle) {
436
+ if mapView == nil {
437
+ pendingCircles.append((id, circle))
438
+ return
439
+ }
440
+ if let old = circlesById.removeValue(forKey: id) { old.map = nil }
441
+ addCircleInternal(id: id, circle: circle)
442
+ }
443
+
444
+ @MainActor
445
+ private func addCircleInternal(id: String, circle: GMSCircle) {
446
+ circle.map = mapView
447
+ circle.userData = id
448
+ circlesById[id] = circle
449
+ }
450
+
451
+ @MainActor
452
+ func updateCircle(id: String, block: @escaping (GMSCircle) -> Void) {
453
+ guard let circle = circlesById[id] else { return }
454
+ block(circle)
455
+ }
456
+
457
+ @MainActor
458
+ func removeCircle(id: String) {
459
+ if let circle = circlesById.removeValue(forKey: id) { circle.map = nil }
460
+ }
461
+
462
+ @MainActor
463
+ func clearCircles() {
464
+ circlesById.values.forEach { $0.map = nil }
465
+ circlesById.removeAll()
466
+ pendingCircles.removeAll()
467
+ }
468
+
469
+ func deinitInternal() {
431
470
  markerOptions.cancelAllIconTasks()
432
471
  clearMarkers()
433
472
  clearPolylines()
434
473
  clearPolygons()
474
+ clearCircles()
435
475
  locationHandler.stop()
436
- clearMap()
437
- }
438
-
439
- @MainActor
440
- func clearMap() {
441
- mapView.clear()
442
- mapView.delegate = nil
476
+ mapView?.clear()
477
+ mapView?.delegate = nil
443
478
  mapView = nil
444
479
  }
445
480
 
@@ -457,7 +492,7 @@ final class GoogleMapsNitroViewImpl: UIView, GMSMapViewDelegate {
457
492
  super.didMoveToWindow()
458
493
  if window != nil {
459
494
  if mapView != nil && mapReady {
460
- onMapReady?(true)
495
+ onMapReady?(true)
461
496
  }
462
497
  locationHandler.start()
463
498
  } else {
@@ -467,7 +502,7 @@ final class GoogleMapsNitroViewImpl: UIView, GMSMapViewDelegate {
467
502
 
468
503
  deinit {
469
504
  NotificationCenter.default.removeObserver(self)
470
- clearAll()
505
+ deinitInternal()
471
506
  }
472
507
 
473
508
  func mapView(_ mapView: GMSMapView, willMove gesture: Bool) {
@@ -504,11 +539,11 @@ final class GoogleMapsNitroViewImpl: UIView, GMSMapViewDelegate {
504
539
 
505
540
  func mapView(_ mapView: GMSMapView, didChange position: GMSCameraPosition) {
506
541
  if let last = lastSubmittedCameraPosition,
507
- last.target.latitude == position.target.latitude,
508
- last.target.longitude == position.target.longitude,
509
- last.zoom == position.zoom,
510
- last.bearing == position.bearing,
511
- last.viewingAngle == position.viewingAngle {
542
+ last.target.latitude == position.target.latitude,
543
+ last.target.longitude == position.target.longitude,
544
+ last.zoom == position.zoom,
545
+ last.bearing == position.bearing,
546
+ last.viewingAngle == position.viewingAngle {
512
547
  return
513
548
  }
514
549
  let visibleRegion = mapView.projection.visibleRegion()
@@ -576,10 +611,11 @@ final class GoogleMapsNitroViewImpl: UIView, GMSMapViewDelegate {
576
611
  didTapAt coordinate: CLLocationCoordinate2D
577
612
  ) {
578
613
  onMapPress?(
579
- RNLatLng(
580
- latitude: coordinate.latitude,
581
- longitude: coordinate.longitude
582
- ))
614
+ RNLatLng(
615
+ latitude: coordinate.latitude,
616
+ longitude: coordinate.longitude
617
+ )
618
+ )
583
619
  }
584
620
 
585
621
  func mapView(_ mapView: GMSMapView, didTap marker: GMSMarker) -> Bool {
@@ -587,4 +623,23 @@ final class GoogleMapsNitroViewImpl: UIView, GMSMapViewDelegate {
587
623
  onMarkerPress?(id)
588
624
  return true
589
625
  }
626
+
627
+ func mapView(_ mapView: GMSMapView, didTap overlay: GMSOverlay) {
628
+ switch overlay {
629
+ case let circle as GMSCircle:
630
+ let id = (circle.userData as? String) ?? "unknown"
631
+ onCirclePress?(id)
632
+
633
+ case let polygon as GMSPolygon:
634
+ let id = (polygon.userData as? String) ?? "unknown"
635
+ onPolygonPress?(id)
636
+
637
+ case let polyline as GMSPolyline:
638
+ let id = (polyline.userData as? String) ?? "unknown"
639
+ onPolylinePress?(id)
640
+
641
+ default:
642
+ break
643
+ }
644
+ }
590
645
  }
@@ -0,0 +1,43 @@
1
+ import GoogleMaps
2
+
3
+ class MapCircleOptions {
4
+
5
+ func buildCircle(_ c: RNCircle) -> GMSCircle {
6
+ let circle = GMSCircle()
7
+ circle.position = CLLocationCoordinate2D(
8
+ latitude: c.center.latitude,
9
+ longitude: c.center.longitude
10
+ )
11
+ if let r = c.radius { circle.radius = r }
12
+ if let fc = c.fillColor?.toUIColor() { circle.fillColor = fc }
13
+ if let sc = c.strokeColor?.toUIColor() { circle.strokeColor = sc }
14
+ if let sw = c.strokeWidth { circle.strokeWidth = CGFloat(sw) }
15
+ if let pr = c.pressable { circle.isTappable = pr }
16
+ if let zi = c.zIndex { circle.zIndex = Int32(zi) }
17
+
18
+ return circle
19
+ }
20
+ }
21
+
22
+ extension RNCircle {
23
+ func updateCircle(_ next: RNCircle, _ c: GMSCircle) {
24
+ c.position = CLLocationCoordinate2D(
25
+ latitude: next.center.latitude,
26
+ longitude: next.center.longitude
27
+ )
28
+ if let r = next.radius { c.radius = r }
29
+ if let fc = next.fillColor?.toUIColor() { c.fillColor = fc }
30
+ if let sc = next.strokeColor?.toUIColor() { c.strokeColor = sc }
31
+ if let sw = next.strokeWidth { c.strokeWidth = CGFloat(sw) }
32
+ if let pr = next.pressable { c.isTappable = pr }
33
+ if let zi = next.zIndex { c.zIndex = Int32(zi) }
34
+ }
35
+
36
+ func circleEquals(_ b: RNCircle) -> Bool {
37
+ zIndex == b.zIndex && pressable == b.pressable
38
+ && center.latitude == b.center.latitude
39
+ && center.longitude == b.center.longitude && radius == b.radius
40
+ && strokeWidth == b.strokeWidth && strokeColor == b.strokeColor
41
+ && fillColor == b.fillColor
42
+ }
43
+ }
@@ -18,7 +18,6 @@ final class MapMarkerOptions {
18
18
  longitude: m.coordinate.longitude
19
19
  )
20
20
  )
21
- marker.zIndex = Int32(m.zIndex)
22
21
  marker.userData = m.id
23
22
  marker.tracksViewChanges = true
24
23
  marker.icon = icon
@@ -26,6 +25,7 @@ final class MapMarkerOptions {
26
25
  x: m.anchor?.x ?? 0.5,
27
26
  y: m.anchor?.y ?? 0.5
28
27
  )
28
+ if let zi = m.zIndex { marker.zIndex = Int32(zi) }
29
29
  DispatchQueue.main.asyncAfter(deadline: .now() + 0.25) { [weak marker] in
30
30
  marker?.tracksViewChanges = false
31
31
  }
@@ -71,24 +71,17 @@ final class MapMarkerOptions {
71
71
 
72
72
  @MainActor
73
73
  func updateMarker(_ prev: RNMarker, _ next: RNMarker, _ m: GMSMarker) {
74
- if prev.coordinate.latitude != next.coordinate.latitude
75
- || prev.coordinate.longitude != next.coordinate.longitude {
76
- m.position = CLLocationCoordinate2D(
77
- latitude: next.coordinate.latitude,
78
- longitude: next.coordinate.longitude
79
- )
80
- }
74
+ m.position = CLLocationCoordinate2D(
75
+ latitude: next.coordinate.latitude,
76
+ longitude: next.coordinate.longitude
77
+ )
81
78
 
82
- if prev.zIndex != next.zIndex {
83
- m.zIndex = Int32(next.zIndex)
84
- }
79
+ if let zi = next.zIndex { m.zIndex = Int32(zi) }
85
80
 
86
- if prev.anchor?.x != next.anchor?.x || prev.anchor?.y != next.anchor?.y {
87
- m.groundAnchor = CGPoint(
88
- x: next.anchor?.x ?? 0.5,
89
- y: next.anchor?.y ?? 0.5
90
- )
91
- }
81
+ m.groundAnchor = CGPoint(
82
+ x: next.anchor?.x ?? 0.5,
83
+ y: next.anchor?.y ?? 0.5
84
+ )
92
85
 
93
86
  if !prev.markerStyleEquals(next) {
94
87
  buildIconAsync(next.id, next) { img in
@@ -13,7 +13,8 @@ class MapPolygonOptions {
13
13
  if let fc = p.fillColor?.toUIColor() { pg.fillColor = fc }
14
14
  if let sc = p.strokeColor?.toUIColor() { pg.strokeColor = sc }
15
15
  if let sw = p.strokeWidth { pg.strokeWidth = CGFloat(sw) }
16
- pg.zIndex = Int32(p.zIndex)
16
+ if let pr = p.pressable { pg.isTappable = pr }
17
+ if let zi = p.zIndex { pg.zIndex = Int32(zi) }
17
18
  return pg
18
19
  }
19
20
  }
@@ -34,15 +35,17 @@ extension RNPolygon {
34
35
  if let fc = next.fillColor?.toUIColor() { pg.fillColor = fc }
35
36
  if let sc = next.strokeColor?.toUIColor() { pg.strokeColor = sc }
36
37
  if let sw = next.strokeWidth { pg.strokeWidth = CGFloat(sw) }
37
- pg.zIndex = Int32(next.zIndex)
38
+ if let pr = next.pressable { pg.isTappable = pr }
39
+ if let zi = next.zIndex { pg.zIndex = Int32(zi) }
38
40
  }
39
41
 
40
42
  func polygonEquals(_ b: RNPolygon) -> Bool {
41
43
  guard zIndex == b.zIndex,
42
- strokeWidth == b.strokeWidth,
43
- fillColor == b.fillColor,
44
- strokeColor == b.strokeColor,
45
- coordinates.count == b.coordinates.count
44
+ pressable == b.pressable,
45
+ strokeWidth == b.strokeWidth,
46
+ fillColor == b.fillColor,
47
+ strokeColor == b.strokeColor,
48
+ coordinates.count == b.coordinates.count
46
49
  else { return false }
47
50
  for i in 0..<coordinates.count {
48
51
  if coordinates[i].latitude != b.coordinates[i].latitude
@@ -11,13 +11,14 @@ class MapPolylineOptions {
11
11
  let pl = GMSPolyline(path: path)
12
12
  if let w = p.width { pl.strokeWidth = CGFloat(w) }
13
13
  if let c = p.color?.toUIColor() { pl.strokeColor = c }
14
- pl.zIndex = Int32(p.zIndex)
15
14
  if let cap = p.lineCap {
16
15
  /// pl.lineCap = mapLineCap(cap)
17
16
  }
18
17
  if let join = p.lineJoin {
19
18
  /// pl.strokeJoin = mapLineJoin(join)
20
19
  }
20
+ if let pr = p.pressable { pl.isTappable = pr }
21
+ if let zi = p.zIndex { pl.zIndex = Int32(zi) }
21
22
  return pl
22
23
  }
23
24
  }
@@ -61,16 +62,17 @@ extension RNPolyline {
61
62
  if let c = next.color?.toUIColor() {
62
63
  pl.strokeColor = c
63
64
  }
64
- pl.zIndex = Int32(next.zIndex)
65
+ if let pr = next.pressable { pl.isTappable = pr }
66
+ if let zi = next.zIndex { pl.zIndex = Int32(zi) }
65
67
  }
66
68
 
67
69
  func polylineEquals(_ b: RNPolyline) -> Bool {
68
70
  guard zIndex == b.zIndex,
69
- (width ?? 0) == (b.width ?? 0),
70
- lineCap == b.lineCap,
71
- lineJoin == b.lineJoin,
72
- color == b.color,
73
- coordinates.count == b.coordinates.count
71
+ (width ?? 0) == (b.width ?? 0),
72
+ lineCap == b.lineCap,
73
+ lineJoin == b.lineJoin,
74
+ color == b.color,
75
+ coordinates.count == b.coordinates.count
74
76
  else { return false }
75
77
  for i in 0..<coordinates.count {
76
78
  if coordinates[i].latitude != b.coordinates[i].latitude
@@ -14,7 +14,7 @@ final class PermissionHandler: NSObject, CLLocationManagerDelegate {
14
14
  }
15
15
 
16
16
  func requestLocationPermission()
17
- -> NitroModules.Promise<RNLocationPermissionResult> {
17
+ -> NitroModules.Promise<RNLocationPermissionResult> {
18
18
  let promise = NitroModules.Promise<RNLocationPermissionResult>()
19
19
 
20
20
  let status = manager.authorizationStatus
@@ -1,4 +1,4 @@
1
- final class HybridGoogleMapsNitroModule: HybridGoogleMapsNitroModuleSpec {
1
+ final class RNGoogleMapsPlusModule: HybridRNGoogleMapsPlusModuleSpec {
2
2
  private let permissionHandler: PermissionHandler
3
3
  private let locationHandler: LocationHandler
4
4
 
@@ -16,7 +16,7 @@ final class HybridGoogleMapsNitroModule: HybridGoogleMapsNitroModuleSpec {
16
16
  }
17
17
 
18
18
  func requestLocationPermission()
19
- -> NitroModules.Promise<RNLocationPermissionResult> {
19
+ -> NitroModules.Promise<RNLocationPermissionResult> {
20
20
  return permissionHandler.requestLocationPermission()
21
21
  }
22
22