Google Maps Mobile SDK for Work anterior: iOS

Para clientes con licencia anterior de Google Maps APIs for Work o Google Maps API for Business, la Google Maps SDK for iOS se adquiere como parte de la Google Maps Mobile SDK for Work. En esta sección de la documentación se describe la configuración para ese SDK.

Esta página está destinada únicamente a clientes con una licencia anterior de Maps APIs for Work o Maps API for Business. Esta página no está destinada a clientes con el nuevo Google Maps APIs Premium Plan, que se encuentra disponible desde enero de 2016.

Información general

Sigue las instrucciones de esta página para descargar el SDK, configurar tu proyecto y agregar un mapa. A continuación, se ofrece un resumen de los pasos que deben seguirse:

  1. Descargar el SDK.
  2. Agregar tu clave de API a tu AppDelegate.
  3. Agregar un mapa.

Descargar el SDK

Descargar la última versión de Xcode

Para crear un proyecto usando el Google Maps SDK for iOS, necesitas la versión 7.3 o una versión posterior de Xcode.

Instalar el SDK

Usar CocoaPods

La Google Maps SDK for iOS se encuentra disponible como pod de CocoaPods. CocoaPods es un administrador de dependencias de código abierto para proyectos de Swift y Objective-C de Cocoa.

Si todavía no dispones de la herramienta CocoaPods, instálala en macOS ejecutando el siguiente comando desde el terminal: Para obtener información detallada, consulta la guía de primeros pasos de CocoaPods.

sudo gem install cocoapods

Crea un Podfile para la Google Maps SDK for iOS y úsalo para instalar la API y sus dependencias:

  1. Si aún no tienes un proyecto de Xcode, créalo y guárdalo en tu máquina local. (Si no has realizado desarrollos de iOS antes, crea una Aplicación de vista única).
  2. Crea un archivo llamado Podfile en el directorio de tu proyecto. Este archivo define las dependencias de tu proyecto.
  3. Edita el Podfile y agrega tus dependencias. A continuación, te mostramos un ejemplo en el que se incluyen las dependencias que necesitas para Google Maps SDK for iOS y Places API for iOS (opcional):
    source 'https://github.com/CocoaPods/Specs.git'
    target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
      pod 'GoogleMaps'
      pod 'GooglePlaces'
    end

    Los clientes del plan premium también deben agregar pod 'GoogleMaps/M4B'.

  4. Guarda el Podfile.
  5. Abre un terminal y dirígete al directorio que contiene el Podfile:

    cd <path-to-project>
  6. Ejecuta el comando pod install. Con esto se instalarán las API especificadas en el Podfile junto con las dependencias que contengan.

    pod install
  7. Cierra Xcode y luego abre (con doble clic) el archivo .xcworkspace de tu proyecto para ejecutar Xcode. A partir de este punto, debes usar el archivo .xcworkspace para abrir el proyecto.

Instalación manual

En esta guía, se muestra la manera de agregar manualmente el framework de GoogleMaps a tu proyecto y configurar los ajustes de desarrollo en Xcode.

  1. Descarga los archivos de origen del SDK: GoogleMaps-2.0.1.
  2. Desempaqueta los archivos de origen.
  3. Ejecuta Xcode y abre un proyecto existente o crea uno nuevo. Si recién comienzas a usar iOS, crea una Aplicación de vista única, inhabilita Use Storyboards y habilita Use Automatic Reference Counting.
  4. Arrastra los siguientes paquetes a tu proyecto (selecciona Copy items if needed cuando aparezca el mensaje):
    • Subspecs/Base/Frameworks/GoogleMapsBase.framework
    • Subspecs/Maps/Frameworks/GoogleMaps.framework
    • Subspecs/Maps/Frameworks/GoogleMapsCore.framework

    Los clientes del plan premium también deben incluir Subspecs/M4B/Frameworks/GoogleMapsM4B.framework.

  5. En tu proyecto, haz clic con el botón secundario en GoogleMaps.framework y selecciona Show In Finder.
  6. Arrastra GoogleMaps.bundle desde la carpeta Resources y colócalo en tu proyecto. Cuando aparezca el mensaje, asegúrate de que la opción Copy items into destination group's folder no esté seleccionada.
  7. Selecciona tu proyecto en el navegador de proyectos y elige el destino de la aplicación.
  8. Abre la pestaña Build Phases y agrega los siguientes frameworks en Link Binary with Libraries:
    • GoogleMapsBase.framework
    • GoogleMaps.framework
    • GoogleMapsCore.framework
    • GoogleMapsM4B.framework (solo clientes del plan 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. Elige tu proyecto, en lugar de un destino específico, y abre la pestaña Build Settings. En la sección Other Linker Flags, agrega -ObjC. Si esta configuración no es visible, cambia el filtro de la barra Build Settings de Basic a All.

  10. Para instalar Places API for iOS, consulta Primeros pasos con Places API for iOS.

Obtener una clave de la API y agregarla a tu app

Para autenticar tu app en el Google Maps SDK for iOS, necesitas una clave de API restringida a un identificador de paquete específico para la app. Esta combinación crea una clave de API con restricción de iOS.

Tu clave de API te identifica como un cliente de Google Maps Mobile SDK for Work, y habilita la asistencia y cuota adquirida para tu aplicación. Puedes generar tu clave de API en una cuenta que tenga habilitado el servicio Google Maps Mobile SDK registrando el nombre del paquete de tu aplicación.

Verifica que tu cuenta esté habilitada para el servicio de

Google Maps Mobile SDK

El equipo Google Cloud Support habilita el servicio Google Maps Mobile SDK cuando te registras para el Google Maps Mobile SDK for Work. El servicio se habilita en un proyecto nuevo.

Nota: Solo el propietario inicial del proyecto podrá ver el servicio de Google Maps Mobile SDK. Si deseas solicitar una autorización para que los propietarios adicionales del proyecto puedan ver el servicio, presenta un caso no técnico en el Google Cloud Support Portal.

Verifica que tu cuenta se haya habilitado para las API necesarias de la siguiente manera:

  1. Visita la Google API Console e inicia sesión con tu cuenta de Google.
  2. Selecciona el proyecto Google Maps Mobile SDK for Work creado al ordenar el Google Maps Mobile SDK for Work. El nombre del proyecto comienza con Google Maps APIs for Business or Google Maps for Work or Google Maps. Si aún no adquiriste acceso al SDK, comunícate con el sector de [ventas].
  3. En la lista de API del Panel de control, verifica que esté habilitado el Google Maps Mobile SDK**.

Obtén una clave de API a través de la Google API Console

Una vez que el servicio Google Maps Mobile SDK for Work esté habilitado para tu proyecto, debes generar una clave de API nueva.

  1. Dirígete a la página Credentials del Google API Console e inicia sesión con tu cuenta de Google.
  2. Selecciona el proyecto Google Maps Mobile SDK for Work creado al ordenar el Google Maps Mobile SDK for Work. El nombre del proyecto comienza con Google Maps APIs for Business or Google Maps for Work or Google Maps. Si aún no adquiriste acceso al SDK, comunícate con el sector de [ventas].
  3. En la lista de claves de API, busca una clave con una restricción de iOS.
  4. Si tu proyecto ya no tiene una clave de API con restricción de iOS, crea una seleccionando Create credentials y API key.
  5. En el diálogo resultante, selecciona Restrict key.
  6. En la sección Restrictions, selecciona iOS apps y luego ingresa uno o más identificadores de paquete de app. Por ejemplo: com.example.hellomap.
  7. Haz clic en Save.

    Tu nueva clave de la API de iOS aparece en la lista de claves de API de tu proyecto. Una clave de API es una cadena de caracteres similar a la siguiente:

    AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0

Agregar la clave de la API a tu app

Swift

Agrega tu clave de API a tu AppDelegate.swift de la siguiente manera:

  1. Agrega la siguiente instrucción de importación:
    import GoogleMaps
  2. Agrega lo siguiente a tu método application(_:didFinishLaunchingWithOptions:) y reemplaza YOUR_API_KEY por tu clave de API:
    GMSServices.provideAPIKey("YOUR_API_KEY")
  3. Si también usas Places API, vuelve a agregar tu clave, como se muestra a continuación:
    GMSPlacesClient.provideAPIKey("YOUR_API_KEY")

Objective-C

Agrega tu clave de API a tu AppDelegate.m de la siguiente manera:

  1. Agrega la siguiente instrucción de importación:
    @import GoogleMaps;
  2. Agrega lo siguiente a tu método application:didFinishLaunchingWithOptions: y reemplaza YOUR_API_KEY por tu clave de API:
    [GMSServices provideAPIKey:@"YOUR_API_KEY"];
  3. Si también usas Places API, vuelve a agregar tu clave, como se muestra a continuación:
    [GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];

Agregar un mapa

En el siguiente código, se demuestra la manera de agregar un mapa simple a un objeto ViewController existente. Si creas una nueva aplicación, primero sigue las instrucciones de instalación anteriores y crea una nueva Single View Application; inhabilita Use Storyboards y habilita Use Automatic Reference Counting (ARC).

A continuación, agrega o actualiza algunos métodos en el ViewController predeterminado de tu aplicación para crear e inicializar una instancia 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

Ejecuta tu aplicación. Podrás ver un mapa con un solo marcador centrado sobre Sídney, Australia. Si ves el marcador, pero el mapa no es visible, confirma que hayas proporcionado tu clave de API.

Más información

Google Places API for iOS

Ahora puedes usar la Google Places API for iOS en tu proyecto, pero esta no se contempla en tu licencia del Google Maps Mobile SDK for Work. Esto significa que la Google Places API for iOS no tiene la cobertura de la asistencia mejorada o el SLA adquirido con la licencia de Google Maps Mobile SDK for Work, y que cualquier uso está regido por las Condiciones de servicio de la API gratuita y no se considerará en tu cuota del Google Maps Mobile SDK for Work. Comunícate con tu representante de Google para obtener más información sobre la habilitación de Google Places API for iOS.

Requisitos de atribuciones

Debes incluir el texto de atribución como parte de una sección de avisos legales en tu aplicación. Se recomienda incluir avisos legales como elementos de menú independientes o como parte de un elemento de menú “Acerca de”.

Puedes acceder al texto de atribución llamando a GMSServices.openSourceLicenseInfo().

Plataformas admitidas

Para desarrollar una aplicación de iOS con el Google Maps SDK for iOS distribuido a través del Google Maps Mobile SDK for Work, se necesita lo siguiente:

  • Xcode 7.3 o versiones posteriores.
  • iOS SDK 8.0 o versiones posteriores.

Las aplicaciones desarrolladas con este SDK funcionarán en iOS 7.0 y versiones posteriores.

Comparar versiones

En la siguiente tabla se describen las diferencias de claves entre el uso del Google Maps SDK for iOS estándar y el uso del SDK con el Google Maps Mobile SDK for Work.

  Google Maps SDK for iOS estándar Google Maps Mobile SDK for Work
Canales de asistencia Asistencia de la comunidad. Acceso a la asistencia premium.
Condiciones Sujeto a las Condiciones de servicio de las Google Maps API y Google Earth API. Sujeto a Google Maps Mobile SDK for Work las condiciones de uso.

Documentación

La principal fuente de información sobre el Google Maps SDK for iOS es la documentación de referencia y del desarrollador disponible en otras partes de nuestro sitio.