Skip to content

Commit 6903540

Browse files
authored
Merge branch 'main' into dev
2 parents ec88db2 + cddf060 commit 6903540

File tree

2 files changed

+125
-59
lines changed

2 files changed

+125
-59
lines changed

CHANGELOG.md

Lines changed: 124 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,92 +1,158 @@
1-
## [1.1.0-dev.4](https://github.com/pinpong/react-native-google-maps-plus/compare/v1.1.0-dev.3...v1.1.0-dev.4) (2025-10-08)
1+
# react-native-google-maps-plus
22

3-
### ✨ Features
3+
[![npm version](https://img.shields.io/npm/v/react-native-google-maps-plus.svg?logo=npm&color=cb0000)](https://www.npmjs.com/package/react-native-google-maps-plus)
4+
[![Dev Release](https://img.shields.io/npm/v/react-native-google-maps-plus/dev.svg?label=dev%20release&color=orange&logo=githubactions)](https://www.npmjs.com/package/react-native-google-maps-plus)
5+
[![Release](https://github.com/pinpong/react-native-google-maps-plus/actions/workflows/release.yml/badge.svg)](https://github.com/pinpong/react-native-google-maps-plus/actions/workflows/release.yml)
6+
[![Issues](https://img.shields.io/github/issues/pinpong/react-native-google-maps-plus?logo=github)](https://github.com/pinpong/react-native-google-maps-plus/issues)
7+
[![License](https://img.shields.io/github/license/pinpong/react-native-google-maps-plus?logo=open-source-initiative&logoColor=green)](./LICENSE)
8+
[![Code Style: Prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?logo=prettier&logoColor=white)](https://prettier.io/)
9+
[![TypeScript](https://img.shields.io/badge/%3C/%3E-TypeScript-blue.svg?logo=typescript)](https://www.typescriptlang.org/)
10+
[![Lint](https://img.shields.io/badge/lint-eslint-green.svg?logo=eslint&logoColor=white)](https://eslint.org/)
11+
[![React Native](https://img.shields.io/badge/react--native-%3E%3D0.81.0-61dafb.svg?logo=react)](https://reactnative.dev/)
12+
[![Platform: Android](https://img.shields.io/badge/platform-android-green.svg?logo=android&logoColor=white)](https://developer.android.com/)
13+
[![Platform: iOS](https://img.shields.io/badge/platform-iOS-lightgrey.svg?logo=apple&logoColor=black)](https://developer.apple.com/ios/)
414

5-
* add heatmap support ([ddcfccf](https://github.com/pinpong/react-native-google-maps-plus/commit/ddcfccf4cbb08b2756c20ca7215a8fe45e30befb))
6-
* add heatmap support ([96a3a08](https://github.com/pinpong/react-native-google-maps-plus/commit/96a3a08696e38f77db356d9e0e71a6e6b98a589f))
15+
React-native wrapper for android & IOS google maps sdk
716

8-
## [1.1.0-dev.3](https://github.com/pinpong/react-native-google-maps-plus/compare/v1.1.0-dev.2...v1.1.0-dev.3) (2025-10-08)
17+
## Installation
918

10-
### 🐛 Bug Fixes
19+
`react-native-nitro-modules` is required as this library relies on [Nitro Modules](https://nitro.margelo.com/).
1120

12-
* **example:** update Podfile.lock ([0eb9a09](https://github.com/pinpong/react-native-google-maps-plus/commit/0eb9a09bca8b13241b13851c4af0857545284229))
21+
```sh
22+
yarn add react-native-google-maps-plus react-native-nitro-modules
23+
```
1324

14-
### 🔄 Code Refactors
25+
### Dependencies
1526

16-
* **map:** unify update logic and defaults across Android and iOS ([cdaa01a](https://github.com/pinpong/react-native-google-maps-plus/commit/cdaa01af77ae93f9e9652dd018fe18f0ca6309b4))
17-
* **map:** unify update logic and defaults across Android and iOS ([f15d638](https://github.com/pinpong/react-native-google-maps-plus/commit/f15d6388911943b5abdfd9d5f61e3423af33f064))
27+
This package builds on native libraries for SVG rendering and Google Maps integration:
1828

19-
### 🛠️ Other changes
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)
2034

21-
* update to react-native 0.82.0 ([31d5ff5](https://github.com/pinpong/react-native-google-maps-plus/commit/31d5ff5157ec8357b9d699d4dcc09bda09e11afb))
22-
* update to react-native 0.82.0 ([8c8e8ae](https://github.com/pinpong/react-native-google-maps-plus/commit/8c8e8ae1c4fcf97e04059d873461f083e4c346cf))
35+
These are automatically linked when you install the package, but you may need to clean/rebuild your native projects after first install.
2336

24-
## [1.1.0-dev.2](https://github.com/pinpong/react-native-google-maps-plus/compare/v1.1.0-dev.1...v1.1.0-dev.2) (2025-10-07)
37+
## Setup API Key
2538

26-
### ✨ Features
39+
You will need a valid **Google Maps API Key** from the [Google Cloud Console](https://console.cloud.google.com/).
2740

28-
* optional marker svg ([d9bd19d](https://github.com/pinpong/react-native-google-maps-plus/commit/d9bd19d72916ec697acc9cecc58219a3df8c5d54))
29-
* optional marker svg ([#30](https://github.com/pinpong/react-native-google-maps-plus/issues/30)) ([5f8852c](https://github.com/pinpong/react-native-google-maps-plus/commit/5f8852c85741b75959f1d1e16240704cca042bb5))
41+
### Android
3042

31-
### 🐛 Bug Fixes
43+
It's recommend to use [Secrets Gradle Plugin](https://developers.google.com/maps/documentation/android-sdk/secrets-gradle-plugin) to securely manage your Google Maps API Key.
3244

33-
* add ios privacy manifest ([175bfdf](https://github.com/pinpong/react-native-google-maps-plus/commit/175bfdf0a932aa7dcc789ac9287eb2e91a9d0bf6))
34-
* add ios privacy manifest ([#31](https://github.com/pinpong/react-native-google-maps-plus/issues/31)) ([acc394e](https://github.com/pinpong/react-native-google-maps-plus/commit/acc394e49ca5bc9eaa5e67942fd2ed645dc2332c))
45+
---
3546

36-
## [1.1.0-dev.1](https://github.com/pinpong/react-native-google-maps-plus/compare/v1.0.3-dev.1...v1.1.0-dev.1) (2025-10-07)
47+
### iOS
3748

38-
### ✨ Features
49+
See the official [Google Maps iOS SDK configuration guide](https://developers.google.com/maps/documentation/ios-sdk/config#get-key) for more details.
3950

40-
* add map ui settings support ([7921f49](https://github.com/pinpong/react-native-google-maps-plus/commit/7921f4941f6656fe9c588d4f5e9d1f5594632598))
41-
* more map features ([796be0b](https://github.com/pinpong/react-native-google-maps-plus/commit/796be0b0976926f72b5d95b1ba5d2406988f4d9e))
51+
1. Create a `Secrets.xcconfig` file inside the **ios/** folder:
4252

43-
## [1.0.3-dev.1](https://github.com/pinpong/react-native-google-maps-plus/compare/v1.0.0-dev.2...v1.0.3-dev.1) (2025-10-06)
53+
```properties
54+
MAPS_API_KEY=YOUR_IOS_MAPS_API_KEY
55+
```
4456

45-
### 🐛 Bug Fixes
57+
Include it in your project configuration file:
4658

47-
* dev package version ([ab9b581](https://github.com/pinpong/react-native-google-maps-plus/commit/ab9b581e7f571d09ffbe597cf8834234b43ee3a1))
59+
```xcconfig
60+
#include? "Secrets.xcconfig"
61+
```
4862

49-
## [1.0.0-dev.2](https://github.com/pinpong/react-native-google-maps-plus/compare/v1.0.0-dev.1...v1.0.0-dev.2) (2025-10-06)
63+
2. Reference the API key in your **Info.plist**:
5064

51-
### 🐛 Bug Fixes
65+
```xml
66+
<key>MAPS_API_KEY</key>
67+
<string>$(MAPS_API_KEY)</string>
68+
```
5269

53-
* dev package version ([1317f23](https://github.com/pinpong/react-native-google-maps-plus/commit/1317f234d832a623c6e5dbce4dafd9154da73857))
70+
3. Provide the key programmatically in **AppDelegate.swift**:
5471

55-
## 1.0.0-dev.1 (2025-10-06)
72+
```swift
73+
import GoogleMaps
5674

57-
### ✨ Features
75+
@UIApplicationMain
76+
class AppDelegate: UIResponder, UIApplicationDelegate {
77+
func application(_ application: UIApplication,
78+
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
79+
if let apiKey = Bundle.main.object(forInfoDictionaryKey: "MAPS_API_KEY") as? String {
80+
GMSServices.provideAPIKey(apiKey)
81+
}
82+
return true
83+
}
84+
}
85+
```
5886

59-
* add mapCircle support ([8e32d14](https://github.com/pinpong/react-native-google-maps-plus/commit/8e32d14ae6d3e8254a46ffbb19fd3eb26575f46d))
60-
* add mapId support ([75f73fa](https://github.com/pinpong/react-native-google-maps-plus/commit/75f73fac949f8e2a5112e1456226e60de8540474))
61-
* add mapType ([754df51](https://github.com/pinpong/react-native-google-maps-plus/commit/754df51a8819ce5475d29262bbf95d8f0586393f))
62-
* add mapType ([300614f](https://github.com/pinpong/react-native-google-maps-plus/commit/300614f22419f166c2482025f66b761145e75394))
63-
* add mapType ([e32a3f5](https://github.com/pinpong/react-native-google-maps-plus/commit/e32a3f59fc1128b6a4c295d4e5d74d8afa7aa3cd))
87+
---
6488

65-
### 🐛 Bug Fixes
89+
## Usage
6690

67-
* build script ([98e194e](https://github.com/pinpong/react-native-google-maps-plus/commit/98e194e61d08af96ce75e156a6f5e3a5378c1b4c))
68-
* name conflict ([faf8d5e](https://github.com/pinpong/react-native-google-maps-plus/commit/faf8d5e7a0f79bfceb8454510e8e5ad3771fdbd2))
69-
* name conflict ([7217c11](https://github.com/pinpong/react-native-google-maps-plus/commit/7217c113bc2e5742bbc4b119eec7672c0b240cba))
70-
* react type ([36e22d5](https://github.com/pinpong/react-native-google-maps-plus/commit/36e22d59f0746ad9759799465eefed8f66a19049))
71-
* release ([afbb9cd](https://github.com/pinpong/react-native-google-maps-plus/commit/afbb9cdf0261c35fcd4c6423096fbecaa482f704))
72-
* set npm publish to true ([ed7544b](https://github.com/pinpong/react-native-google-maps-plus/commit/ed7544b5c0b39cec418a83842e215253ac7b6eef))
91+
Checkout the example app in the [example](./example) folder.
7392

74-
### 🔄 Code Refactors
93+
# Troubleshooting
7594

76-
* nitrogen-patch.js ([20fbb0d](https://github.com/pinpong/react-native-google-maps-plus/commit/20fbb0d7bea58bd54ade53119dc510d0ce9b18f9))
77-
* optional props ([9faa702](https://github.com/pinpong/react-native-google-maps-plus/commit/9faa7024c2bea0818734cb5831b93c4d360da0bd))
95+
## Android
7896

79-
### 📚 Documentation
97+
- **API key not found**
98+
Make sure `secrets.properties` exists under `android/` and contains your `MAPS_API_KEY`.
99+
Run `./gradlew clean` and rebuild.
80100

81-
* **readme:** update setup instructions ([9f88702](https://github.com/pinpong/react-native-google-maps-plus/commit/9f88702b187fde5c2e3d852f1d0aeeac48f8222b))
82-
* update README.md ([60936c9](https://github.com/pinpong/react-native-google-maps-plus/commit/60936c9351f95e590b779883d161aad1272f4a1b))
83-
* update README.md ([00d3f65](https://github.com/pinpong/react-native-google-maps-plus/commit/00d3f656679415a8105fff2ae52fd0bd3106e472))
84-
* update README.md ([7354d38](https://github.com/pinpong/react-native-google-maps-plus/commit/7354d3822298b75ad28024f5488cc25e70891b9c))
85-
* update README.md ([bb2bf47](https://github.com/pinpong/react-native-google-maps-plus/commit/bb2bf47d7b273e1dd02a44425713ebe7c9bfb612))
101+
## iOS
86102

87-
### 🛠️ Other changes
103+
- **`GMSServices must be configured before use`**
104+
Ensure your key is in `Info.plist` and/or provided via `GMSServices.provideAPIKey(...)` in `AppDelegate.swift`.
88105

89-
* add dev badge ([c8660b7](https://github.com/pinpong/react-native-google-maps-plus/commit/c8660b75581f447953fba6c9ec440146fcf8f48d))
90-
* format ([e67d939](https://github.com/pinpong/react-native-google-maps-plus/commit/e67d939e23a8db82432334c767f780ebe2320d6c))
91-
* initial commit ([d240a87](https://github.com/pinpong/react-native-google-maps-plus/commit/d240a870fa08e5a01ef8b3e981f7e78c7e113fef))
92-
* update .gitignore ([c15be5e](https://github.com/pinpong/react-native-google-maps-plus/commit/c15be5eb436d05f1f5a25fe7c8249e7c23eea3b2))
106+
- **Build fails with `Node.h` import error from SVGKit**
107+
SVGKit uses a header `Node.h` which can conflict with iOS system headers.
108+
You can patch it automatically in your **Podfile** inside the `post_install` hook:
109+
110+
```ruby
111+
post_install do |installer|
112+
react_native_post_install(
113+
installer,
114+
config[:reactNativePath],
115+
:mac_catalyst_enabled => false,
116+
)
117+
# Force iOS 16+ to avoid deployment target warnings
118+
installer.pods_project.targets.each do |target|
119+
target.build_configurations.each do |config|
120+
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '16.0'
121+
end
122+
end
123+
124+
# Patch SVGKit includes to avoid Node.h conflicts
125+
require 'fileutils'
126+
svgkit_path = File.join(installer.sandbox.pod_dir('SVGKit'), 'Source')
127+
Dir.glob(File.join(svgkit_path, '**', '*.{h,m}')).each do |file|
128+
FileUtils.chmod("u+w", file)
129+
text = File.read(file)
130+
new_contents = text.gsub('#import "Node.h"', '#import "SVGKit/Node.h"')
131+
File.open(file, 'w') { |f| f.write(new_contents) }
132+
end
133+
end
134+
```
135+
136+
After applying this, run:
137+
138+
```sh
139+
cd ios && pod install --repo-update
140+
```
141+
142+
- **Maps not rendering**
143+
- Check that your API key has **Maps SDK for Android/iOS** enabled in Google Cloud Console.
144+
- Make sure the key is not restricted to wrong bundle IDs or SHA1 fingerprints.
145+
146+
## Contributing
147+
148+
- [Development workflow](CONTRIBUTING.md#development-workflow)
149+
- [Sending a pull request](CONTRIBUTING.md#sending-a-pull-request)
150+
- [Code of conduct](CODE_OF_CONDUCT.md)
151+
152+
## License
153+
154+
MIT
155+
156+
---
157+
158+
Made with [create-react-native-library](https://github.com/callstack/react-native-builder-bob)

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "react-native-google-maps-plus",
3-
"version": "1.1.0-dev.4",
3+
"version": "1.0.2",
44
"description": "React-native wrapper for android & IOS google maps sdk",
55
"main": "./lib/module/index.js",
66
"module": "./lib/module/index.js",

0 commit comments

Comments
 (0)