Para comenzar a travajar con Google Maps en iOS, debes descargar el Google Maps SDK for iOS y asegurarte de contar con la claves de API.
Hay disponibles notas de la versión para cada versión.
Si usas el Google Maps SDK for iOS con una licencia de Google Maps APIs Premium Plan, consulta la [guía de inicio rápido de Premium Plan .
Paso 1: Descarga 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.
Paso 2: Instala la API
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:
- 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).
- Crea un archivo llamado
Podfileen el directorio de tu proyecto. Este archivo define las dependencias de tu proyecto. - Edita el
Podfiley 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'. - Guarda el
Podfile. Abre un terminal y dirígete al directorio que contiene el
Podfile:cd <path-to-project>
Ejecuta el comando
pod install. Con esto se instalarán las API especificadas en elPodfilejunto con las dependencias que contengan.pod install
Cierra Xcode y luego abre (con doble clic) el archivo
.xcworkspacede tu proyecto para ejecutar Xcode. A partir de este punto, debes usar el archivo.xcworkspacepara 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.
- Descarga los archivos de origen del SDK: GoogleMaps-2.0.1.
- Desempaqueta los archivos de origen.
- 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.
- Arrastra los siguientes paquetes a tu proyecto (selecciona Copy items if needed cuando aparezca el mensaje):
Subspecs/Base/Frameworks/GoogleMapsBase.frameworkSubspecs/Maps/Frameworks/GoogleMaps.frameworkSubspecs/Maps/Frameworks/GoogleMapsCore.framework
Los clientes del plan premium también deben incluir
Subspecs/M4B/Frameworks/GoogleMapsM4B.framework. - En tu proyecto, haz clic con el botón secundario en
GoogleMaps.frameworky selecciona Show In Finder. - Arrastra
GoogleMaps.bundledesde la carpetaResourcesy 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. - Selecciona tu proyecto en el navegador de proyectos y elige el destino de la aplicación.
- Abre la pestaña Build Phases y agrega los siguientes frameworks en Link Binary with Libraries:
GoogleMapsBase.frameworkGoogleMaps.frameworkGoogleMapsCore.frameworkGoogleMapsM4B.framework(solo clientes del plan premium)Accelerate.frameworkCoreData.frameworkCoreGraphics.frameworkCoreLocation.frameworkCoreText.frameworkGLKit.frameworkImageIO.frameworklibc++.tbdlibz.tbdOpenGLES.frameworkQuartzCore.frameworkSystemConfiguration.frameworkUIKit.framework
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.Para instalar Places API for iOS, consulta Primeros pasos con Places API for iOS.
Paso 4: Obtener una clave de API
Haz clic en el siguiente botón que te guiará por el proceso de habilitación de Google Maps SDK for iOS y obtención de una clave de API. Si tu proyecto ya tiene una clave de API con restricción de iOS, puedes usarla.
Obtén una claveTambién puedes seguir estos pasos para obtener una clave de API:
- Ingresa a Google API Console.
- Crea o selecciona un proyecto.
- Haz clic en Continue para habilitar el Google Maps SDK for iOS.
- 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. - 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.
- En la sección Restrictions, selecciona iOS apps y luego ingresa el identificador de paquete de tu app. Por ejemplo:
com.example.hellomap. - 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.
Paso 5: Agrega la clave de la API a tu aplicación
Swift
Agrega tu clave de API a tu AppDelegate.swift de la siguiente manera:
- Agrega la siguiente instrucción de importación:
import GoogleMaps
- Agrega lo siguiente a tu método
application(_:didFinishLaunchingWithOptions:)y reemplaza YOUR_API_KEY por tu clave de API:GMSServices.provideAPIKey("YOUR_API_KEY") - 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:
- Agrega la siguiente instrucción de importación:
@import GoogleMaps;
- Agrega lo siguiente a tu método
application:didFinishLaunchingWithOptions:y reemplaza YOUR_API_KEY por tu clave de API:[GMSServices provideAPIKey:@"YOUR_API_KEY"];
- Si también usas Places API, vuelve a agregar tu clave, como se muestra a continuación:
[GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];
Paso 6: Agrega 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.
Paso 7: Declara los esquemas de URL aplicados por la API
En iOS 9 y Xcode 7, las apps deben declarar los esquemas URL que intenten
abrir especificando los esquemas del archivo Info.plist de la app. El
Google Maps SDK for iOS abre la app móvil de Google Maps cuando el usuario hace
clic en el logotipo de Google en el mapa. Por lo tanto, tu app debe declarar los esquemas
de URL correspondientes.
Para declarar los esquemas de URL aplicados por el Google Maps SDK for iOS, agrega las
siguientes líneas a tu archivo Info.plist:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>googlechromes</string>
<string>comgooglemaps</string>
</array>
En la captura de pantalla siguiente se muestra la configuración de la interfaz de usuario de Xcode:

Sin la declaración anterior, se producen los siguientes errores cuando el usuario toca el logotipo de Google en el 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 estos errores, agrega la declaración a tu archivo Info.plist según la descripción anterior.
Experimentar con el proyecto de demostración del Google Maps SDK
Prueba las demostraciones de SDK usando pod try GoogleMaps. Para obtener información más detallada,
consulta la guía de ejemplos de código.
Realizar una actualización de una versión anterior
Sigue las instrucciones que se brindan a continuación para actualizar un proyecto existente a la versión más reciente del Google Maps SDK for iOS.
Nota: La versión 1.9.2 y las anteriores del Google Maps SDK for iOS se hallaban disponibles como un archivo zip que contenía un marco estático. También se ofrecía la opción de instalar versiones recientes de un pod de CocoaPods. A partir de la versión 1.10.0, el Google Maps SDK for iOS se encuentra disponible para la instalación únicamente a través de CocoaPods.
Si ya instalaste el Google Maps SDK for iOS desde un archivo zip que contenía un marco estático:
- Elimina todas las referencias al framework anterior de tu proyecto de Xcode.
- Sigue las instrucciones de la nota anterior para instalar el Google Maps SDK for iOS usando CocoaPods.
- Realiza los cambios que sean necesarios como resultado de la actualización. Consulta las notas de la versión para hallar una lista con los cambios de cada versión.
- Borra y vuelve a crear tu proyecto seleccionando Product > Clean y luego Product > Build.
Si ya instalaste el Google Maps SDK for iOS desde el pod de
Google-Maps-iOS-SDK:
- Cambia el nombre de tu pod a
GoogleMaps. - Ejecuta
pod install. - Realiza los cambios que sean necesarios como resultado de la actualización. Consulta las notas de la versión para hallar una lista con los cambios de cada versión.
- Borra y vuelve a crear tu proyecto seleccionando Product > Clean y luego Product > Build.
Si ya instalaste el Google Maps SDK for iOS desde el pod de
GoogleMaps:
- Verifica tu
Podfileen busca de limitadores de versión y asegúrate de quitar o actualizar la versión para garantizar que obtengas la versión que necesitas. Consulta las notas de la versión para hallar una lista con los cambios de cada versión. - Ejecuta
pod update. - Realiza los cambios que sean necesarios como resultado de la actualización. Consulta las notas de la versión para hallar una lista con los cambios de cada versión.
- Borra y vuelve a crear tu proyecto seleccionando Product > Clean y luego Product > Build.
