Google Maps Mobile SDK for Work anterior: iOS

Para clientes com uma licença anterior do Google Maps APIs for Work ou do Google Maps API for Business, o Google Maps SDK for iOS é comprado como parte do Google Maps Mobile SDK for Work. Esta seção da documentação descreve a configuração desse SDK.

Esta página é destinada apenas a clientes que têm uma licença antiga do Maps APIs for Work ou do Maps API for Business. Esta página não se aplica a clientes com o novo Google Maps APIs Premium Plan, disponibilizado em janeiro de 2016.

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. Baixe o SDK.
  2. Adicione a chave de API ao AppDelegate.
  3. Adicione um mapa.

Baixar 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 e adicioná-la ao aplicativo

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.

A chave de API identifica você como cliente do Google Maps Mobile SDK for Work e ativa o suporte e as cotas adquiridos para o aplicativo. Você pode gerar a chave de API em uma conta com o serviço do Google Maps Mobile SDK ativado registrando o nome do pacote do aplicativo.

Verifique se a conta está ativada para o serviço do

Google Maps Mobile SDK

A equipe do Google Cloud Support ativa o serviço do Google Maps Mobile SDK quando você se inscreve no Google Maps Mobile SDK for Work. O serviço é ativado em um novo projeto.

Observação: somente o proprietário inicial do projeto poderá ver o serviço Google Maps Mobile SDK. Para solicitar autorização para que mais proprietários do projeto vejam o serviço, registre um caso não técnico no Google Cloud Support Portal.

Verifique se a sua conta foi ativada para as APIs necessárias fazendo o seguinte:

  1. Acesse o Google API Console e faça login com a conta do Google.
  2. Selecione o projeto do Google Maps Mobile SDK for Work criado quando você comprou o Google Maps Mobile SDK for Work. O nome do projeto é iniciado por Google Maps APIs for Business or Google Maps for Work or Google Maps. Se você ainda não adquiriu o acesso ao SDK, [entre em contato com o departamento de vendas].
  3. No Dashboard, na lista de APIs, verifique se o Google Maps Mobile SDK está ativado.

Obter uma chave de API no Google API Console

Depois que o serviço do Google Maps Mobile SDK for Work for ativado para o projeto, será preciso gerar uma nova chave de API.

  1. Acesse a página de credenciais do Google API Console e faça login com a conta do Google.
  2. Selecione o projeto do Google Maps Mobile SDK for Work criado quando você comprou o Google Maps Mobile SDK for Work. O nome do projeto é iniciado por Google Maps APIs for Business or Google Maps for Work or Google Maps. Se você ainda não adquiriu o acesso ao SDK, [entre em contato com o departamento de vendas].
  3. Na lista de chaves de API, procure uma chave restrita ao iOS.
  4. Se o projeto ainda não tiver uma chave de API restrita ao iOS, crie uma agora selecionando Create credentials > API key.
  5. Na caixa de diálogo exibida, selecione Restrict key.
  6. Na seção Restrictions, selecione Aplicativos iOS e insira um ou mais identificadores de pacotes de aplicativos. Por exemplo: com.example.hellomap.
  7. Clique em Save.

    A nova chave de API para iOS é exibida na lista de chaves de API do projeto. Uma chave de API é uma string de caracteres, similar a:

    AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0

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

Google Places API for iOS

Fique à vontade para usar a Google Places API for iOS no projeto, mas essa API não faz parte da licença do Google Maps Mobile SDK for Work. Isso significa que a Google Places API for iOS não está coberta pelo suporte aprimorado ou ANS comprado com a licença do Google Maps Mobile SDK for Work e todo o uso é regido pelos termos de serviço da API gratuita e não será considerado na cota do Google Maps Mobile SDK for Work. Entre em contato com o seu representante Google para saber mais sobre como ativar a Google Places API for iOS.

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 Google Maps Mobile SDK for Work 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 Google Maps Mobile SDK for Work.

  Google Maps SDK for iOS padrão Google Maps Mobile SDK for Work
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 Mobile SDK for Work.

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.