Eso es todo.

Para comenzar a desarrollar, consulta nuestra documentación para desarrolladores.

Activar el Google Maps SDK for iOS

Para que puedas comenzar, te proporcionaremos orientación en la Google Developers Console a fin de que hagas primero algunas acciones:

  1. Crear o seleccionar un proyecto
  2. Activar el Google Maps SDK for iOS
  3. Crear claves correspondientes
Continuar

Esquema de direcciones URL de Google Maps

Puedes usar el esquema de direcciones URL de Google Maps para iniciar la aplicación de Google Maps para iOS, y realizar búsquedas, obtener solicitudes de indicaciones y mostrar vistas de mapas. Al iniciarse Google Maps, tu identificador de paquetes se envía en forma automática como parte de la solicitud.

No necesitas una clave de Google API para usar el esquema de URL de Google Maps.

Información general

Un esquema de direcciones URL te permite iniciar una aplicación para iOS nativa desde otra aplicación para iOS o una aplicación web. En la URL, puedes configurar opciones que se pasarán a la aplicación iniciada. La aplicación de Google Maps para iOS admite los siguientes esquemas de direcciones URL:

  • comgooglemaps:// y comgooglemaps-x-callback://; estos esquemas te permiten iniciar la aplicación de Google Maps para iOS y realizar varias acciones:

    • Mostrar un mapa en una ubicación y a un nivel de zoom especificados.
    • Buscar ubicaciones o lugares y mostrarlos en un mapa.
    • Solicitar indicaciones para ir de una ubicación a otra. Se pueden proporcionar indicaciones para cuatro modos de transporte: en automóvil, a pie, en bicicleta y en transportes públicos.
    • Agregar funciones de navegación a tu aplicación.
    • A través de iOS 8, al completarse la aplicación, realizar un callback con comgooglemaps-x-callback://. A menudo, los callbacks se usan para que un usuario regrese a la aplicación que abrió originalmente Google Maps para iOS. Ten en cuenta que en iOS 9, el sistema automáticamente proporciona un vínculo “Volver a” en la esquina izquierda de la barra de estado.
  • comgooglemapsurl://; este esquema te permite iniciar la aplicación de Google Maps para iOS usando una URL derivada del sitio web de Google Maps para escritorio: Esto significa que puedes brindar a tus usuarios una experiencia móvil nativa en lugar de simplemente cargar el sitio web de Google Maps.

    • La URL original puede usarse para maps.google.com o google.com/maps, o para cualquier dominio de nivel superior de código de país válido en lugar de com. También puedes pasar URL de redirección de goo.gl/maps.
    • Puedes realizar un callback usando los parámetros x-source y x-success con el esquema de direcciones URL comgooglemapsurl://.

Iniciar la aplicación de Google Maps para iOS y aplicar una función específica

Nota: A partir de iOS 9, tu app debe declarar los esquemas de URL que abrirá. Consulta Primeros pasos para obtener más información.

Para iniciar la aplicación de Google Maps para iOS y aplicar una de las funciones admitidas, usa un esquema de direcciones URL con la siguiente forma:

comgooglemaps://?parameters

o bien:

comgooglemaps-x-callback://?parameters

Más adelante, en este documento, se ofrece una descripción detallada de los parámetros.

Verificar la disponibilidad de la aplicación de Google Maps en el dispositivo

Antes de presentar una de estas URL a un usuario en tu aplicación, primero debes verificar que se instale una aplicación. Tu aplicación puede verificar que el esquema de direcciones URL esté disponible con el siguiente código:

Swift

UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!)

Objective-C

[[UIApplication sharedApplication] canOpenURL:
    [NSURL URLWithString:@"comgooglemaps://"]];

Por ejemplo, para mostrar un mapa del Central Park de Nueva York, puedes usar el siguiente código:

Swift

if (UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!)) {
  UIApplication.shared.openURL(URL(string:
    "comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic")!)
} else {
  print("Can't use comgooglemaps://");
}

Objective-C

if ([[UIApplication sharedApplication] canOpenURL:
     [NSURL URLWithString:@"comgooglemaps://"]]) {
  [[UIApplication sharedApplication] openURL:
   [NSURL URLWithString:@"comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic"]];
} else {
  NSLog(@"Can't use comgooglemaps://");
}

Mostrar un mapa

Usa el esquema de direcciones URL para mostrar el mapa en una ubicación y a un nivel de zoom especificados. También puedes superponer otras vistas en tu mapa o mostrar imágenes de Street View.

Parámetros

Todos los parámetros siguientes son opcionales. Si no hay parámetros configurados, el esquema de direcciones URL simplemente iniciará la aplicación de Google Maps para iOS:

  • center: el punto central del viewport del mapa. Su formato consiste en una cadena de latitude,longitude separada por comas.
  • mapmode: establece el tipo de mapa que se muestra. Puede fijarse en standard o streetview. Si no se especifica, se usará la configuración actual de la aplicación.
  • views: Activa o desactiva vistas específicas. Puede fijarse en satellite, traffic o transit. Se pueden configurar varios valores usando un separador de coma. Si no se usan valores para especificar el parámetro, se borrarán todas las vistas.
  • zoom: Especifica el nivel de zoom del mapa.

A continuación, se ofrece un ejemplo de URL en la que se muestra el mapa centrado en Nueva York con un valor de zoom 14 y la vista de tráfico activa:

comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic

Mapa de tráfico de Nueva York

Aquí se ofrecen más ejemplos:

comgooglemaps://?center=37.788463,-122.392545&zoom=12
comgooglemaps://?center=46.414382,10.013988&mapmode=streetview

Búsqueda

Usa este esquema para mostrar solicitudes de búsqueda dentro de una ubicación de viewport especificada.

Parámetros

Además de los parámetros que se usan para mostrar un mapa, la búsqueda admite el parámetro q.

  • q: la cadena de consulta para tu búsqueda.

A continuación, se ofrece un ejemplo de URL para una búsqueda con “Pizza” en la ubicación especificada:

comgooglemaps://?q=Pizza&center=37.759748,-122.427135

Pizza cerca

Aquí se ofrecen más ejemplos:

comgooglemaps://?q=Steamers+Lane+Santa+Cruz,+CA&center=37.782652,-122.410126&views=satellite,traffic&zoom=15
comgooglemaps://?q=Google+Japan,+Minato,+Tokyo,+Japan&center=35.660888,139.73073&zoom=15&views=transit

Mostrar indicaciones

Usa el esquema siguiente para solicitar y mostrar indicaciones que conecten dos ubicaciones. También puedes especificar el modo de transporte.

Parámetros

  • saddr: establece el punto de partida para búsquedas de indicaciones. Puede ser una latitud y longitud o una dirección con formato de consulta. Si es una cadena de consulta que devuelve más de un resultado, se seleccionará el primer resultado. Si el valor se deja vacío, se usará la ubicación actual del usuario.
  • daddr: establece el punto de llegada para búsquedas de indicaciones. Tiene el mismo formato y comportamiento que saddr.
  • directionsmode: método de transporte. Puede fijarse en driving, transit, bicycling o walking.

A continuación, se ofrece un ejemplo de URL para mostrar indicaciones de transporte público entre Nueva York y el Aeropuerto JFK a través de Google:

comgooglemaps://?saddr=Google+Inc,+8th+Avenue,+New+York,+NY&daddr=John+F.+Kennedy+International+Airport,+Van+Wyck+Expressway,+Jamaica,+New+York&directionsmode=transit

Indicaciones de transporte

Aquí se ofrecen más ejemplos:

comgooglemaps://?saddr=Google,+1600+Amphitheatre+Parkway,+Mountain+View,+CA+94043&daddr=Google+Inc,+345+Spear+Street,+San+Francisco,+CA&center=37.422185,-122.083898&zoom=10
comgooglemaps://?saddr=2025+Garcia+Ave,+Mountain+View,+CA,+USA&daddr=Google,+1600+Amphitheatre+Parkway,+Mountain+View,+CA,+United+States&center=37.423725,-122.0877&directionsmode=walking&zoom=17

Especificar una URL de callback

Si deseas especificar una URL de callback, deberás usar el esquema de direcciones URL comgooglemaps-x-callback://. Este esquema cumple con la [especificación “x-callback-url”]. Al llamar a la aplicación de Google Maps para iOS con este esquema, en la aplicación se mostrará un botón en la parte superior de la pantalla. Al tocar este botón, se realizará un callback para una URL que hayas especificado.

Las solicitudes para comgooglemaps-x-callback:// deben tener la siguiente forma:

comgooglemaps-x-callback://?parameters

Parámetros

El esquema de direcciones URL “x-callback” acepta los mismos parámetros que el esquema de direcciones URL comgooglemaps:// con los parámetros adicionales siguientes. Ambos parámetros son obligatorios.

  • x-source: nombre de la aplicación que envía la solicitud de “x-callback”. Se prefieren los nombres cortos.
  • x-success: URL a la que se debe llamar al finalizar. A menudo, será un esquema de direcciones URL para tu propia aplicación, lo cual permitirá que los usuarios regresen a la aplicación original.

Ten en cuenta que tu aplicación deberá registrar su propio esquema de direcciones URL para poder responder a la URL de callback.

  1. Asegúrate de que tu aplicación haya registrado un esquema de URL que pueda responder a la solicitud de callback.
  2. Pasa la etiqueta del botón de callback en el parámetro x-source.
  3. Pasa la URL de callback en el parámetro x-success.

Con el ejemplo siguiente, se iniciará la aplicación de Google Maps para iOS y se mostrará un mapa centrado en Nueva York. En la aplicación también se mostrará un botón con la etiqueta “SourceApp”. Cuando se haga clic en el botón “SourceApp”, la aplicación de Google Maps para iOS emitirá un callback para un esquema de direcciones URL ficticio: sourceapp://?resume=true.

comgooglemaps-x-callback://?center=40.765819,-73.975866&zoom=14
   &x-success=sourceapp://?resume=true
   &x-source=SourceApp

Como en el caso del esquema de direcciones URL comgooglemaps://, primero debes verificar que la aplicación de Google Maps para iOS se encuentre disponible en el dispositivo y admita el esquema de direcciones URL “x-callback”. Tu aplicación puede verificar que el esquema de direcciones URL esté disponible con el siguiente código:

Swift

UIApplication.shared.canOpenURL(URL(string:"comgooglemaps-x-callback://")!)

Objective-C

[[UIApplication sharedApplication] canOpenURL:
   [NSURL URLWithString:@"comgooglemaps-x-callback://"]];

A continuación, se muestra un ejemplo de una URL que permite a los usuarios regresar a una aplicación después de realizar búsquedas de postres.

comgooglemaps-x-callback://?q=dessert&center=37.759748,-122.427135
   &x-success=sourceapp://?resume=true
   &x-source=Nom+Nom

Agregar funciones de navegación a tu aplicación

El lanzamiento de la aplicación de Google Maps para iOS con una solicitud de indicaciones es una forma fácil de ofrecer a los usuarios acceso a navegación paso a paso desde tu aplicación. Puedes usar los esquemas de direcciones URL comgooglemaps:// o comgooglemaps-x-callback://.

Nota: Los botones agregados a través del parámetro x-source no aparecerán en la IU de navegación paso a paso.

En el fragmento de código siguiente, se muestra la manera de usar el esquema comgooglemaps-x-callback:// para solicitar indicaciones y luego regresar a tu aplicación cuando el usuario esté listo. El código hará lo siguiente:

  1. Verificar que el esquema de URL comgooglemaps-x-callback:// esté disponible.
  2. Iniciar la aplicación de Google Maps para iOS y solicitar indicaciones para llegar al Aeropuerto JFK de Nueva York. Dejar la dirección de partida en blanco para solicitar indicaciones a partir de la ubicación actual del usuario.
  3. Agregar un botón con la etiqueta “AirApp” a la app de Google Maps para iOS. El parámetro x-source define la etiqueta del botón.
  4. Llamar al esquema de URL ficticio sourceapp://, cuando los usuarios hagan clic en el botón de retorno.

A continuación se muestra el código.

Swift

let testURL = URL(string: "comgooglemaps-x-callback://")!
if UIApplication.shared.canOpenURL(testURL) {
  let directionsRequest = "comgooglemaps-x-callback://" +
    "?daddr=John+F.+Kennedy+International+Airport,+Van+Wyck+Expressway,+Jamaica,+New+York" +
    "&x-success=sourceapp://?resume=true&x-source=AirApp"

  let directionsURL = URL(string: directionsRequest)!
  UIApplication.shared.openURL(directionsURL)
} else {
  NSLog("Can't use comgooglemaps-x-callback:// on this device.")
}

Objective-C

NSURL *testURL = [NSURL URLWithString:@"comgooglemaps-x-callback://"];
if ([[UIApplication sharedApplication] canOpenURL:testURL]) {
  NSString *directionsRequest = @"comgooglemaps-x-callback://" +
      @"?daddr=John+F.+Kennedy+International+Airport,+Van+Wyck+Expressway,+Jamaica,+New+York" +
      @"&x-success=sourceapp://?resume=true&x-source=AirApp";
  NSURL *directionsURL = [NSURL URLWithString:directionsRequest];
  [[UIApplication sharedApplication] openURL:directionsURL];
} else {
  NSLog(@"Can't use comgooglemaps-x-callback:// on this device.");
}

Iniciar la aplicación de Google Maps para iOS desde una URL de escritorio de Google Maps

Si tu aplicación tiene acceso a una URL de Google Maps (por ejemplo, en una página web o una base de datos), puedes usar el esquema siguiente a fin de abrir la URL en la aplicación de Google Maps para iOS. Con esto, brindarás a tus usuarios la mejor experiencia nativa.

  1. Reemplaza el esquema http:// o https:// por comgooglemapsurl://.
  2. Si deseas usar un callback, incluye los parámetros x-source y x-success. Este esquema cumple con la [especificación “x-callback-url”].

Formatos de URL de Google Maps admitidos

El esquema comgooglemapsurl:// admite URL que coincidan con la expresión regular siguiente, en la cual {TLD} hace referencia a cualquier dominio de nivel superior de país válido. Se agregan saltos de línea para brindar mayor claridad:

(http(s?)://)?
((maps\.google\.{TLD}/)|
 ((www\.)?google\.{TLD}/maps/)|
 (goo.gl/maps/))
.*

Verificar la disponibilidad de la aplicación de Google Maps

Primero debes verificar que la aplicación de Google Maps para iOS se encuentre disponible en el dispositivo y admita el esquema de direcciones URL:

Swift

UIApplication.shared.canOpenURL(URL(string:"comgooglemaps-x-callback://")!)

Objective-C

[[UIApplication sharedApplication] canOpenURL:
   [NSURL URLWithString:@"comgooglemapsurl://"]];

Ejemplos

Ejemplo de una URL genérica de Google Maps:

URL original de Google Maps:

https://www.google.com/maps/preview/@42.585444,13.007813,6z

Uso del esquema de direcciones URL:

comgooglemapsurl://www.google.com/maps/preview/@42.585444,13.007813,6z

Ejemplo de una URL genérica de Google Maps:

URL original de Google Maps:

https://maps.google.com/?q=@37.3161,-122.1836

Uso del esquema de direcciones URL:

comgooglemapsurl://maps.google.com/?q=@37.3161,-122.1836

Ejemplo de solicitud de indicaciones para llegar a la Torre de Tokio con un “x-callback”:

URL original de Google Maps:

http://maps.google.com/maps?f=d&daddr=Tokyo+Tower,+Tokyo,+Japan&sll=35.6586,139.7454&sspn=0.2,0.1&nav=1

Con el ejemplo siguiente, se iniciará la aplicación de Google Maps para iOS y se mostrará un mapa con indicaciones para llegar a la Torre de Tokio, según lo especificado en la URL original de Google Maps (arriba). En la aplicación también se mostrará un botón con la etiqueta “SourceApp”. Cuando se haga clic en el botón “SourceApp”, la app de Google Maps para iOS emitirá un callback para un esquema de direcciones URL ficticio: sourceapp://?resume=true.

comgooglemapsurl://maps.google.com/maps?f=d&daddr=Tokyo+Tower,+Tokyo,+Japan&sll=35.6586,139.7454&sspn=0.2,0.1&nav=1
    &x-source=SourceApp
    &x-success=sourceapp://?resume=true

Enviar comentarios sobre...

Google Maps SDK for iOS
Google Maps SDK for iOS
Si necesitas ayuda, visita nuestra página de asistencia.