Primeros pasos con el plan premium en iOS

Tu licencia del Google Maps APIs Premium Plan ofrece compatibilidad mejorada con el Google Maps SDK for iOS. En este documento, podrás obtener información sobre cómo crear una app de iOS que use el Google Maps SDK for iOS con el Premium Plan.

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. Instalar Xcode y el SDK.
  2. Obtener una clave de API.
  3. Agregar la clave de API a tu app.
  4. Agregar un mapa.

Instala Xcode y 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 API

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.

Haz clic en el siguiente botón, que te guiará por el proceso de obtención de una clave de API. Si tu proyecto ya tiene una clave de API con restricción de iOS, puedes usarla. Importante: En el menú desplegable de proyectos, debes seleccionar el proyecto que se creó para ti cuando compraste Google Maps APIs Premium Plan. El nombre del proyecto comienza con Google Maps APIs for Business or Google Maps for Work or Google Maps.

Obtén una clave

También puedes seguir estos pasos para obtener una clave de API:

  1. Ingresa a Google API Console.
  2. En el menú desplegable Project, selecciona el proyecto Google Maps Premium.*
  3. Haz clic en Continue.
  4. En la página de Credentials, obtén una clave de API.
    Nota: Si tienes una clave con restricciones de iOS, puedes usarla. Puedes usar la misma clave con cualquiera de tus aplicaciones de iOS dentro del mismo proyecto.
  5. En el cuadro de diálogo en el que aparece la clave de API, selecciona Restrict Key para agregar una restricción de iOS a la clave de API.
  6. En la sección Restrictions, selecciona iOS apps y luego ingresa el identificador de paquete de tu app. Por ejemplo: com.example.hellomap.
  7. Haz clic en Save.

    Tu nueva clave de API con restricción 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

También puedes buscar una clave existente en Google API Console.

Para obtener más información sobre el uso de la Google API Console, consulta Ayuda de la API Console.

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

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 Premium Plan, 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 Premium Plan.

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

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.