https://github.com/googlemaps/ios-combine
Combine extensions for Maps and Places SDKs for iOS
https://github.com/googlemaps/ios-combine
combine google-maps google-places ios language-extension swift
Last synced: 6 months ago
JSON representation
Combine extensions for Maps and Places SDKs for iOS
- Host: GitHub
- URL: https://github.com/googlemaps/ios-combine
- Owner: googlemaps
- License: apache-2.0
- Created: 2021-10-13T20:32:40.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-07-08T08:45:31.000Z (7 months ago)
- Last Synced: 2025-07-26T21:56:53.281Z (7 months ago)
- Topics: combine, google-maps, google-places, ios, language-extension, swift
- Language: Swift
- Homepage:
- Size: 60.5 KB
- Stars: 18
- Watchers: 14
- Forks: 6
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
README
[](https://github.com/googlemaps/ios-combine/actions/workflows/test.yml)
[](https://cocoapods.org/pods/GoogleMapsPlatformCombine)

GoogleMapsPlatformCombine
=======================
## Description
A Swift ilbrary containing Combine support, via `Publisher` and `Future`, for Google Maps Platform iOS SDKs.
## Example
### Example Usage
```swift
// Create a GMSMapViewPublisher
let publisher = GMSMapViewPublisher(mapView: mapView)
// Subscribe to events
publisher.didChangeCameraPosition.sink { cameraPosition in
print("Camera position at \(cameraPosition.target)")
}
```
### Example Project
To run the example project:
1. Run `pod install` from the Example/ directory.
2. Open the `GoogleMapsPlatformCombine.xcworkspace` file in Xcode
## Requirements
* Deployment Target of iOS 13.0+
## Installation
### [CocoaPods](https://cocoapods.org)
In your `Podfile`:
```ruby
pod 'GoogleMapsPlatformCombine', '0.3.1'
```
Subspecs are also available if you only need Combine support for a specific SDK:
```ruby
# For Combine support for the Maps SDK for iOS only
pod 'GoogleMapsPlatformCombine/Maps', '0.3.1'
# For Combine support for the Places SDK for iOS only
pod 'GoogleMapsPlatformCombine/Places', '0.3.1'
```
### [Swift Package Manager](https://github.com/apple/swift-package-manager)
Since the Maps/Places SDKs for iOS are not yet supported in SPM, if you install
this library via SPM you will need to also install Maps/Places using one of the
supported package managers. See installation options for [Maps][maps-install]
and [Places][places-install] for more information.
## Terms of Service
This sample uses Google Maps Platform services. Use of Google Maps Platform
services through this sample is subject to the
[Google Maps Platform Terms of Service](https://cloud.google.com/maps-platform/terms).
**European Economic Area (EEA) developers**
If your billing address is in the European Economic Area, effective on 8 July 2025, the [Google Maps Platform EEA Terms of Service](https://cloud.google.com/terms/maps-platform/eea) will apply to your use of the Services. Functionality varies by region. [Learn more](https://developers.google.com/maps/comms/eea/faq).
## Support
Encounter an issue while using this library?
If you find a bug or have a feature request, please file an [issue].
Or, if you'd like to contribute, please refer to our [contributing guide][contributing] and our [code of conduct].
You can also reach us on our [Discord channel].
For more information, check out the detailed guide on the
[Google Developers site][devsite-guide].
[maps-install]: https://developers.google.com/maps/documentation/ios-sdk/start#download-sdk
[places-install]: https://developers.google.com/maps/documentation/places/ios-sdk/start#step-2:-install-the-sdk
[contributing]: CONTRIBUTING.md
[code of conduct]: CODE_OF_CONDUCT.md
[Discord channel]: https://discord.gg/9fwRNWg
[issue]: https://github.com/googlemaps/ios-combine/issues
[devsite-guide]: https://developers.google.com/maps/documentation/ios-sdk/overview