Antes de começar a trabalhar com o Google Maps no iOS, é necessário baixar o Google Maps SDK for iOS e ter uma chave de API.
As notas da versão completas estão disponíveis para cada versão.
Se você estiver usando o Google Maps SDK for iOS com uma licença do Google Maps APIs Premium Plan, consulte o guia de primeiros passos do [Premium Plan.[premium-start]
Etapa 1: obter a versão mais recente do Xcode
Para compilar um projeto usando o Google Maps SDK for iOS, é preciso usar a versão 7.3 ou posterior do Xcode.
Etapa 2: instalar o SDK
Usar CocoaPods
A Google Maps SDK for iOS está disponível como um pod do CocoaPods. O CocoaPods é um gerenciador de dependências de código aberto para projetos Cocoa em Swift e Objective-C.
Se você ainda não tem essa ferramenta, instale-a no macOS executando o seguinte comando no terminal. Para saber mais, consulte o guia de primeiros passos do CocoaPods.
sudo gem install cocoapods
Crie um Podfile para a Google Maps SDK for iOS e use-o para instalar a API e suas dependências:
- Se ainda não tiver um projeto Xcode, crie um agora e salve-o no computador local. (Se você tem pouca experiência com desenvolvimento para iOS, crie um Single View Application)
- Crie um arquivo chamado
Podfileno diretório do projeto. Esse arquivo define as dependências do projeto. - Edite o
Podfilee adicione suas dependências. Veja um exemplo que contém as dependências necessárias para o Google Maps SDK for iOS e a Places API for iOS (opcional):source 'https://github.com/CocoaPods/Specs.git' target 'YOUR_APPLICATION_TARGET_NAME_HERE' do pod 'GoogleMaps' pod 'GooglePlaces' end
Os clientes do Plano premium também devem adicionar o
pod “GoogleMaps/M4B”. - Salve o
Podfile. Abra um terminal e acesse o diretório que contém o
Podfile:cd <path-to-project>
Execute o comando
pod install. Assim, você instalará as APIs especificadas noPodfilejunto com as respectivas dependências.pod install
Feche o Xcode e clique duas vezes para abrir o arquivo
.xcworkspacedo projeto e iniciar o Xcode. A partir desse momento, será preciso usar o arquivo.xcworkspacepara abrir o projeto.
Instalar manualmente
Este guia mostra como adicionar a estrutura GoogleMaps ao projeto e ajustar as configurações de compilação no Xcode.
- Baixe os arquivos de origem do SDK: GoogleMaps-2.0.1.
- Descompacte os arquivos de origem.
- Inicialize o Xcode e abra ou crie um projeto. Se você tem pouca experiência com o iOS, crie um Single View Application, desative Use Storyboards e ative Use Automatic Reference Counting.
- Arraste os pacotes a seguir para o seu projeto (quando aparecer a tela de confirmação, selecione Copy items if needed):
Subspecs/Base/Frameworks/GoogleMapsBase.frameworkSubspecs/Maps/Frameworks/GoogleMaps.frameworkSubspecs/Maps/Frameworks/GoogleMapsCore.framework
Os clientes do Plano premium também deve incluir
Subspecs/M4B/Frameworks/GoogleMapsM4B.framework. - Clique com o botão direito em
GoogleMaps.frameworkno projeto e selecione Show In Finder. - Arraste
GoogleMaps.bundleda pastaResourcespara o seu projeto. Quando aparecer a tela de confirmação, certifique-se de que a opção Copy items into destination group’s folder não esteja selecionada. - Selecione o projeto no Project Navigator e escolha o local de destino do aplicativo.
- Abra a guia Build Phases e, dentro de Link Binary with Libraries, adicione os seguintes frameworks:
GoogleMapsBase.frameworkGoogleMaps.frameworkGoogleMapsCore.frameworkGoogleMapsM4B.framework(apenas clientes do Plano premium)Accelerate.frameworkCoreData.frameworkCoreGraphics.frameworkCoreLocation.frameworkCoreText.frameworkGLKit.frameworkImageIO.frameworklibc++.tbdlibz.tbdOpenGLES.frameworkQuartzCore.frameworkSystemConfiguration.frameworkUIKit.framework
Escolha o seu projeto, em vez de um destino específico, e abra a guia Build Settings. Na seção Other Linker Flags, adicione
-ObjC. Se essas configurações não estiverem visíveis, altere o filtro da barra Build Settings de Basic para All.Para instalar a Places API for iOS, dê uma olhada em Primeiros passos com a Places API for iOS.
Etapa 4: obter uma chave de API
Clique no botão abaixo para acessar um guia do processo de ativação do Google Maps SDK for iOS e obtenção de uma chave de API. Se o seu projeto já tem uma chave de API restrita ao iOS, você use-a.
Obter uma chaveComo alternativa, siga as etapas a seguir para obter uma chave de API:
- Acesse o Google API Console.
- Crie ou selecione um projeto.
- Clique em Continue para ativar o Google Maps SDK for iOS.
- Na página Credentials, obtenha uma chave de API.
Observação: Se você tem uma chave restrita ao iOS, use-a. É possível usar a mesma chave com todos os aplicativos iOS dentro do mesmo projeto. - Na caixa de diálogo que exibe a chave de API, selecione Restrict key para adicionar uma restrição para iOS à chave de API.
- Na seção Restrictions, selecione iOS apps e digite o identificador geral do seu aplicativo. Por exemplo:
com.example.hellomap. - Clique em Save.
A nova chave de API restrita ao iOS aparece na lista de chaves de API do projeto. Uma chave de API é uma string de caracteres, similar a:
AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0
Também é possível procurar uma chave existente no Google API Console.
Para saber mais sobre como usar o Google API Console, consulte a Ajuda do API Console.
Etapa 5: adicionar a chave de API ao aplicativo
Swift
Adicione a chave de API a AppDelegate.swift da seguinte maneira:
- Adicione a seguinte declaração import:
import GoogleMaps
- Adicione o seguinte ao método
application(_:didFinishLaunchingWithOptions:), substituindo YOUR_API_KEY por sua chave de API:GMSServices.provideAPIKey("YOUR_API_KEY") - Se você também usa a Places API, adicione a chave novamente da seguinte forma:
GMSPlacesClient.provideAPIKey("YOUR_API_KEY")
Objective-C
Adicione a chave de API a AppDelegate.m da seguinte maneira:
- Adicione a seguinte declaração import:
@import GoogleMaps;
- Adicione o seguinte ao método
application:didFinishLaunchingWithOptions:, substituindo YOUR_API_KEY por sua chave de API:[GMSServices provideAPIKey:@"YOUR_API_KEY"];
- Se você também usa a Places API, adicione a chave novamente da seguinte forma:
[GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];
Etapa 6: adicionar um mapa
O código abaixo demonstra como adicionar um mapa simples a um ViewController. Se estiver criando um novo mapa, comece seguindo as instruções de instalação acima e crie um novo Single View Application, desativando Use Storyboards, mas ativando Use Automatic Reference Counting (ARC).
Agora, adicione ou atualize alguns métodos no ViewController padrão do seu aplicativo para criar e inicializar uma instância de GMSMapView.
Swift
import UIKit
import GoogleMaps
class YourViewController: UIViewController {
// You don't need to modify the default init(nibName:bundle:) method.
override func loadView() {
// Create a GMSCameraPosition that tells the map to display the
// coordinate -33.86,151.20 at zoom level 6.
let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0)
let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
mapView.isMyLocationEnabled = true
view = mapView
// Creates a marker in the center of the map.
let marker = GMSMarker()
marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20)
marker.title = "Sydney"
marker.snippet = "Australia"
marker.map = mapView
}
}
Objective-C
#import "YourViewController.h"
#import <GoogleMaps/GoogleMaps.h>
@implementation YourViewController
// You don't need to modify the default initWithNibName:bundle: method.
- (void)loadView {
// Create a GMSCameraPosition that tells the map to display the
// coordinate -33.86,151.20 at zoom level 6.
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86
longitude:151.20
zoom:6];
GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
mapView.myLocationEnabled = YES;
self.view = mapView;
// Creates a marker in the center of the map.
GMSMarker *marker = [[GMSMarker alloc] init];
marker.position = CLLocationCoordinate2DMake(-33.86, 151.20);
marker.title = @"Sydney";
marker.snippet = @"Australia";
marker.map = mapView;
}
@end
Execute o aplicativo. Você deve ver um mapa com um marcador centralizado em Sydney, Austrália. Se o marcador for exibido, mas o mapa, não, verifique se você forneceu a chave de API.
Etapa 7: declarar os esquemas de URL usados pela API
A partir do iOS 9 e do Xcode 7, os aplicativos precisam declarar os esquemas de URL que pretendem
abrir, especificando-os no arquivo Info.plist do aplicativo. O
Google Maps SDK for iOS abre o aplicativo para dispositivos móveis do Google Maps quando o usuário
clica no logotipo do Google no mapa. Portanto, o aplicativo precisa declarar os
esquemas de URL relevantes.
Para declarar os esquemas de URL usados pelo Google Maps SDK for iOS, adicione as
linhas a seguir ao Info.plist:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>googlechromes</string>
<string>comgooglemaps</string>
</array>
A captura de tela abaixo mostra a configuração na interface do usuário do Xcode:

Sem a declaração acima, os erros a seguir ocorrem quando o usuário toca no logotipo do Google no mapa:
-canOpenURL: failed for URL: "comgooglemaps://" - error: "This app is not allowed to query for scheme comgooglemaps"
-canOpenURL: failed for URL: "googlechromes://" - error: "This app is not allowed to query for scheme googlechromes"
Para eliminar esses erros, adicione a declaração ao Info.plist como descrito acima.
Experimentar o projeto de demonstração do Google Maps SDK
Experimente as demonstrações do SDK usando pod try GoogleMaps. Para saber mais,
consulte o guia de exemplos de código.
Atualizar de uma versão anterior
Siga estas instruções para atualizar um projeto existente para a versão mais recente do Google Maps SDK for iOS.
Observação: As versões 1.9.2 e anteriores da Google Maps SDK for iOS eram disponibilizadas como um arquivo zip contendo uma estrutura de trabalho estática. Além disso, existia a opção de instalar versões recentes de um pod do CocoaPods. A partir da versão 1.10.0, o Google Maps SDK for iOS está disponível para instalação apenas por meio do CocoaPods.
Se você já instalou o Google Maps SDK for iOS de um arquivo zip contendo uma estrutura de trabalho estática:
- Remova todas as referências ao framework de trabalho anterior do projeto Xcode.
- Siga as instruções da observação acima para instalar o Google Maps SDK for iOS usando o CocoaPods.
- Faça as alterações necessárias para o upgrade. Consulte as notas de versão para obter uma lista das alterações em cada versão.
- Limpe e recompile o projeto selecionando Product > Clean e Product > Build.
Se você já instalou o Google Maps SDK for iOS do
pod do Google-Maps-iOS-SDK:
- Altere o nome do pod para
GoogleMaps. - Execute
pod install. - Faça as alterações necessárias para o upgrade. Consulte as notas de versão para obter uma lista das alterações em cada versão.
- Limpe e recompile o projeto selecionando Product > Clean e Product > Build.
Se você já instalou o Google Maps SDK for iOS do
pod do GoogleMaps:
- Verifique se há qualquer limitador de versão no
Podfilee não deixe de remover ou atualizar a versão para garantir a obtenção da versão necessária. Consulte as notas de versão para obter uma lista dos números de versão. - Execute
pod update. - Faça as alterações necessárias para o upgrade. Consulte as notas de versão para obter uma lista das alterações em cada versão.
- Limpe e recompile o projeto selecionando Product > Clean e Product > Build.
