react-native-maps 1.25.6 → 1.26.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 (53) 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 +7 -1
  7. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsMapViewManagerInterface.java +5 -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/fabric/MapViewManager.java +11 -0
  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 +810 -21
  18. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/Props.h +666 -1
  19. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/States.h +12 -111
  20. package/ios/AirMaps/AIRMap.h +2 -0
  21. package/ios/AirMaps/AIRMap.mm +181 -0
  22. package/ios/AirMaps/RNMapsMapView.mm +8 -0
  23. package/ios/generated/RCTAppDependencyProvider.mm +13 -28
  24. package/ios/generated/RCTModuleProviders.h +16 -0
  25. package/ios/generated/RCTModuleProviders.mm +51 -0
  26. package/ios/generated/RCTModulesConformingToProtocolsProvider.mm +30 -9
  27. package/ios/generated/RCTThirdPartyComponentsProvider.mm +9 -2
  28. package/ios/generated/RCTUnstableModulesRequiringMainQueueSetupProvider.h +14 -0
  29. package/ios/generated/RCTUnstableModulesRequiringMainQueueSetupProvider.mm +19 -0
  30. package/ios/generated/RNMapsSpecs/EventEmitters.cpp +517 -517
  31. package/ios/generated/RNMapsSpecs/Props.cpp +811 -22
  32. package/ios/generated/RNMapsSpecs/Props.h +667 -2
  33. package/ios/generated/RNMapsSpecs/States.h +12 -111
  34. package/ios/generated/ReactAppDependencyProvider.podspec +1 -1
  35. package/ios/generated/ReactCodegen.podspec +120 -0
  36. package/package.json +14 -14
  37. package/plugin/build/android.js +2 -2
  38. package/plugin/build/ios.js +8 -8
  39. package/react-native-maps.podspec +4 -0
  40. package/src/MapMarkerNativeComponent.ts +1 -1
  41. package/src/MapView.tsx +17 -0
  42. package/src/MapViewNativeComponent.ts +1 -1
  43. package/src/sharedTypes.ts +91 -0
  44. package/src/specs/NativeComponentCallout.ts +1 -1
  45. package/src/specs/NativeComponentCircle.ts +1 -1
  46. package/src/specs/NativeComponentGoogleMapView.ts +1 -12
  47. package/src/specs/NativeComponentGooglePolygon.ts +1 -1
  48. package/src/specs/NativeComponentMapView.ts +20 -2
  49. package/src/specs/NativeComponentMarker.ts +1 -2
  50. package/src/specs/NativeComponentOverlay.ts +1 -1
  51. package/src/specs/NativeComponentPolyline.ts +1 -1
  52. package/src/specs/NativeComponentUrlTile.ts +1 -1
  53. package/src/specs/NativeComponentWMSTile.ts +1 -1
@@ -8,130 +8,31 @@
8
8
  */
9
9
  #pragma once
10
10
 
11
- #ifdef ANDROID
11
+ #include <react/renderer/core/StateData.h>
12
+ #ifdef RN_SERIALIZABLE_STATE
12
13
  #include <folly/dynamic.h>
13
14
  #endif
14
15
 
15
16
  namespace facebook::react {
16
17
 
17
- class RNMapsCalloutState {
18
- public:
19
- RNMapsCalloutState() = default;
18
+ using RNMapsCalloutState = StateData;
20
19
 
21
- #ifdef ANDROID
22
- RNMapsCalloutState(RNMapsCalloutState const &previousState, folly::dynamic data){};
23
- folly::dynamic getDynamic() const {
24
- return {};
25
- };
26
- #endif
27
- };
28
-
29
- class RNMapsCircleState {
30
- public:
31
- RNMapsCircleState() = default;
32
-
33
- #ifdef ANDROID
34
- RNMapsCircleState(RNMapsCircleState const &previousState, folly::dynamic data){};
35
- folly::dynamic getDynamic() const {
36
- return {};
37
- };
38
- #endif
39
- };
40
-
41
- class RNMapsGoogleMapViewState {
42
- public:
43
- RNMapsGoogleMapViewState() = default;
44
-
45
- #ifdef ANDROID
46
- RNMapsGoogleMapViewState(RNMapsGoogleMapViewState const &previousState, folly::dynamic data){};
47
- folly::dynamic getDynamic() const {
48
- return {};
49
- };
50
- #endif
51
- };
52
-
53
- class RNMapsGooglePolygonState {
54
- public:
55
- RNMapsGooglePolygonState() = default;
56
-
57
- #ifdef ANDROID
58
- RNMapsGooglePolygonState(RNMapsGooglePolygonState const &previousState, folly::dynamic data){};
59
- folly::dynamic getDynamic() const {
60
- return {};
61
- };
62
- #endif
63
- };
20
+ using RNMapsCircleState = StateData;
64
21
 
65
- class RNMapsMapViewState {
66
- public:
67
- RNMapsMapViewState() = default;
22
+ using RNMapsGoogleMapViewState = StateData;
68
23
 
69
- #ifdef ANDROID
70
- RNMapsMapViewState(RNMapsMapViewState const &previousState, folly::dynamic data){};
71
- folly::dynamic getDynamic() const {
72
- return {};
73
- };
74
- #endif
75
- };
76
-
77
- class RNMapsMarkerState {
78
- public:
79
- RNMapsMarkerState() = default;
80
-
81
- #ifdef ANDROID
82
- RNMapsMarkerState(RNMapsMarkerState const &previousState, folly::dynamic data){};
83
- folly::dynamic getDynamic() const {
84
- return {};
85
- };
86
- #endif
87
- };
88
-
89
- class RNMapsOverlayState {
90
- public:
91
- RNMapsOverlayState() = default;
24
+ using RNMapsGooglePolygonState = StateData;
92
25
 
93
- #ifdef ANDROID
94
- RNMapsOverlayState(RNMapsOverlayState const &previousState, folly::dynamic data){};
95
- folly::dynamic getDynamic() const {
96
- return {};
97
- };
98
- #endif
99
- };
26
+ using RNMapsMapViewState = StateData;
100
27
 
101
- class RNMapsPolylineState {
102
- public:
103
- RNMapsPolylineState() = default;
28
+ using RNMapsMarkerState = StateData;
104
29
 
105
- #ifdef ANDROID
106
- RNMapsPolylineState(RNMapsPolylineState const &previousState, folly::dynamic data){};
107
- folly::dynamic getDynamic() const {
108
- return {};
109
- };
110
- #endif
111
- };
30
+ using RNMapsOverlayState = StateData;
112
31
 
113
- class RNMapsUrlTileState {
114
- public:
115
- RNMapsUrlTileState() = default;
32
+ using RNMapsPolylineState = StateData;
116
33
 
117
- #ifdef ANDROID
118
- RNMapsUrlTileState(RNMapsUrlTileState const &previousState, folly::dynamic data){};
119
- folly::dynamic getDynamic() const {
120
- return {};
121
- };
122
- #endif
123
- };
34
+ using RNMapsUrlTileState = StateData;
124
35
 
125
- class RNMapsWMSTileState {
126
- public:
127
- RNMapsWMSTileState() = default;
128
-
129
- #ifdef ANDROID
130
- RNMapsWMSTileState(RNMapsWMSTileState const &previousState, folly::dynamic data){};
131
- folly::dynamic getDynamic() const {
132
- return {};
133
- };
134
- #endif
135
- };
36
+ using RNMapsWMSTileState = StateData;
136
37
 
137
38
  } // namespace facebook::react
@@ -3,7 +3,7 @@
3
3
  # This source code is licensed under the MIT license found in the
4
4
  # LICENSE file in the root directory of this source tree.
5
5
 
6
- version = "0.77.2"
6
+ version = "0.81.1"
7
7
  source = { :git => 'https://github.com/facebook/react-native.git' }
8
8
  if version == '1000.0.0'
9
9
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
@@ -0,0 +1,120 @@
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ #
3
+ # This source code is licensed under the MIT license found in the
4
+ # LICENSE file in the root directory of this source tree.
5
+
6
+ version = "0.81.1"
7
+ source = { :git => 'https://github.com/facebook/react-native.git' }
8
+ if version == '1000.0.0'
9
+ # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
10
+ source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
11
+ else
12
+ source[:tag] = "v#{version}"
13
+ end
14
+
15
+ use_frameworks = ENV['USE_FRAMEWORKS'] != nil
16
+ folly_compiler_flags = Helpers::Constants.folly_config[:compiler_flags]
17
+ boost_compiler_flags = Helpers::Constants.boost_config[:compiler_flags]
18
+
19
+ header_search_paths = []
20
+ framework_search_paths = []
21
+
22
+ header_search_paths = [
23
+ "\"$(PODS_ROOT)/ReactNativeDependencies\"",
24
+ "\"${PODS_ROOT}/Headers/Public/ReactCodegen/react/renderer/components\"",
25
+ "\"$(PODS_ROOT)/Headers/Private/React-Fabric\"",
26
+ "\"$(PODS_ROOT)/Headers/Private/React-RCTFabric\"",
27
+ "\"$(PODS_ROOT)/Headers/Private/Yoga\"",
28
+ "\"$(PODS_TARGET_SRCROOT)\"",
29
+ ]
30
+
31
+ if use_frameworks
32
+ ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-Fabric", "React_Fabric", ["react/renderer/components/view/platform/cxx"])
33
+ .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-FabricImage", "React_FabricImage", []))
34
+ .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-graphics", "React_graphics", ["react/renderer/graphics/platform/ios"]))
35
+ .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "ReactCommon", "ReactCommon", ["react/nativemodule/core"]))
36
+ .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-runtimeexecutor", "React_runtimeexecutor", ["platform/ios"]))
37
+ .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-NativeModulesApple", "React_NativeModulesApple", []))
38
+ .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-RCTFabric", "RCTFabric", []))
39
+ .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-debug", "React_debug", []))
40
+ .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-rendererdebug", "React_rendererdebug", []))
41
+ .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-utils", "React_utils", []))
42
+ .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-featureflags", "React_featureflags", []))
43
+ .each { |search_path|
44
+ header_search_paths << "\"#{search_path}\""
45
+ }
46
+ end
47
+
48
+ Pod::Spec.new do |s|
49
+ s.name = "ReactCodegen"
50
+ s.version = version
51
+ s.summary = 'Temp pod for generated files for React Native'
52
+ s.homepage = 'https://facebook.com/'
53
+ s.license = 'Unlicense'
54
+ s.authors = 'Facebook'
55
+ s.compiler_flags = "#{folly_compiler_flags} #{boost_compiler_flags} -Wno-nullability-completeness -std=c++20"
56
+ s.source = { :git => '' }
57
+ s.header_mappings_dir = './'
58
+ s.platforms = min_supported_versions
59
+ s.source_files = "**/*.{h,mm,cpp}"
60
+ s.exclude_files = "RCTAppDependencyProvider.{h,mm}" # these files are generated in the same codegen path but needs to belong to a different pod
61
+ s.pod_target_xcconfig = {
62
+ "HEADER_SEARCH_PATHS" => header_search_paths.join(' '),
63
+ "FRAMEWORK_SEARCH_PATHS" => framework_search_paths,
64
+ "OTHER_CPLUSPLUSFLAGS" => "$(inherited) #{folly_compiler_flags} #{boost_compiler_flags}"
65
+ }
66
+
67
+ s.dependency "React-jsiexecutor"
68
+ s.dependency "RCTRequired"
69
+ s.dependency "RCTTypeSafety"
70
+ s.dependency "React-Core"
71
+ s.dependency "React-jsi"
72
+ s.dependency "ReactCommon/turbomodule/bridging"
73
+ s.dependency "ReactCommon/turbomodule/core"
74
+ s.dependency "React-NativeModulesApple"
75
+ s.dependency 'React-graphics'
76
+ s.dependency 'React-rendererdebug'
77
+ s.dependency 'React-Fabric'
78
+ s.dependency 'React-FabricImage'
79
+ s.dependency 'React-debug'
80
+ s.dependency 'React-utils'
81
+ s.dependency 'React-featureflags'
82
+ s.dependency 'React-RCTAppDelegate'
83
+
84
+ depend_on_js_engine(s)
85
+ add_rn_third_party_dependencies(s)
86
+ add_rncore_dependency(s)
87
+
88
+ s.script_phases = {
89
+ 'name' => 'Generate Specs',
90
+ 'execution_position' => :before_compile,
91
+ 'input_files' => ["${PODS_ROOT}/../../../src/specs/NativeAirMapsModule.ts",
92
+ "${PODS_ROOT}/../../../src/specs/NativeComponentCallout.ts",
93
+ "${PODS_ROOT}/../../../src/specs/NativeComponentCircle.ts",
94
+ "${PODS_ROOT}/../../../src/specs/NativeComponentGoogleMapView.ts",
95
+ "${PODS_ROOT}/../../../src/specs/NativeComponentGooglePolygon.ts",
96
+ "${PODS_ROOT}/../../../src/specs/NativeComponentMapView.ts",
97
+ "${PODS_ROOT}/../../../src/specs/NativeComponentMarker.ts",
98
+ "${PODS_ROOT}/../../../src/specs/NativeComponentOverlay.ts",
99
+ "${PODS_ROOT}/../../../src/specs/NativeComponentPolyline.ts",
100
+ "${PODS_ROOT}/../../../src/specs/NativeComponentUrlTile.ts",
101
+ "${PODS_ROOT}/../../../src/specs/NativeComponentWMSTile.ts"],
102
+ 'show_env_vars_in_log' => true,
103
+ 'output_files' => ["${DERIVED_FILE_DIR}/react-codegen.log"],
104
+ 'script': <<-SCRIPT
105
+ pushd "$PODS_ROOT/../" > /dev/null
106
+ RCT_SCRIPT_POD_INSTALLATION_ROOT=$(pwd)
107
+ popd >/dev/null
108
+
109
+ export RCT_SCRIPT_RN_DIR="$RCT_SCRIPT_POD_INSTALLATION_ROOT/../../node_modules/react-native"
110
+ export RCT_SCRIPT_APP_PATH="$RCT_SCRIPT_POD_INSTALLATION_ROOT/../.."
111
+ export RCT_SCRIPT_OUTPUT_DIR="$RCT_SCRIPT_POD_INSTALLATION_ROOT"
112
+ export RCT_SCRIPT_TYPE="withCodegenDiscovery"
113
+
114
+ export SCRIPT_PHASES_SCRIPT="$RCT_SCRIPT_RN_DIR/scripts/react_native_pods_utils/script_phases.sh"
115
+ export WITH_ENVIRONMENT="$RCT_SCRIPT_RN_DIR/scripts/xcode/with-environment.sh"
116
+ /bin/sh -c '"$WITH_ENVIRONMENT" "$SCRIPT_PHASES_SCRIPT"'
117
+ SCRIPT
118
+ }
119
+
120
+ end
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "main": "src/index.ts",
6
6
  "author": "Leland Richardson <leland.m.richardson@gmail.com>",
7
7
  "homepage": "https://github.com/react-native-maps/react-native-maps#readme",
8
- "version": "1.25.6",
8
+ "version": "1.26.1",
9
9
  "license": "MIT",
10
10
  "scripts": {
11
11
  "lint": "eslint . --max-warnings 0",
@@ -63,25 +63,25 @@
63
63
  "@commitlint/cli": "19.8.0",
64
64
  "@commitlint/config-conventional": "19.8.0",
65
65
  "@expo/config-plugins": "^9.0.17",
66
- "@react-native-community/cli": "15.0.1",
67
- "@react-native/babel-preset": "0.76.8",
68
- "@react-native/eslint-config": "0.76.8",
69
- "@react-native/metro-config": "0.76.8",
70
- "@react-native/typescript-config": "0.76.8",
66
+ "@react-native-community/cli": "20.0.0",
67
+ "@react-native/babel-preset": "0.81.0",
68
+ "@react-native/eslint-config": "0.81.0",
69
+ "@react-native/metro-config": "0.81.0",
70
+ "@react-native/typescript-config": "0.81.0",
71
71
  "@semantic-release/changelog": "6.0.3",
72
72
  "@semantic-release/git": "10.0.1",
73
- "@types/react": "^18.2.6",
74
- "@types/react-test-renderer": "^18.0.0",
75
- "babel-jest": "^29.6.3",
73
+ "@types/react": "^19.1.0",
74
+ "@types/react-test-renderer": "^19.1.0",
75
+ "@types/jest": "^29.5.13",
76
76
  "eslint": "^8.19.0",
77
77
  "husky": "9.1.7",
78
78
  "jest": "^29.6.3",
79
79
  "prettier": "2.8.8",
80
- "react": "^18.3.1",
81
- "react-native": "^0.77.1",
82
- "react-test-renderer": "18.3.1",
80
+ "react": "19.1.0",
81
+ "react-native": "^0.81.1",
82
+ "react-test-renderer": "19.1.0",
83
83
  "semantic-release": "24.2.3",
84
- "typescript": "5.0.4"
84
+ "typescript": "^5.8.3"
85
85
  },
86
86
  "dependencies": {
87
87
  "@types/geojson": "^7946.0.13"
@@ -120,6 +120,6 @@
120
120
  }
121
121
  },
122
122
  "engines": {
123
- "node": ">=18"
123
+ "node": ">= 20.19.4"
124
124
  }
125
125
  }
@@ -9,8 +9,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
14
  function verb(n) { return function (v) { return step([n, v]); }; }
15
15
  function step(op) {
16
16
  if (f) throw new TypeError("Generator is already executing.");
@@ -9,8 +9,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
14
  function verb(n) { return function (v) { return step([n, v]); }; }
15
15
  function step(op) {
16
16
  if (f) throw new TypeError("Generator is already executing.");
@@ -36,7 +36,12 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
36
36
  }
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.addMapsCocoapods = exports.removeGoogleMapsAppDelegateInit = exports.addGoogleMapsAppDelegateInit = exports.removeGoogleMapsAppDelegateImport = exports.addGoogleMapsAppDelegateImport = exports.withMapsIOS = exports.MATCH_INIT = void 0;
39
+ exports.withMapsIOS = exports.MATCH_INIT = void 0;
40
+ exports.addGoogleMapsAppDelegateImport = addGoogleMapsAppDelegateImport;
41
+ exports.removeGoogleMapsAppDelegateImport = removeGoogleMapsAppDelegateImport;
42
+ exports.addGoogleMapsAppDelegateInit = addGoogleMapsAppDelegateInit;
43
+ exports.removeGoogleMapsAppDelegateInit = removeGoogleMapsAppDelegateInit;
44
+ exports.addMapsCocoapods = addMapsCocoapods;
40
45
  var ios_plugins_1 = require("@expo/config-plugins/build/plugins/ios-plugins");
41
46
  var generateCode_1 = require("@expo/config-plugins/build/utils/generateCode");
42
47
  exports.MATCH_INIT = /\bsuper\.application\(\w+?, didFinishLaunchingWithOptions: \w+?\)/g;
@@ -78,14 +83,12 @@ function addGoogleMapsAppDelegateImport(src) {
78
83
  comment: '//',
79
84
  });
80
85
  }
81
- exports.addGoogleMapsAppDelegateImport = addGoogleMapsAppDelegateImport;
82
86
  function removeGoogleMapsAppDelegateImport(src) {
83
87
  return (0, generateCode_1.removeContents)({
84
88
  tag: 'react-native-maps-import',
85
89
  src: src,
86
90
  });
87
91
  }
88
- exports.removeGoogleMapsAppDelegateImport = removeGoogleMapsAppDelegateImport;
89
92
  function addGoogleMapsAppDelegateInit(src, apiKey) {
90
93
  var newSrc = [
91
94
  '#if canImport(GoogleMaps)',
@@ -101,14 +104,12 @@ function addGoogleMapsAppDelegateInit(src, apiKey) {
101
104
  comment: '//',
102
105
  });
103
106
  }
104
- exports.addGoogleMapsAppDelegateInit = addGoogleMapsAppDelegateInit;
105
107
  function removeGoogleMapsAppDelegateInit(src) {
106
108
  return (0, generateCode_1.removeContents)({
107
109
  tag: 'react-native-maps-init',
108
110
  src: src,
109
111
  });
110
112
  }
111
- exports.removeGoogleMapsAppDelegateInit = removeGoogleMapsAppDelegateInit;
112
113
  /**
113
114
  * @param src The contents of the Podfile.
114
115
  * @param useGoogleMaps if GoogleMaps for iOS is used
@@ -128,7 +129,6 @@ function addMapsCocoapods(src, useGoogleMaps) {
128
129
  comment: '#',
129
130
  });
130
131
  }
131
- exports.addMapsCocoapods = addMapsCocoapods;
132
132
  var withMapsCocoaPods = function (config, _a) {
133
133
  var useGoogleMaps = _a.useGoogleMaps;
134
134
  return (0, ios_plugins_1.withPodfile)(config, function (conf) { return __awaiter(void 0, void 0, void 0, function () {
@@ -22,6 +22,10 @@ Pod::Spec.new do |s|
22
22
  s.subspec 'Generated' do |ss|
23
23
  ss.source_files = "ios/generated/**/*.{h,m,mm,cpp,swift}"
24
24
  ss.exclude_files = [
25
+ "ios/generated/RCTModuleProviders.h",
26
+ "ios/generated/RCTModuleProviders.mm",
27
+ "ios/generated/RCTUnstableModulesRequiringMainQueueSetupProvider.h",
28
+ "ios/generated/RCTUnstableModulesRequiringMainQueueSetupProvider.mm",
25
29
  "ios/generated/RCTAppDependencyProvider.h",
26
30
  "ios/generated/RCTAppDependencyProvider.mm",
27
31
  "ios/generated/RCTThirdPartyComponentsProvider.h",
@@ -1,5 +1,5 @@
1
1
  import type {HostComponent} from 'react-native';
2
- import codegenNativeCommands from 'react-native/Libraries/Utilities/codegenNativeCommands';
2
+ import {codegenNativeCommands} from 'react-native';
3
3
  import type {NativeProps} from './MapMarker';
4
4
  import type {LatLng} from './sharedTypes';
5
5
 
package/src/MapView.tsx CHANGED
@@ -27,6 +27,7 @@ import type {
27
27
  Point,
28
28
  Provider,
29
29
  Region,
30
+ MKPointOfInterestCategoryType,
30
31
  } from './sharedTypes';
31
32
  import type {
32
33
  ActiveIndoorLevel,
@@ -587,6 +588,20 @@ export type MapViewProps = ViewProps & {
587
588
  */
588
589
  showsMyLocationButton?: boolean;
589
590
 
591
+ /**
592
+ * A Boolean indicating whether points of interest should be displayed.
593
+ * Use `pointsOfInterestFilter` for more granular control.
594
+ * @see pointsOfInterestFilter
595
+ */
596
+ showsPointsOfInterests?: boolean;
597
+
598
+ /**
599
+ * An array of category strings to show on the map.
600
+ * If this is set, it takes precedence over `showsPointsOfInterests`.
601
+ * @see showsPointsOfInterests
602
+ */
603
+ pointsOfInterestFilter?: MKPointOfInterestCategoryType[];
604
+
590
605
  /**
591
606
  * A Boolean indicating whether the map shows scale information.
592
607
  *
@@ -1166,6 +1181,8 @@ class MapView extends React.Component<MapViewProps, State> {
1166
1181
  // @ts-ignore
1167
1182
  onIndoorLevelActivated: this.handleIndoorLevelActivated,
1168
1183
  onLongPress: this.handleLongPress,
1184
+ showsPointsOfInterests: this.props.showsPointsOfInterests,
1185
+ pointsOfInterestFilter: this.props.pointsOfInterestFilter,
1169
1186
  ...restProps,
1170
1187
  };
1171
1188
  if (this.props.region) {
@@ -1,5 +1,5 @@
1
1
  import type {HostComponent} from 'react-native';
2
- import codegenNativeCommands from 'react-native/Libraries/Utilities/codegenNativeCommands';
2
+ import {codegenNativeCommands} from 'react-native';
3
3
  import type {NativeProps} from './MapView';
4
4
  import type {Camera, EdgePadding} from './MapView.types';
5
5
  import type {LatLng, Region} from './sharedTypes';
@@ -99,3 +99,94 @@ export type MarkerPressEvent = NativeSyntheticEvent<{
99
99
  */
100
100
  position?: Point;
101
101
  }>;
102
+
103
+ /**
104
+ * Represents the available categories for points of interest on the Apple Maps.
105
+ * Use an array of these strings for the `pointsOfInterestFilter` prop.
106
+ * More: https://developer.apple.com/documentation/mapkit/mkpointofinterestcategory
107
+ */
108
+ export type MKPointOfInterestCategoryType =
109
+ // Arts and culture
110
+ | 'museum'
111
+ | 'musicVenue'
112
+ | 'theater'
113
+ // Education
114
+ | 'library'
115
+ | 'planetarium'
116
+ | 'school'
117
+ | 'university'
118
+ // Entertainment
119
+ | 'movieTheater'
120
+ | 'nightlife'
121
+ // Health and safety
122
+ | 'fireStation'
123
+ | 'hospital'
124
+ | 'pharmacy'
125
+ | 'police'
126
+ // Historical and cultural landmarks
127
+ | 'castle'
128
+ | 'fortress'
129
+ | 'landmark'
130
+ | 'nationalMonument'
131
+ // Food and drink
132
+ | 'bakery'
133
+ | 'brewery'
134
+ | 'cafe'
135
+ | 'distillery'
136
+ | 'foodMarket'
137
+ | 'restaurant'
138
+ | 'winery'
139
+ // Personal services
140
+ | 'animalService'
141
+ | 'atm'
142
+ | 'automotiveRepair'
143
+ | 'bank'
144
+ | 'beauty'
145
+ | 'evCharger'
146
+ | 'fitnessCenter'
147
+ | 'laundry'
148
+ | 'mailbox'
149
+ | 'postOffice'
150
+ | 'restroom'
151
+ | 'spa'
152
+ | 'store'
153
+ // Parks and recreation
154
+ | 'amusementPark'
155
+ | 'aquarium'
156
+ | 'beach'
157
+ | 'campground'
158
+ | 'fairground'
159
+ | 'marina'
160
+ | 'nationalPark'
161
+ | 'park'
162
+ | 'rvPark'
163
+ | 'zoo'
164
+ // Sports
165
+ | 'baseball'
166
+ | 'basketball'
167
+ | 'bowling'
168
+ | 'goKart'
169
+ | 'golf'
170
+ | 'hiking'
171
+ | 'miniGolf'
172
+ | 'rockClimbing'
173
+ | 'skatePark'
174
+ | 'skating'
175
+ | 'skiing'
176
+ | 'soccer'
177
+ | 'stadium'
178
+ | 'tennis'
179
+ | 'volleyball'
180
+ // Travel
181
+ | 'airport'
182
+ | 'carRental'
183
+ | 'conventionCenter'
184
+ | 'gasStation'
185
+ | 'hotel'
186
+ | 'parking'
187
+ | 'publicTransport'
188
+ // Water sports
189
+ | 'fishing'
190
+ | 'kayaking'
191
+ | 'surfing'
192
+ | 'swimming';
@@ -1,6 +1,6 @@
1
1
  import type {HostComponent, ViewProps} from 'react-native';
2
2
 
3
- import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
3
+ import {codegenNativeComponent} from 'react-native';
4
4
  import type {
5
5
  Double,
6
6
  BubblingEventHandler,
@@ -1,6 +1,6 @@
1
1
  import type {HostComponent, ViewProps, ColorValue} from 'react-native';
2
2
 
3
- import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
3
+ import {codegenNativeComponent} from 'react-native';
4
4
  import type {
5
5
  Double,
6
6
  Float,
@@ -1,8 +1,7 @@
1
1
  // @ts-nocheck
2
2
  import type {HostComponent, ViewProps, ColorValue} from 'react-native';
3
3
 
4
- import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
5
- import codegenNativeCommands from 'react-native/Libraries/Utilities/codegenNativeCommands';
4
+ import {codegenNativeComponent, codegenNativeCommands} from 'react-native';
6
5
  import type {
7
6
  Double,
8
7
  Int32,
@@ -728,16 +727,6 @@ export interface MapFabricNativeProps extends ViewProps {
728
727
  */
729
728
  showsMyLocationButton?: boolean;
730
729
 
731
- /**
732
- * If `false` points of interest won't be displayed on the map.
733
- * TODO: DEPRECATED? Doesn't seem to do anything
734
- *
735
- * @default true
736
- * @platform iOS: Maybe Apple Maps?
737
- * @platform Android: Not supported
738
- */
739
- showsPointsOfInterest?: boolean;
740
-
741
730
  /**
742
731
  * A Boolean indicating whether the map shows scale information.
743
732
  *
@@ -1,6 +1,6 @@
1
1
  import type {HostComponent, ViewProps, ColorValue} from 'react-native';
2
2
 
3
- import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
3
+ import {codegenNativeComponent} from 'react-native';
4
4
  import type {
5
5
  Double,
6
6
  BubblingEventHandler,
@@ -1,8 +1,7 @@
1
1
  // @ts-nocheck
2
2
  import type {HostComponent, ViewProps, ColorValue} from 'react-native';
3
3
 
4
- import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
5
- import codegenNativeCommands from 'react-native/Libraries/Utilities/codegenNativeCommands';
4
+ import {codegenNativeComponent, codegenNativeCommands} from 'react-native';
6
5
  import type {
7
6
  Double,
8
7
  Int32,
@@ -869,6 +868,25 @@ export interface MapFabricNativeProps extends ViewProps {
869
868
  */
870
869
  showsIndoors?: WithDefault<boolean, true>;
871
870
 
871
+ /**
872
+ * A Boolean indicating whether points of interest should be displayed.
873
+ * Use `pointsOfInterestFilter` for more granular control.
874
+ *
875
+ * @default true
876
+ * @platform iOS: Apple Maps
877
+ * @platform Android: Not supported
878
+ */
879
+ showsPointsOfInterests?: WithDefault<boolean, true>;
880
+
881
+ /**
882
+ * An array of category strings to show on the map.
883
+ * If this is set, it takes precedence over `showsPointsOfInterests`.
884
+ *
885
+ * @platform iOS: Apple Maps
886
+ * @platform Android: Not supported
887
+ */
888
+ pointsOfInterestFilter?: ReadonlyArray<string>;
889
+
872
890
  /**
873
891
  * If `false` hide the button to move map to the current user's location.
874
892
  *
@@ -6,8 +6,7 @@ import type {
6
6
  ImageSourcePropType as ImageSource,
7
7
  } from 'react-native';
8
8
 
9
- import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
10
- import codegenNativeCommands from 'react-native/Libraries/Utilities/codegenNativeCommands';
9
+ import {codegenNativeComponent, codegenNativeCommands} from 'react-native';
11
10
  import type {
12
11
  Int32,
13
12
  Double,