react-native-google-maps-plus 1.1.0-dev.3 → 1.1.0-dev.4

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 (53) hide show
  1. package/README.md +7 -5
  2. package/RNGoogleMapsPlus.podspec +2 -1
  3. package/android/src/main/java/com/rngooglemapsplus/GoogleMapsViewImpl.kt +54 -0
  4. package/android/src/main/java/com/rngooglemapsplus/MapHeatmapBuilder.kt +31 -0
  5. package/android/src/main/java/com/rngooglemapsplus/RNGoogleMapsPlusView.kt +16 -0
  6. package/android/src/main/java/com/rngooglemapsplus/extensions/RNHeatmapPointExtension.kt +9 -0
  7. package/ios/GoogleMapViewImpl.swift +38 -4
  8. package/ios/MapHeatmapBuilder.swift +27 -0
  9. package/ios/RNGoogleMapsPlusView.swift +22 -0
  10. package/ios/extensions/RNHeatmap+Extension.swift +16 -0
  11. package/lib/module/types.js.map +1 -1
  12. package/lib/typescript/src/RNGoogleMapsPlusView.nitro.d.ts +2 -1
  13. package/lib/typescript/src/RNGoogleMapsPlusView.nitro.d.ts.map +1 -1
  14. package/lib/typescript/src/types.d.ts +19 -0
  15. package/lib/typescript/src/types.d.ts.map +1 -1
  16. package/nitrogen/generated/android/c++/JHybridRNGoogleMapsPlusViewSpec.cpp +38 -0
  17. package/nitrogen/generated/android/c++/JHybridRNGoogleMapsPlusViewSpec.hpp +2 -0
  18. package/nitrogen/generated/android/c++/JRNHeatmap.hpp +100 -0
  19. package/nitrogen/generated/android/c++/JRNHeatmapGradient.hpp +89 -0
  20. package/nitrogen/generated/android/c++/JRNHeatmapPoint.hpp +61 -0
  21. package/nitrogen/generated/android/c++/views/JHybridRNGoogleMapsPlusViewStateUpdater.cpp +4 -0
  22. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/HybridRNGoogleMapsPlusViewSpec.kt +6 -0
  23. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNHeatmap.kt +47 -0
  24. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNHeatmapGradient.kt +35 -0
  25. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNHeatmapPoint.kt +35 -0
  26. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/views/HybridRNGoogleMapsPlusViewManager.kt +1 -1
  27. package/nitrogen/generated/ios/RNGoogleMapsPlus-Swift-Cxx-Bridge.cpp +13 -13
  28. package/nitrogen/generated/ios/RNGoogleMapsPlus-Swift-Cxx-Bridge.hpp +116 -39
  29. package/nitrogen/generated/ios/RNGoogleMapsPlus-Swift-Cxx-Umbrella.hpp +9 -0
  30. package/nitrogen/generated/ios/c++/HybridRNGoogleMapsPlusViewSpecSwift.hpp +17 -1
  31. package/nitrogen/generated/ios/c++/views/HybridRNGoogleMapsPlusViewComponent.mm +5 -0
  32. package/nitrogen/generated/ios/swift/HybridRNGoogleMapsPlusViewSpec.swift +1 -0
  33. package/nitrogen/generated/ios/swift/HybridRNGoogleMapsPlusViewSpec_cxx.swift +110 -42
  34. package/nitrogen/generated/ios/swift/RNCamera.swift +8 -1
  35. package/nitrogen/generated/ios/swift/RNHeatmap.swift +180 -0
  36. package/nitrogen/generated/ios/swift/RNHeatmapGradient.swift +81 -0
  37. package/nitrogen/generated/ios/swift/RNHeatmapPoint.swift +57 -0
  38. package/nitrogen/generated/ios/swift/RNInitialProps.swift +8 -1
  39. package/nitrogen/generated/ios/swift/RNLocationConfig.swift +16 -2
  40. package/nitrogen/generated/ios/swift/RNMarker.swift +16 -2
  41. package/nitrogen/generated/ios/swift/RNPolygon.swift +15 -11
  42. package/nitrogen/generated/ios/swift/RNPolyline.swift +15 -11
  43. package/nitrogen/generated/shared/c++/HybridRNGoogleMapsPlusViewSpec.cpp +2 -0
  44. package/nitrogen/generated/shared/c++/HybridRNGoogleMapsPlusViewSpec.hpp +5 -0
  45. package/nitrogen/generated/shared/c++/RNHeatmap.hpp +98 -0
  46. package/nitrogen/generated/shared/c++/RNHeatmapGradient.hpp +76 -0
  47. package/nitrogen/generated/shared/c++/RNHeatmapPoint.hpp +75 -0
  48. package/nitrogen/generated/shared/c++/views/HybridRNGoogleMapsPlusViewComponent.cpp +12 -0
  49. package/nitrogen/generated/shared/c++/views/HybridRNGoogleMapsPlusViewComponent.hpp +2 -0
  50. package/nitrogen/generated/shared/json/RNGoogleMapsPlusViewConfig.json +1 -0
  51. package/package.json +2 -2
  52. package/src/RNGoogleMapsPlusView.nitro.ts +2 -0
  53. package/src/types.ts +22 -0
package/README.md CHANGED
@@ -22,13 +22,15 @@ React-native wrapper for android & IOS google maps sdk
22
22
  yarn add react-native-google-maps-plus react-native-nitro-modules
23
23
  ```
24
24
 
25
- Dependencies
25
+ # Dependencies
26
26
 
27
- This package builds on native SVG rendering libraries:
27
+ This package builds on native libraries for SVG rendering and Google Maps integration:
28
28
 
29
- iOS: [SVGKit](https://github.com/SVGKit/SVGKit)
30
-
31
- Android: [AndroidSVG](https://bigbadaboom.github.io/androidsvg/)
29
+ - **iOS**: [SVGKit](https://github.com/SVGKit/SVGKit)
30
+ - **Android**: [AndroidSVG](https://bigbadaboom.github.io/androidsvg/)
31
+ - **iOS Maps SDK**: [Google Maps SDK for iOS](https://developers.google.com/maps/documentation/ios-sdk)
32
+ - **Android Maps SDK**: [Google Maps SDK for Android](https://developers.google.com/maps/documentation/android-sdk)
33
+ - **Maps Utility Libraries**: [Google Maps Utils for iOS](https://developers.google.com/maps/documentation/ios-sdk/utility) and [Google Maps Utils for Android](https://developers.google.com/maps/documentation/android-sdk/utility)
32
34
 
33
35
  These are automatically linked when you install the package, but you may need to clean/rebuild your native projects after first install.
34
36
 
@@ -26,7 +26,8 @@ Pod::Spec.new do |s|
26
26
  s.dependency 'React-jsi'
27
27
  s.dependency 'React-callinvoker'
28
28
 
29
- s.dependency 'GoogleMaps', '10.3.0'
29
+ s.dependency 'GoogleMaps', '10.4.0'
30
+ s.dependency 'Google-Maps-iOS-Utils', '6.1.3'
30
31
  s.dependency 'SVGKit', '3.0.0'
31
32
 
32
33
  load 'nitrogen/generated/ios/RNGoogleMapsPlus+autolinking.rb'
@@ -25,6 +25,8 @@ import com.google.android.gms.maps.model.Polygon
25
25
  import com.google.android.gms.maps.model.PolygonOptions
26
26
  import com.google.android.gms.maps.model.Polyline
27
27
  import com.google.android.gms.maps.model.PolylineOptions
28
+ import com.google.android.gms.maps.model.TileOverlay
29
+ import com.google.android.gms.maps.model.TileOverlayOptions
28
30
  import com.rngooglemapsplus.extensions.toGooglePriority
29
31
  import com.rngooglemapsplus.extensions.toLocationErrorCode
30
32
 
@@ -52,11 +54,13 @@ class GoogleMapsViewImpl(
52
54
  private val pendingPolylines = mutableListOf<Pair<String, PolylineOptions>>()
53
55
  private val pendingPolygons = mutableListOf<Pair<String, PolygonOptions>>()
54
56
  private val pendingCircles = mutableListOf<Pair<String, CircleOptions>>()
57
+ private val pendingHeatmaps = mutableListOf<Pair<String, TileOverlayOptions>>()
55
58
 
56
59
  private val markersById = mutableMapOf<String, Marker>()
57
60
  private val polylinesById = mutableMapOf<String, Polyline>()
58
61
  private val polygonsById = mutableMapOf<String, Polygon>()
59
62
  private val circlesById = mutableMapOf<String, Circle>()
63
+ private val heatmapsById = mutableMapOf<String, TileOverlay>()
60
64
 
61
65
  private var cameraMoveReason = -1
62
66
  private var lastSubmittedLocation: Location? = null
@@ -332,6 +336,13 @@ class GoogleMapsViewImpl(
332
336
  }
333
337
  pendingCircles.clear()
334
338
  }
339
+
340
+ if (pendingHeatmaps.isNotEmpty()) {
341
+ pendingHeatmaps.forEach { (id, opts) ->
342
+ internalAddHeatmap(id, opts)
343
+ }
344
+ pendingHeatmaps.clear()
345
+ }
335
346
  }
336
347
 
337
348
  var uiSettings: RNMapUiSettings? = null
@@ -772,6 +783,48 @@ class GoogleMapsViewImpl(
772
783
  pendingCircles.clear()
773
784
  }
774
785
 
786
+ fun addHeatmap(
787
+ id: String,
788
+ opts: TileOverlayOptions,
789
+ ) {
790
+ if (googleMap == null) {
791
+ pendingHeatmaps.add(id to opts)
792
+ return
793
+ }
794
+
795
+ onUi {
796
+ heatmapsById.remove(id)?.remove()
797
+ }
798
+ internalAddHeatmap(id, opts)
799
+ }
800
+
801
+ private fun internalAddHeatmap(
802
+ id: String,
803
+ opts: TileOverlayOptions,
804
+ ) {
805
+ onUi {
806
+ val heatmap =
807
+ googleMap?.addTileOverlay(opts)
808
+ if (heatmap != null) {
809
+ heatmapsById[id] = heatmap
810
+ }
811
+ }
812
+ }
813
+
814
+ fun removeHeatmap(id: String) {
815
+ onUi {
816
+ heatmapsById.remove(id)?.remove()
817
+ }
818
+ }
819
+
820
+ fun clearHeatmaps() {
821
+ onUi {
822
+ heatmapsById.values.forEach { it.remove() }
823
+ }
824
+ circlesById.clear()
825
+ pendingHeatmaps.clear()
826
+ }
827
+
775
828
  fun destroyInternal() {
776
829
  onUi {
777
830
  markerBuilder.cancelAllJobs()
@@ -779,6 +832,7 @@ class GoogleMapsViewImpl(
779
832
  clearPolylines()
780
833
  clearPolygons()
781
834
  clearCircles()
835
+ clearHeatmaps()
782
836
  locationHandler.stop()
783
837
  googleMap?.apply {
784
838
  setOnCameraMoveStartedListener(null)
@@ -0,0 +1,31 @@
1
+ package com.rngooglemapsplus
2
+
3
+ import com.facebook.react.uimanager.PixelUtil.dpToPx
4
+ import com.google.android.gms.maps.model.TileOverlayOptions
5
+ import com.google.maps.android.heatmaps.Gradient
6
+ import com.google.maps.android.heatmaps.HeatmapTileProvider
7
+ import com.rngooglemapsplus.extensions.toColor
8
+ import com.rngooglemapsplus.extensions.toWeightedLatLngs
9
+
10
+ class MapHeatmapBuilder {
11
+ fun build(heatmap: RNHeatmap): TileOverlayOptions {
12
+ val provider =
13
+ HeatmapTileProvider
14
+ .Builder()
15
+ .apply {
16
+ weightedData(heatmap.weightedData.toWeightedLatLngs())
17
+ heatmap.radius?.let { radius(it.dpToPx().toInt().coerceIn(10, 50)) }
18
+ heatmap.opacity?.let { opacity(it) }
19
+ heatmap.gradient?.let {
20
+ val colors = it.colors.map { c -> c.toColor() }.toIntArray()
21
+ val startPoints = it.startPoints.map { p -> p.toFloat() }.toFloatArray()
22
+ gradient(Gradient(colors, startPoints))
23
+ }
24
+ }.build()
25
+
26
+ return TileOverlayOptions().apply {
27
+ tileProvider(provider)
28
+ heatmap.zIndex?.let { zIndex(it.toFloat()) }
29
+ }
30
+ }
31
+ }
@@ -25,6 +25,7 @@ class RNGoogleMapsPlusView(
25
25
  private val polylineBuilder = MapPolylineBuilder()
26
26
  private val polygonBuilder = MapPolygonBuilder()
27
27
  private val circleBuilder = MapCircleBuilder()
28
+ private val heatmapBuilder = MapHeatmapBuilder()
28
29
 
29
30
  override val view =
30
31
  GoogleMapsViewImpl(context, locationHandler, playServiceHandler, markerBuilder)
@@ -218,6 +219,21 @@ class RNGoogleMapsPlusView(
218
219
  }
219
220
  }
220
221
 
222
+ override var heatmaps: Array<RNHeatmap>? = null
223
+ set(value) {
224
+ if (field.contentEquals(value)) return
225
+ val prevById = field?.associateBy { it.id } ?: emptyMap()
226
+ val nextById = value?.associateBy { it.id } ?: emptyMap()
227
+ field = value
228
+ (prevById.keys - nextById.keys).forEach { id ->
229
+ view.removeHeatmap(id)
230
+ }
231
+
232
+ nextById.forEach { (id, next) ->
233
+ view.addHeatmap(id, heatmapBuilder.build(next))
234
+ }
235
+ }
236
+
221
237
  override var locationConfig: RNLocationConfig? = null
222
238
  set(value) {
223
239
  if (field == value) return
@@ -0,0 +1,9 @@
1
+ package com.rngooglemapsplus.extensions
2
+
3
+ import com.google.android.gms.maps.model.LatLng
4
+ import com.google.maps.android.heatmaps.WeightedLatLng
5
+ import com.rngooglemapsplus.RNHeatmapPoint
6
+
7
+ fun RNHeatmapPoint.toWeightedLatLng(): WeightedLatLng = WeightedLatLng(LatLng(latitude, longitude), weight)
8
+
9
+ fun Array<RNHeatmapPoint>.toWeightedLatLngs(): Collection<WeightedLatLng> = map { it.toWeightedLatLng() }
@@ -1,5 +1,6 @@
1
1
  import CoreLocation
2
2
  import GoogleMaps
3
+ import GoogleMapsUtils
3
4
  import UIKit
4
5
 
5
6
  final class GoogleMapsViewImpl: UIView, GMSMapViewDelegate {
@@ -14,11 +15,13 @@ final class GoogleMapsViewImpl: UIView, GMSMapViewDelegate {
14
15
  private var pendingPolylines: [(id: String, polyline: GMSPolyline)] = []
15
16
  private var pendingPolygons: [(id: String, polygon: GMSPolygon)] = []
16
17
  private var pendingCircles: [(id: String, circle: GMSCircle)] = []
18
+ private var pendingHeatmaps: [(id: String, heatmap: GMUHeatmapTileLayer)] = []
17
19
 
18
20
  private var markersById: [String: GMSMarker] = [:]
19
21
  private var polylinesById: [String: GMSPolyline] = [:]
20
22
  private var polygonsById: [String: GMSPolygon] = [:]
21
23
  private var circlesById: [String: GMSCircle] = [:]
24
+ private var heatmapsById: [String: GMUHeatmapTileLayer] = [:]
22
25
 
23
26
  private var cameraMoveReasonIsGesture: Bool = false
24
27
  private var lastSubmittedCameraPosition: GMSCameraPosition?
@@ -148,30 +151,32 @@ final class GoogleMapsViewImpl: UIView, GMSMapViewDelegate {
148
151
  $0.ios?.desiredAccuracy?.toCLLocationAccuracy
149
152
  locationHandler.distanceFilterMeters = $0.ios?.distanceFilterMeters
150
153
  }
151
-
152
154
  if !pendingMarkers.isEmpty {
153
155
  pendingMarkers.forEach { addMarkerInternal(id: $0.id, marker: $0.marker) }
154
156
  pendingMarkers.removeAll()
155
157
  }
156
-
157
158
  if !pendingPolylines.isEmpty {
158
159
  pendingPolylines.forEach {
159
160
  addPolylineInternal(id: $0.id, polyline: $0.polyline)
160
161
  }
161
162
  pendingPolylines.removeAll()
162
163
  }
163
-
164
164
  if !pendingPolygons.isEmpty {
165
165
  pendingPolygons.forEach {
166
166
  addPolygonInternal(id: $0.id, polygon: $0.polygon)
167
167
  }
168
168
  pendingPolygons.removeAll()
169
169
  }
170
-
171
170
  if !pendingCircles.isEmpty {
172
171
  pendingCircles.forEach { addCircleInternal(id: $0.id, circle: $0.circle) }
173
172
  pendingCircles.removeAll()
174
173
  }
174
+ if !pendingHeatmaps.isEmpty {
175
+ pendingHeatmaps.forEach {
176
+ addHeatmapInternal(id: $0.id, heatmap: $0.heatmap)
177
+ }
178
+ pendingHeatmaps.removeAll()
179
+ }
175
180
  }
176
181
 
177
182
  var currentCamera: GMSCameraPosition? {
@@ -491,12 +496,41 @@ final class GoogleMapsViewImpl: UIView, GMSMapViewDelegate {
491
496
  pendingCircles.removeAll()
492
497
  }
493
498
 
499
+ @MainActor
500
+ func addHeatmap(id: String, heatmap: GMUHeatmapTileLayer) {
501
+ if mapView == nil {
502
+ pendingHeatmaps.append((id, heatmap))
503
+ return
504
+ }
505
+ heatmapsById.removeValue(forKey: id).map { $0.map = nil }
506
+ addHeatmapInternal(id: id, heatmap: heatmap)
507
+ }
508
+
509
+ @MainActor
510
+ private func addHeatmapInternal(id: String, heatmap: GMUHeatmapTileLayer) {
511
+ heatmap.map = mapView
512
+ heatmapsById[id] = heatmap
513
+ }
514
+
515
+ @MainActor
516
+ func removeHeatmap(id: String) {
517
+ heatmapsById.removeValue(forKey: id).map { $0.map = nil }
518
+ }
519
+
520
+ @MainActor
521
+ func clearHeatmaps() {
522
+ heatmapsById.values.forEach { $0.map = nil }
523
+ heatmapsById.removeAll()
524
+ pendingHeatmaps.removeAll()
525
+ }
526
+
494
527
  func deinitInternal() {
495
528
  markerBuilder.cancelAllIconTasks()
496
529
  clearMarkers()
497
530
  clearPolylines()
498
531
  clearPolygons()
499
532
  clearCircles()
533
+ clearHeatmaps()
500
534
  locationHandler.stop()
501
535
  mapView?.clear()
502
536
  mapView?.delegate = nil
@@ -0,0 +1,27 @@
1
+ import Foundation
2
+ import GoogleMaps
3
+ import GoogleMapsUtils
4
+ import UIKit
5
+
6
+ final class MapHeatmapBuilder {
7
+ func build(_ h: RNHeatmap) -> GMUHeatmapTileLayer {
8
+ let heatmap = GMUHeatmapTileLayer()
9
+ heatmap.weightedData = h.weightedData.toWeightedLatLngs()
10
+
11
+ h.radius.map { heatmap.radius = UInt($0) }
12
+ h.opacity.map { heatmap.opacity = Float($0) }
13
+ h.zIndex.map { heatmap.zIndex = Int32($0) }
14
+
15
+ h.gradient.map { g in
16
+ let colors = g.colors.map { $0.toUIColor() }
17
+ let startPoints = g.startPoints.map { NSNumber(value: $0) }
18
+ heatmap.gradient = GMUGradient(
19
+ colors: colors,
20
+ startPoints: startPoints,
21
+ colorMapSize: 256
22
+ )
23
+ }
24
+
25
+ return heatmap
26
+ }
27
+ }
@@ -12,6 +12,7 @@ final class RNGoogleMapsPlusView: HybridRNGoogleMapsPlusViewSpec {
12
12
  private let polylineBuilder = MapPolylineBuilder()
13
13
  private let polygonBuilder = MapPolygonBuilder()
14
14
  private let circleBuilder = MapCircleBuilder()
15
+ private let heatmapBuilder = MapHeatmapBuilder()
15
16
 
16
17
  private let impl: GoogleMapsViewImpl
17
18
 
@@ -234,6 +235,27 @@ final class RNGoogleMapsPlusView: HybridRNGoogleMapsPlusViewSpec {
234
235
  }
235
236
  }
236
237
 
238
+ @MainActor
239
+ var heatmaps: [RNHeatmap]? {
240
+ didSet {
241
+ let prevById = Dictionary(
242
+ (oldValue ?? []).map { ($0.id, $0) },
243
+ uniquingKeysWith: { _, new in new }
244
+ )
245
+ let nextById = Dictionary(
246
+ (heatmaps ?? []).map { ($0.id, $0) },
247
+ uniquingKeysWith: { _, new in new }
248
+ )
249
+
250
+ let removed = Set(prevById.keys).subtracting(nextById.keys)
251
+ removed.forEach { impl.removeHeatmap(id: $0) }
252
+
253
+ for (id, next) in nextById {
254
+ impl.addHeatmap(id: id, heatmap: heatmapBuilder.build(next))
255
+ }
256
+ }
257
+ }
258
+
237
259
  @MainActor var locationConfig: RNLocationConfig? {
238
260
  didSet {
239
261
  impl.locationConfig = locationConfig
@@ -0,0 +1,16 @@
1
+ import CoreLocation
2
+ import Foundation
3
+ import GoogleMapsUtils
4
+
5
+ extension RNHeatmapPoint {
6
+ func toWeightedLatLng() -> GMUWeightedLatLng {
7
+ let coord = CLLocationCoordinate2D(latitude: latitude, longitude: longitude)
8
+ return GMUWeightedLatLng(coordinate: coord, intensity: Float(weight))
9
+ }
10
+ }
11
+
12
+ extension Array where Element == RNHeatmapPoint {
13
+ func toWeightedLatLngs() -> [GMUWeightedLatLng] {
14
+ map { $0.toWeightedLatLng() }
15
+ }
16
+ }
@@ -1 +1 @@
1
- {"version":3,"names":["RNAndroidLocationPriority","RNIOSLocationAccuracy","RNAndroidLocationPermissionResult","RNIOSPermissionResult","RNLocationErrorCode","RNMapErrorCode"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;AA0CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;;AAoGA,WAAYA,yBAAyB,0BAAzBA,yBAAyB;EAAzBA,yBAAyB,CAAzBA,yBAAyB;EAAzBA,yBAAyB,CAAzBA,yBAAyB;EAAzBA,yBAAyB,CAAzBA,yBAAyB;EAAzBA,yBAAyB,CAAzBA,yBAAyB;EAAA,OAAzBA,yBAAyB;AAAA;AAYrC,WAAYC,qBAAqB,0BAArBA,qBAAqB;EAArBA,qBAAqB,CAArBA,qBAAqB;EAArBA,qBAAqB,CAArBA,qBAAqB;EAArBA,qBAAqB,CAArBA,qBAAqB;EAArBA,qBAAqB,CAArBA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA;AAYjC,WAAYC,iCAAiC,0BAAjCA,iCAAiC;EAAjCA,iCAAiC,CAAjCA,iCAAiC;EAAjCA,iCAAiC,CAAjCA,iCAAiC;EAAjCA,iCAAiC,CAAjCA,iCAAiC;EAAA,OAAjCA,iCAAiC;AAAA;AAM7C,WAAYC,qBAAqB,0BAArBA,qBAAqB;EAArBA,qBAAqB,CAArBA,qBAAqB;EAArBA,qBAAqB,CAArBA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA;AAUjC,WAAYC,mBAAmB,0BAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA;AAS/B,WAAYC,cAAc,0BAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["RNAndroidLocationPriority","RNIOSLocationAccuracy","RNAndroidLocationPermissionResult","RNIOSPermissionResult","RNLocationErrorCode","RNMapErrorCode"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;AA0CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;;AA0HA,WAAYA,yBAAyB,0BAAzBA,yBAAyB;EAAzBA,yBAAyB,CAAzBA,yBAAyB;EAAzBA,yBAAyB,CAAzBA,yBAAyB;EAAzBA,yBAAyB,CAAzBA,yBAAyB;EAAzBA,yBAAyB,CAAzBA,yBAAyB;EAAA,OAAzBA,yBAAyB;AAAA;AAYrC,WAAYC,qBAAqB,0BAArBA,qBAAqB;EAArBA,qBAAqB,CAArBA,qBAAqB;EAArBA,qBAAqB,CAArBA,qBAAqB;EAArBA,qBAAqB,CAArBA,qBAAqB;EAArBA,qBAAqB,CAArBA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA;AAYjC,WAAYC,iCAAiC,0BAAjCA,iCAAiC;EAAjCA,iCAAiC,CAAjCA,iCAAiC;EAAjCA,iCAAiC,CAAjCA,iCAAiC;EAAjCA,iCAAiC,CAAjCA,iCAAiC;EAAA,OAAjCA,iCAAiC;AAAA;AAM7C,WAAYC,qBAAqB,0BAArBA,qBAAqB;EAArBA,qBAAqB,CAArBA,qBAAqB;EAArBA,qBAAqB,CAArBA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA;AAUjC,WAAYC,mBAAmB,0BAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA;AAS/B,WAAYC,cAAc,0BAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import type { HybridView, HybridViewMethods, HybridViewProps } from 'react-native-nitro-modules';
2
- import type { RNCamera, RNLatLng, RNMapPadding, RNPolygon, RNPolyline, RNUserInterfaceStyle, RNLocationErrorCode, RNMarker, RNLocationPermissionResult, RNRegion, RNLocation, RNMapErrorCode, RNMapType, RNInitialProps, RNCircle, RNMapUiSettings, RNLocationConfig, RNMapZoomConfig } from './types';
2
+ import type { RNCamera, RNLatLng, RNMapPadding, RNPolygon, RNPolyline, RNUserInterfaceStyle, RNLocationErrorCode, RNMarker, RNLocationPermissionResult, RNRegion, RNLocation, RNMapErrorCode, RNMapType, RNInitialProps, RNCircle, RNMapUiSettings, RNLocationConfig, RNMapZoomConfig, RNHeatmap } from './types';
3
3
  export interface RNGoogleMapsPlusViewProps extends HybridViewProps {
4
4
  initialProps?: RNInitialProps;
5
5
  uiSettings?: RNMapUiSettings;
@@ -16,6 +16,7 @@ export interface RNGoogleMapsPlusViewProps extends HybridViewProps {
16
16
  polygons?: RNPolygon[];
17
17
  polylines?: RNPolyline[];
18
18
  circles?: RNCircle[];
19
+ heatmaps?: RNHeatmap[];
19
20
  locationConfig?: RNLocationConfig;
20
21
  onMapError?: (error: RNMapErrorCode) => void;
21
22
  onMapReady?: (ready: boolean) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"RNGoogleMapsPlusView.nitro.d.ts","sourceRoot":"","sources":["../../../src/RNGoogleMapsPlusView.nitro.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RNGoogleMapsPlusView.nitro.d.ts","sourceRoot":"","sources":["../../../src/RNGoogleMapsPlusView.nitro.ts"],"names":[],"mappings":"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"}
@@ -114,6 +114,25 @@ export type RNCircle = {
114
114
  strokeColor?: string;
115
115
  fillColor?: string;
116
116
  };
117
+ export type RNHeatmap = {
118
+ id: string;
119
+ pressable?: boolean;
120
+ zIndex?: number;
121
+ weightedData: RNHeatmapPoint[];
122
+ radius?: number;
123
+ opacity?: number;
124
+ gradient?: RNHeatmapGradient;
125
+ };
126
+ export type RNHeatmapPoint = {
127
+ latitude: number;
128
+ longitude: number;
129
+ weight: number;
130
+ };
131
+ export type RNHeatmapGradient = {
132
+ colors: string[];
133
+ startPoints: number[];
134
+ colorMapSize: number;
135
+ };
117
136
  export type RNLocationConfig = {
118
137
  android?: RNAndroidLocationConfig;
119
138
  ios?: RNIOSLocationConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,12 @@ namespace margelo::nitro::rngooglemapsplus { enum class RNLineCapType; }
39
39
  namespace margelo::nitro::rngooglemapsplus { enum class RNLineJoinType; }
40
40
  // Forward declaration of `RNCircle` to properly resolve imports.
41
41
  namespace margelo::nitro::rngooglemapsplus { struct RNCircle; }
42
+ // Forward declaration of `RNHeatmap` to properly resolve imports.
43
+ namespace margelo::nitro::rngooglemapsplus { struct RNHeatmap; }
44
+ // Forward declaration of `RNHeatmapPoint` to properly resolve imports.
45
+ namespace margelo::nitro::rngooglemapsplus { struct RNHeatmapPoint; }
46
+ // Forward declaration of `RNHeatmapGradient` to properly resolve imports.
47
+ namespace margelo::nitro::rngooglemapsplus { struct RNHeatmapGradient; }
42
48
  // Forward declaration of `RNLocationConfig` to properly resolve imports.
43
49
  namespace margelo::nitro::rngooglemapsplus { struct RNLocationConfig; }
44
50
  // Forward declaration of `RNAndroidLocationConfig` to properly resolve imports.
@@ -99,6 +105,12 @@ namespace margelo::nitro::rngooglemapsplus { enum class RNIOSPermissionResult; }
99
105
  #include "JRNLineJoinType.hpp"
100
106
  #include "RNCircle.hpp"
101
107
  #include "JRNCircle.hpp"
108
+ #include "RNHeatmap.hpp"
109
+ #include "JRNHeatmap.hpp"
110
+ #include "RNHeatmapPoint.hpp"
111
+ #include "JRNHeatmapPoint.hpp"
112
+ #include "RNHeatmapGradient.hpp"
113
+ #include "JRNHeatmapGradient.hpp"
102
114
  #include "RNLocationConfig.hpp"
103
115
  #include "JRNLocationConfig.hpp"
104
116
  #include "RNAndroidLocationConfig.hpp"
@@ -360,6 +372,32 @@ namespace margelo::nitro::rngooglemapsplus {
360
372
  return __array;
361
373
  }() : nullptr);
362
374
  }
375
+ std::optional<std::vector<RNHeatmap>> JHybridRNGoogleMapsPlusViewSpec::getHeatmaps() {
376
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JArrayClass<JRNHeatmap>>()>("getHeatmaps");
377
+ auto __result = method(_javaPart);
378
+ return __result != nullptr ? std::make_optional([&]() {
379
+ size_t __size = __result->size();
380
+ std::vector<RNHeatmap> __vector;
381
+ __vector.reserve(__size);
382
+ for (size_t __i = 0; __i < __size; __i++) {
383
+ auto __element = __result->getElement(__i);
384
+ __vector.push_back(__element->toCpp());
385
+ }
386
+ return __vector;
387
+ }()) : std::nullopt;
388
+ }
389
+ void JHybridRNGoogleMapsPlusViewSpec::setHeatmaps(const std::optional<std::vector<RNHeatmap>>& heatmaps) {
390
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JArrayClass<JRNHeatmap>> /* heatmaps */)>("setHeatmaps");
391
+ method(_javaPart, heatmaps.has_value() ? [&]() {
392
+ size_t __size = heatmaps.value().size();
393
+ jni::local_ref<jni::JArrayClass<JRNHeatmap>> __array = jni::JArrayClass<JRNHeatmap>::newArray(__size);
394
+ for (size_t __i = 0; __i < __size; __i++) {
395
+ const auto& __element = heatmaps.value()[__i];
396
+ __array->setElement(__i, *JRNHeatmap::fromCpp(__element));
397
+ }
398
+ return __array;
399
+ }() : nullptr);
400
+ }
363
401
  std::optional<RNLocationConfig> JHybridRNGoogleMapsPlusViewSpec::getLocationConfig() {
364
402
  static const auto method = javaClassStatic()->getMethod<jni::local_ref<JRNLocationConfig>()>("getLocationConfig");
365
403
  auto __result = method(_javaPart);
@@ -79,6 +79,8 @@ namespace margelo::nitro::rngooglemapsplus {
79
79
  void setPolylines(const std::optional<std::vector<RNPolyline>>& polylines) override;
80
80
  std::optional<std::vector<RNCircle>> getCircles() override;
81
81
  void setCircles(const std::optional<std::vector<RNCircle>>& circles) override;
82
+ std::optional<std::vector<RNHeatmap>> getHeatmaps() override;
83
+ void setHeatmaps(const std::optional<std::vector<RNHeatmap>>& heatmaps) override;
82
84
  std::optional<RNLocationConfig> getLocationConfig() override;
83
85
  void setLocationConfig(const std::optional<RNLocationConfig>& locationConfig) override;
84
86
  std::optional<std::function<void(RNMapErrorCode /* error */)>> getOnMapError() override;
@@ -0,0 +1,100 @@
1
+ ///
2
+ /// JRNHeatmap.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "RNHeatmap.hpp"
12
+
13
+ #include "JRNHeatmapGradient.hpp"
14
+ #include "JRNHeatmapPoint.hpp"
15
+ #include "RNHeatmapGradient.hpp"
16
+ #include "RNHeatmapPoint.hpp"
17
+ #include <optional>
18
+ #include <string>
19
+ #include <vector>
20
+
21
+ namespace margelo::nitro::rngooglemapsplus {
22
+
23
+ using namespace facebook;
24
+
25
+ /**
26
+ * The C++ JNI bridge between the C++ struct "RNHeatmap" and the the Kotlin data class "RNHeatmap".
27
+ */
28
+ struct JRNHeatmap final: public jni::JavaClass<JRNHeatmap> {
29
+ public:
30
+ static auto constexpr kJavaDescriptor = "Lcom/rngooglemapsplus/RNHeatmap;";
31
+
32
+ public:
33
+ /**
34
+ * Convert this Java/Kotlin-based struct to the C++ struct RNHeatmap by copying all values to C++.
35
+ */
36
+ [[maybe_unused]]
37
+ [[nodiscard]]
38
+ RNHeatmap toCpp() const {
39
+ static const auto clazz = javaClassStatic();
40
+ static const auto fieldId = clazz->getField<jni::JString>("id");
41
+ jni::local_ref<jni::JString> id = this->getFieldValue(fieldId);
42
+ static const auto fieldPressable = clazz->getField<jni::JBoolean>("pressable");
43
+ jni::local_ref<jni::JBoolean> pressable = this->getFieldValue(fieldPressable);
44
+ static const auto fieldZIndex = clazz->getField<jni::JDouble>("zIndex");
45
+ jni::local_ref<jni::JDouble> zIndex = this->getFieldValue(fieldZIndex);
46
+ static const auto fieldWeightedData = clazz->getField<jni::JArrayClass<JRNHeatmapPoint>>("weightedData");
47
+ jni::local_ref<jni::JArrayClass<JRNHeatmapPoint>> weightedData = this->getFieldValue(fieldWeightedData);
48
+ static const auto fieldRadius = clazz->getField<jni::JDouble>("radius");
49
+ jni::local_ref<jni::JDouble> radius = this->getFieldValue(fieldRadius);
50
+ static const auto fieldOpacity = clazz->getField<jni::JDouble>("opacity");
51
+ jni::local_ref<jni::JDouble> opacity = this->getFieldValue(fieldOpacity);
52
+ static const auto fieldGradient = clazz->getField<JRNHeatmapGradient>("gradient");
53
+ jni::local_ref<JRNHeatmapGradient> gradient = this->getFieldValue(fieldGradient);
54
+ return RNHeatmap(
55
+ id->toStdString(),
56
+ pressable != nullptr ? std::make_optional(static_cast<bool>(pressable->value())) : std::nullopt,
57
+ zIndex != nullptr ? std::make_optional(zIndex->value()) : std::nullopt,
58
+ [&]() {
59
+ size_t __size = weightedData->size();
60
+ std::vector<RNHeatmapPoint> __vector;
61
+ __vector.reserve(__size);
62
+ for (size_t __i = 0; __i < __size; __i++) {
63
+ auto __element = weightedData->getElement(__i);
64
+ __vector.push_back(__element->toCpp());
65
+ }
66
+ return __vector;
67
+ }(),
68
+ radius != nullptr ? std::make_optional(radius->value()) : std::nullopt,
69
+ opacity != nullptr ? std::make_optional(opacity->value()) : std::nullopt,
70
+ gradient != nullptr ? std::make_optional(gradient->toCpp()) : std::nullopt
71
+ );
72
+ }
73
+
74
+ public:
75
+ /**
76
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
77
+ */
78
+ [[maybe_unused]]
79
+ static jni::local_ref<JRNHeatmap::javaobject> fromCpp(const RNHeatmap& value) {
80
+ return newInstance(
81
+ jni::make_jstring(value.id),
82
+ value.pressable.has_value() ? jni::JBoolean::valueOf(value.pressable.value()) : nullptr,
83
+ value.zIndex.has_value() ? jni::JDouble::valueOf(value.zIndex.value()) : nullptr,
84
+ [&]() {
85
+ size_t __size = value.weightedData.size();
86
+ jni::local_ref<jni::JArrayClass<JRNHeatmapPoint>> __array = jni::JArrayClass<JRNHeatmapPoint>::newArray(__size);
87
+ for (size_t __i = 0; __i < __size; __i++) {
88
+ const auto& __element = value.weightedData[__i];
89
+ __array->setElement(__i, *JRNHeatmapPoint::fromCpp(__element));
90
+ }
91
+ return __array;
92
+ }(),
93
+ value.radius.has_value() ? jni::JDouble::valueOf(value.radius.value()) : nullptr,
94
+ value.opacity.has_value() ? jni::JDouble::valueOf(value.opacity.value()) : nullptr,
95
+ value.gradient.has_value() ? JRNHeatmapGradient::fromCpp(value.gradient.value()) : nullptr
96
+ );
97
+ }
98
+ };
99
+
100
+ } // namespace margelo::nitro::rngooglemapsplus