react-native-maps 1.26.0 → 1.26.2

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 (48) hide show
  1. package/README.md +13 -11
  2. package/android/gradle/wrapper/gradle-wrapper.properties +1 -1
  3. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsCalloutManagerInterface.java +2 -1
  4. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsCircleManagerInterface.java +2 -1
  5. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsGooglePolygonManagerInterface.java +2 -1
  6. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsMapViewManagerDelegate.java +1 -1
  7. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsMapViewManagerInterface.java +2 -1
  8. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsMarkerManagerDelegate.java +1 -1
  9. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsMarkerManagerInterface.java +2 -1
  10. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsOverlayManagerInterface.java +2 -1
  11. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsPolylineManagerInterface.java +2 -1
  12. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsUrlTileManagerInterface.java +2 -1
  13. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsWMSTileManagerInterface.java +2 -1
  14. package/android/src/main/java/com/rnmaps/maps/MapView.java +16 -8
  15. package/android/src/main/jni/CMakeLists.txt +1 -9
  16. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/EventEmitters.cpp +517 -517
  17. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/Props.cpp +808 -20
  18. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/Props.h +664 -0
  19. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/States.h +12 -111
  20. package/ios/generated/RCTAppDependencyProvider.mm +13 -28
  21. package/ios/generated/RCTModuleProviders.h +16 -0
  22. package/ios/generated/RCTModuleProviders.mm +51 -0
  23. package/ios/generated/RCTModulesConformingToProtocolsProvider.mm +30 -9
  24. package/ios/generated/RCTThirdPartyComponentsProvider.mm +9 -2
  25. package/ios/generated/RCTUnstableModulesRequiringMainQueueSetupProvider.h +14 -0
  26. package/ios/generated/RCTUnstableModulesRequiringMainQueueSetupProvider.mm +19 -0
  27. package/ios/generated/RNMapsSpecs/EventEmitters.cpp +517 -517
  28. package/ios/generated/RNMapsSpecs/Props.cpp +808 -20
  29. package/ios/generated/RNMapsSpecs/Props.h +664 -0
  30. package/ios/generated/RNMapsSpecs/States.h +12 -111
  31. package/ios/generated/ReactAppDependencyProvider.podspec +1 -1
  32. package/ios/generated/ReactCodegen.podspec +120 -0
  33. package/package.json +14 -14
  34. package/plugin/build/android.js +2 -2
  35. package/plugin/build/ios.js +8 -8
  36. package/react-native-maps.podspec +4 -0
  37. package/src/MapMarkerNativeComponent.ts +1 -1
  38. package/src/MapViewNativeComponent.ts +1 -1
  39. package/src/specs/NativeComponentCallout.ts +1 -1
  40. package/src/specs/NativeComponentCircle.ts +1 -1
  41. package/src/specs/NativeComponentGoogleMapView.ts +1 -2
  42. package/src/specs/NativeComponentGooglePolygon.ts +1 -1
  43. package/src/specs/NativeComponentMapView.ts +1 -2
  44. package/src/specs/NativeComponentMarker.ts +1 -2
  45. package/src/specs/NativeComponentOverlay.ts +1 -1
  46. package/src/specs/NativeComponentPolyline.ts +1 -1
  47. package/src/specs/NativeComponentUrlTile.ts +1 -1
  48. package/src/specs/NativeComponentWMSTile.ts +1 -1
package/README.md CHANGED
@@ -16,22 +16,24 @@ See [Setup Instructions for the Included Example Project](docs/examples-setup.md
16
16
 
17
17
  ## React Native Compatibility
18
18
 
19
- ### Important Notes:
20
-
21
- - **Fabric is now supported**:
22
- Fabric is now supported for the latest version of the library, **latest version is strongly recommended** because many regressions appeared after the release of v1.22.0 if you don't have Fabric (New Arch) enabled, please use v1.21.0 or earlier
23
-
24
19
  ### Version Requirements:
25
20
 
26
- #### Fabric Only
21
+ ## Compatibility
22
+
23
+ ### Fabric (New Architecture)
27
24
 
28
- - **Version `1.22.0` and below**: Requires **React Native `>= 0.76`**.
25
+ | Version | React Native Requirement |
26
+ | ---------------- | ------------------------ |
27
+ | 1.26.1+ | >= 0.81.1 |
28
+ | 1.26.0 and below | >= 0.76 |
29
29
 
30
- #### Old Arch
30
+ ### Old Architecture
31
31
 
32
- - **Version `1.21.1` and below**: Requires **React Native `>= 0.74`**.
33
- - **Version `1.14.0` and above**: Requires **React Native `>= 0.74`**.
34
- - **Versions below `1.14.0`**: Require **React Native `>= 0.64.3`**.
32
+ | Version | React Native Requirement |
33
+ | ---------------- | ------------------------ |
34
+ | 1.21.1 and below | >= 0.74 |
35
+ | 1.14.0 - 1.21.1 | >= 0.74 |
36
+ | < 1.14.0 | >= 0.64.3 |
35
37
 
36
38
  ## Component API
37
39
 
@@ -1,5 +1,5 @@
1
1
  distributionBase=GRADLE_USER_HOME
2
2
  distributionPath=wrapper/dists
3
- distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zip
3
+ distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-all.zip
4
4
  zipStoreBase=GRADLE_USER_HOME
5
5
  zipStorePath=wrapper/dists
@@ -10,8 +10,9 @@
10
10
  package com.facebook.react.viewmanagers;
11
11
 
12
12
  import android.view.View;
13
+ import com.facebook.react.uimanager.ViewManagerWithGeneratedInterface;
13
14
 
14
- public interface RNMapsCalloutManagerInterface<T extends View> {
15
+ public interface RNMapsCalloutManagerInterface<T extends View> extends ViewManagerWithGeneratedInterface {
15
16
  void setAlphaHitTest(T view, boolean value);
16
17
  void setTooltip(T view, boolean value);
17
18
  }
@@ -12,8 +12,9 @@ package com.facebook.react.viewmanagers;
12
12
  import android.view.View;
13
13
  import androidx.annotation.Nullable;
14
14
  import com.facebook.react.bridge.ReadableMap;
15
+ import com.facebook.react.uimanager.ViewManagerWithGeneratedInterface;
15
16
 
16
- public interface RNMapsCircleManagerInterface<T extends View> {
17
+ public interface RNMapsCircleManagerInterface<T extends View> extends ViewManagerWithGeneratedInterface {
17
18
  void setCenter(T view, @Nullable ReadableMap value);
18
19
  void setFillColor(T view, @Nullable Integer value);
19
20
  void setRadius(T view, double value);
@@ -12,8 +12,9 @@ package com.facebook.react.viewmanagers;
12
12
  import android.view.View;
13
13
  import androidx.annotation.Nullable;
14
14
  import com.facebook.react.bridge.ReadableArray;
15
+ import com.facebook.react.uimanager.ViewManagerWithGeneratedInterface;
15
16
 
16
- public interface RNMapsGooglePolygonManagerInterface<T extends View> {
17
+ public interface RNMapsGooglePolygonManagerInterface<T extends View> extends ViewManagerWithGeneratedInterface {
17
18
  void setCoordinates(T view, @Nullable ReadableArray value);
18
19
  void setFillColor(T view, @Nullable Integer value);
19
20
  void setStrokeColor(T view, @Nullable Integer value);
@@ -187,7 +187,7 @@ public class RNMapsMapViewManagerDelegate<T extends View, U extends BaseViewMana
187
187
  }
188
188
 
189
189
  @Override
190
- public void receiveCommand(T view, String commandName, @Nullable ReadableArray args) {
190
+ public void receiveCommand(T view, String commandName, ReadableArray args) {
191
191
  switch (commandName) {
192
192
  case "animateToRegion":
193
193
  mViewManager.animateToRegion(view, args.getString(0), args.getInt(1));
@@ -13,8 +13,9 @@ import android.view.View;
13
13
  import androidx.annotation.Nullable;
14
14
  import com.facebook.react.bridge.ReadableArray;
15
15
  import com.facebook.react.bridge.ReadableMap;
16
+ import com.facebook.react.uimanager.ViewManagerWithGeneratedInterface;
16
17
 
17
- public interface RNMapsMapViewManagerInterface<T extends View> {
18
+ public interface RNMapsMapViewManagerInterface<T extends View> extends ViewManagerWithGeneratedInterface {
18
19
  void setCacheEnabled(T view, boolean value);
19
20
  void setCamera(T view, @Nullable ReadableMap value);
20
21
  void setCompassOffset(T view, @Nullable ReadableMap value);
@@ -85,7 +85,7 @@ public class RNMapsMarkerManagerDelegate<T extends View, U extends BaseViewManag
85
85
  }
86
86
 
87
87
  @Override
88
- public void receiveCommand(T view, String commandName, @Nullable ReadableArray args) {
88
+ public void receiveCommand(T view, String commandName, ReadableArray args) {
89
89
  switch (commandName) {
90
90
  case "animateToCoordinates":
91
91
  mViewManager.animateToCoordinates(view, args.getDouble(0), args.getDouble(1), args.getInt(2));
@@ -12,8 +12,9 @@ package com.facebook.react.viewmanagers;
12
12
  import android.view.View;
13
13
  import androidx.annotation.Nullable;
14
14
  import com.facebook.react.bridge.ReadableMap;
15
+ import com.facebook.react.uimanager.ViewManagerWithGeneratedInterface;
15
16
 
16
- public interface RNMapsMarkerManagerInterface<T extends View> {
17
+ public interface RNMapsMarkerManagerInterface<T extends View> extends ViewManagerWithGeneratedInterface {
17
18
  void setAnchor(T view, @Nullable ReadableMap value);
18
19
  void setCalloutAnchor(T view, @Nullable ReadableMap value);
19
20
  void setImage(T view, @Nullable ReadableMap value);
@@ -12,8 +12,9 @@ package com.facebook.react.viewmanagers;
12
12
  import android.view.View;
13
13
  import androidx.annotation.Nullable;
14
14
  import com.facebook.react.bridge.ReadableMap;
15
+ import com.facebook.react.uimanager.ViewManagerWithGeneratedInterface;
15
16
 
16
- public interface RNMapsOverlayManagerInterface<T extends View> {
17
+ public interface RNMapsOverlayManagerInterface<T extends View> extends ViewManagerWithGeneratedInterface {
17
18
  void setBearing(T view, float value);
18
19
  void setBounds(T view, @Nullable ReadableMap value);
19
20
  void setImage(T view, @Nullable ReadableMap value);
@@ -12,8 +12,9 @@ package com.facebook.react.viewmanagers;
12
12
  import android.view.View;
13
13
  import androidx.annotation.Nullable;
14
14
  import com.facebook.react.bridge.ReadableArray;
15
+ import com.facebook.react.uimanager.ViewManagerWithGeneratedInterface;
15
16
 
16
- public interface RNMapsPolylineManagerInterface<T extends View> {
17
+ public interface RNMapsPolylineManagerInterface<T extends View> extends ViewManagerWithGeneratedInterface {
17
18
  void setCoordinates(T view, @Nullable ReadableArray value);
18
19
  void setGeodesic(T view, boolean value);
19
20
  void setLineCap(T view, @Nullable String value);
@@ -11,8 +11,9 @@ package com.facebook.react.viewmanagers;
11
11
 
12
12
  import android.view.View;
13
13
  import androidx.annotation.Nullable;
14
+ import com.facebook.react.uimanager.ViewManagerWithGeneratedInterface;
14
15
 
15
- public interface RNMapsUrlTileManagerInterface<T extends View> {
16
+ public interface RNMapsUrlTileManagerInterface<T extends View> extends ViewManagerWithGeneratedInterface {
16
17
  void setDoubleTileSize(T view, boolean value);
17
18
  void setFlipY(T view, boolean value);
18
19
  void setMaximumNativeZ(T view, int value);
@@ -11,8 +11,9 @@ package com.facebook.react.viewmanagers;
11
11
 
12
12
  import android.view.View;
13
13
  import androidx.annotation.Nullable;
14
+ import com.facebook.react.uimanager.ViewManagerWithGeneratedInterface;
14
15
 
15
- public interface RNMapsWMSTileManagerInterface<T extends View> {
16
+ public interface RNMapsWMSTileManagerInterface<T extends View> extends ViewManagerWithGeneratedInterface {
16
17
  void setMaximumNativeZ(T view, int value);
17
18
  void setMaximumZ(T view, int value);
18
19
  void setMinimumZ(T view, int value);
@@ -91,6 +91,7 @@ public class MapView extends com.google.android.gms.maps.MapView implements Goog
91
91
  public GoogleMap map;
92
92
  private Bundle savedMapState;
93
93
  private Map<Integer, MapFeature> savedFeatures = new HashMap<>();
94
+ private boolean shouldRestorePadding = false;
94
95
 
95
96
  private MarkerManager markerManager;
96
97
  private MarkerManager.Collection markerCollection;
@@ -342,6 +343,7 @@ public class MapView extends com.google.android.gms.maps.MapView implements Goog
342
343
  super.onStop();
343
344
  savedFeatures = new HashMap<>(features);
344
345
  savedFeatures.keySet().forEach(this::removeFeatureAt);
346
+ shouldRestorePadding = true;
345
347
  removeView(attacherGroup);
346
348
  attacherGroup = null;
347
349
  detachLifecycleObserver();
@@ -781,12 +783,12 @@ public class MapView extends com.google.android.gms.maps.MapView implements Goog
781
783
  }
782
784
 
783
785
  private void applyBridgedProps() {
784
- if (initialRegion != null) {
786
+ if (initialRegion != null && !initialRegionSet) {
785
787
  moveToRegion(initialRegion);
786
788
  initialRegionSet = true;
787
789
  } else if (region != null) {
788
790
  moveToRegion(region);
789
- } else if (initialCamera != null) {
791
+ } else if (initialCamera != null && !initialCameraSet) {
790
792
  moveToCamera(initialCamera);
791
793
  initialCameraSet = true;
792
794
  } else if (camera != null) {
@@ -796,12 +798,18 @@ public class MapView extends com.google.android.gms.maps.MapView implements Goog
796
798
  map.setMapStyle(new MapStyleOptions(customMapStyleString));
797
799
  }
798
800
  this.setPoiClickEnabled(poiClickEnabled);
799
- if (setPaddingDeferred &&
800
- (baseLeftMapPadding != 0 ||
801
- baseTopMapPadding != 0 ||
802
- baseRightMapPadding != 0 ||
803
- baseBottomMapPadding != 0)) {
804
- applyBaseMapPadding(baseLeftMapPadding, baseTopMapPadding, baseRightMapPadding, baseBottomMapPadding);
801
+ if (baseLeftMapPadding != 0 ||
802
+ baseTopMapPadding != 0 ||
803
+ baseRightMapPadding != 0 ||
804
+ baseBottomMapPadding != 0) {
805
+ if (setPaddingDeferred) {
806
+ applyBaseMapPadding(baseLeftMapPadding, baseTopMapPadding, baseRightMapPadding, baseBottomMapPadding);
807
+ } else if (shouldRestorePadding) {
808
+ CameraUpdate cu = CameraUpdateFactory.newCameraPosition(map.getCameraPosition());
809
+ map.setPadding(baseLeftMapPadding, baseTopMapPadding, baseRightMapPadding, baseBottomMapPadding);
810
+ map.moveCamera(cu);
811
+ shouldRestorePadding = false;
812
+ }
805
813
  }
806
814
  }
807
815
 
@@ -25,12 +25,4 @@ target_link_libraries(
25
25
  reactnative
26
26
  )
27
27
 
28
- target_compile_options(
29
- react_codegen_RNMapsSpecs
30
- PRIVATE
31
- -DLOG_TAG=\"ReactNative\"
32
- -fexceptions
33
- -frtti
34
- -std=c++20
35
- -Wall
36
- )
28
+ target_compile_reactnative_options(react_codegen_RNMapsSpecs PRIVATE)