This repository provides samples demonstrating use of the Google Maps Platform Maps SDK for iOS.
Sample code for the Places SDK for iOS, Maps 3D SDK for iOS and Navigation SDK for iOS can be found in the following repositories:
- Google Places SDK for iOS Samples
- Google Maps 3D SDK for iOS Samples
- Google Navigation SDK for iOS Samples
To run the samples, you will need:
- To sign up with Google Maps Platform
- A Google Maps Platform project with the relevant SDK enabled
- An API key associated with the project above ... follow the API key instructions if you're new to the process
- Swift or Objective-C
- Xcode 16+
- (Deployment target of) iOS 16+
The GoogleMaps-SwiftUI sub-directory contains sample code demonstrating how to integrate Google Maps SDK with SwiftUI applications. It provides a modern SwiftUI wrapper around GMSMapView with a declarative API for common map configurations and interactions. To use this project:
$ cd GoogleMaps-SwiftUI
$ open GoogleMaps-SwiftUI.xcodeproj
This project uses Swift Package Manager and requires the GoogleMaps package. The sample code demonstrates best practices for integrating Google Maps into SwiftUI-based iOS applications.
Add an API key as follows:
- Create a .xcconfig file at the project root level
- Add this line:
MAPS_API_KEY = your_api_key_here
- Replace
your_api_key_herewith your API key
The GoogleMaps-Swift and GoogleMaps sub-directories contain the sample code that is downloaded
when you run pod try GoogleMaps. To use this project:
For Swift (UIKit) samples:
$ cd GoogleMaps-Swift
$ pod install
$ open GoogleMapsSwiftDemos.xcworkspace
Add your API key to GoogleMapsSwiftDemos/Swift/SDKConstants.swift.
For Objective-C samples:
$ cd GoogleMaps
$ pod install
$ open GoogleMapsDemos.xcworkspace
Add your API Key to GoogleMapsDemos/SDKDemoAPIKey.h.
The tutorials sub-directory contains sample code that accompanies tutorials in the developer
documentation, such as
Adding a Map with a Marker,
and more. Follow the tutorials for a quick guide to using the SDK.
The snippets sub-directory contains code snippets that can be found in the developer documentation site.
Warning
The GoogleNavigation, GoogleNavigation-Swift, GooglePlaces, GooglePlaces-Swift and MapsAndPlacesDemo folders contain deprecated code samples and will be removed in the near future. For Navigation SDK and Places SDK please see the separate sample app repos listed above.
External contributions are not accepted for this repository. See contributing guide for more info.
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.
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 will apply to your use of the Services. Functionality varies by region. Learn more.
This sample is not a Google Maps Platform Core Service. Therefore, the Google Maps Platform Terms of Service (e.g. Technical Support Services, Service Level Agreements, and Deprecation Policy) do not apply to the code in this sample.
This sample is offered via an open source license. It is not governed by the Google Maps Platform Support Technical Support Services Guidelines, the SLA, or the Deprecation Policy. However, any Google Maps Platform services used by the sample remain subject to the Google Maps Platform Terms of Service.
If you find a bug, or have a feature request, please file an issue on GitHub. If you would like to get answers to technical questions from other Google Maps Platform developers, ask through one of our developer community channels. If you'd like to contribute, please check the contributing guide.
If you find a bug or have a feature request related to the SDK, you can file an issue at the Maps SDK for iOS Issue Tracker page:
You can also discuss these samples on our Discord server.