Primeiros passos com o Plano Premium no iOS

Sua licença do Google Maps APIs Premium Plan oferece suporte avançado para o Google Maps SDK for iOS. Este documento ensina a criar um aplicativo iOS que use o Google Maps SDK for iOS com o Premium Plan.

Visão geral

Siga as instruções desta página para baixar o SDK, configurar o projeto e adicionar um mapa. Veja a seguir um resumo das etapas necessárias:

  1. Instale o Xcode e o SDK.
  2. Obtenha uma chave de API.
  3. Adicione a chave de API ao aplicativo.
  4. Adicione um mapa.

Instalar o Xcode e o SDK

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.

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:

  1. 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)
  2. Crie um arquivo chamado Podfile no diretório do projeto. Esse arquivo define as dependências do projeto.
  3. Edite o Podfile e 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”.

  4. Salve o Podfile.
  5. Abra um terminal e acesse o diretório que contém o Podfile:

    cd <path-to-project>
  6. Execute o comando pod install. Assim, você instalará as APIs especificadas no Podfile junto com as respectivas dependências.

    pod install
  7. Feche o Xcode e clique duas vezes para abrir o arquivo .xcworkspace do projeto e iniciar o Xcode. A partir desse momento, será preciso usar o arquivo .xcworkspace para 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.

  1. Baixe os arquivos de origem do SDK: GoogleMaps-2.0.1.
  2. Descompacte os arquivos de origem.
  3. 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.
  4. 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.framework
    • Subspecs/Maps/Frameworks/GoogleMaps.framework
    • Subspecs/Maps/Frameworks/GoogleMapsCore.framework

    Os clientes do Plano premium também deve incluir Subspecs/M4B/Frameworks/GoogleMapsM4B.framework.

  5. Clique com o botão direito em GoogleMaps.framework no projeto e selecione Show In Finder.
  6. Arraste GoogleMaps.bundle da pasta Resources para 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.
  7. Selecione o projeto no Project Navigator e escolha o local de destino do aplicativo.
  8. Abra a guia Build Phases e, dentro de Link Binary with Libraries, adicione os seguintes frameworks:
    • GoogleMapsBase.framework
    • GoogleMaps.framework
    • GoogleMapsCore.framework
    • GoogleMapsM4B.framework (apenas clientes do Plano premium)
    • Accelerate.framework
    • CoreData.framework
    • CoreGraphics.framework
    • CoreLocation.framework
    • CoreText.framework
    • GLKit.framework
    • ImageIO.framework
    • libc++.tbd
    • libz.tbd
    • OpenGLES.framework
    • QuartzCore.framework
    • SystemConfiguration.framework
    • UIKit.framework
  9. 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.

  10. Para instalar a Places API for iOS, dê uma olhada em Primeiros passos com a Places API for iOS.

Obter uma chave de API

Para autenticar o aplicativo com o Google Maps SDK for iOS, você precisa de uma chave de API restrita a um identificador de pacote de aplicativo específico. Essa combinação cria uma chave de API restrita ao iOS.

Clique no botão abaixo para acessar um guia do processo de obtenção de uma chave de API. Se o seu projeto já tem uma chave de API restrita ao iOS, use-a. Importante: no menu suspenso Project, você deve selecionar o projeto criado quando comprou o Google Maps APIs Premium Plan. O nome do projeto é iniciado por Google Maps APIs for Business or Google Maps for Work or Google Maps.

Obter uma chave

Como alternativa, siga as etapas a seguir para obter uma chave de API:

  1. Acesse o Google API Console.
  2. No menu suspenso Project, selecione o projeto do Google Maps Premium.*
  3. Clique em Continue.
  4. 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.
  5. Na caixa de diálogo que exibe a chave de API, selecione Restrict key para adicionar uma restrição para iOS à chave de API.
  6. Na seção Restrictions, selecione iOS apps e digite o identificador geral do seu aplicativo. Por exemplo: com.example.hellomap.
  7. 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.

Adicionar a chave de API ao aplicativo

Swift

Adicione a chave de API a AppDelegate.swift da seguinte maneira:

  1. Adicione a seguinte declaração import:
    import GoogleMaps
  2. Adicione o seguinte ao método application(_:didFinishLaunchingWithOptions:), substituindo YOUR_API_KEY por sua chave de API:
    GMSServices.provideAPIKey("YOUR_API_KEY")
  3. 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:

  1. Adicione a seguinte declaração import:
    @import GoogleMaps;
  2. Adicione o seguinte ao método application:didFinishLaunchingWithOptions:, substituindo YOUR_API_KEY por sua chave de API:
    [GMSServices provideAPIKey:@"YOUR_API_KEY"];
  3. Se você também usa a Places API, adicione a chave novamente da seguinte forma:
    [GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];

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.

Mais informações

Requisitos de atribuição

Você deve incluir o texto de atribuição como parte de uma seção de notificações legais no aplicativo. O Google recomenda incluir as notificações legais como um item de menu independente ou como parte do menu "Sobre".

O texto de atribuição pode ser obtido chamando GMSServices.openSourceLicenseInfo().

Plataformas compatíveis

O desenvolvimento de um aplicativo iOS com o Google Maps SDK for iOS distribuído com o Premium Plan exige:

  • Xcode 7.3 ou posterior.
  • iOS SDK 8.0 ou posterior.

Os aplicativos desenvolvidos com esse SDK funcionarão no iOS 7.0 ou posterior.

Comparar versões

A tabela a seguir descreve as principais diferenças entre o uso do Google Maps SDK for iOS padrão e o uso do SDK com o Premium Plan.

  Google Maps SDK for iOS padrão Premium Plan
Canais de suporte Suporte da comunidade. Acesso ao suporte premium.
Termos Sujeito aos termos de serviço das Google Maps/Google Earth APIs. Sujeito aos termos de uso do Google Maps APIs Premium Plan .

Documentação

A principal fonte de informações sobre o Google Maps SDK for iOS é a documentação do desenvolvedor e de referência disponíveis em outros locais no nosso site.