En dispositivos con iOS 9 y versiones posteriores, puedes usar vínculos universales para iniciar Google Maps cuando tengas una URL de Google Maps.
Puedes usar el esquema de URL de Google Maps para iniciar la app de Google Maps para iOS y realizar búsquedas, obtener solicitudes de instrucciones sobre cómo llegar y mostrar vistas de mapa. Cuando inicias Google Maps, tu identificador de paquete se envía automáticamente como parte de la solicitud.
No necesitas una clave de API de Google para usar el esquema de URL de Google Maps.
Vínculos universales y Google Maps
Google Maps para iOS admite vínculos universales en dispositivos con iOS 9 o versiones posteriores.
Si tu URL coincide con la siguiente expresión regular y el dispositivo ejecuta iOS 9 o versiones posteriores, te recomendamos que uses el método openURL: directamente.
(http(s?)://)?
((maps\.google\.{TLD}/)|
((www\.)?google\.{TLD}/maps/)|
(goo.gl/maps/))
.*
Por ejemplo:
Swift
UIApplication.shared.openURL(URL(string:"https://www.google.com/maps/@42.585444,13.007813,6z")!)
Objective-C
[[UIApplication sharedApplication] openURL:
[NSURL URLWithString:@"https://www.google.com/maps/@42.585444,13.007813,6z"]];
Descripción general
Un esquema de URL te permite iniciar una aplicación nativa para iOS desde otra aplicación para iOS o una aplicación web. Puedes establecer opciones en la URL que se pasará a la aplicación iniciada. La app de Google Maps para iOS admite los siguientes esquemas de URL:
comgooglemaps://
ycomgooglemaps-x-callback://
: Estos esquemas te permiten iniciar la app de Google Maps para iOS y realizar una de las siguientes acciones:- Mostrar un mapa en una ubicación y con un nivel de zoom específicos
- Buscar ubicaciones o lugares, y mostrarlos en un mapa
- Solicitar instrucciones sobre cómo llegar de una ubicación a otra Se pueden devolver instrucciones sobre cómo llegar para cuatro medios de transporte: automóvil, a pie, bicicleta y transporte público.
- Agrega navegación a tu app.
- En iOS 8, emite una devolución de llamada cuando la app se haya completado con
comgooglemaps-x-callback://
. Las devoluciones de llamada se suelen usar para devolver a un usuario a la app que abrió originalmente Google Maps para iOS. Ten en cuenta que, en iOS 9, el sistema proporciona automáticamente un vínculo "Volver a" en la esquina izquierda de la barra de estado.
comgooglemapsurl://
: Este esquema te permite iniciar la app de Google Maps para iOS con una URL derivada del sitio web de Google Maps para computadoras. Esto significa que puedes brindarles a los usuarios una experiencia nativa para dispositivos móviles en lugar de simplemente cargar el sitio web de Google Maps.- La URL original puede ser para
maps.google.com
, paragoogle.com/maps
o usar cualquier dominio de nivel superior válido del país en lugar decom
. También puedes pasar URLs de redireccionamiento degoo.gl/maps
. - Puedes emitir una devolución de llamada con los parámetros
x-source
yx-success
con el esquema de URLcomgooglemapsurl://
.
- La URL original puede ser para
Iniciar la app de Google Maps para iOS y realizar una función específica
Para iniciar la app de Google Maps para iOS y, de manera opcional, realizar una de las funciones admitidas, usa un esquema de URL con el siguiente formato:
comgooglemaps://?parameters
o:
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 app de Google Maps en el dispositivo
Antes de presentarle una de estas URLs a un usuario en tu app, primero debes verificar que la aplicación esté instalada. Tu app puede verificar que el esquema de 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 de Central Park en 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://");
}
Muestra de 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 sobre el mapa o mostrar imágenes de Street View.
Parámetros
Todos los parámetros siguientes son opcionales. Si no se configuran parámetros, el esquema de URL iniciará la app de Google Maps para iOS.
center
: Es el punto central de la ventana gráfica del mapa. Se da formato como una cadena separada por comas delatitude,longitude
.mapmode
: Establece el tipo de mapa que se muestra. Se puede establecer enstandard
ostreetview
. Si no se especifica, se usará la configuración actual de la aplicación.views
: Activa o desactiva vistas específicas. Se puede configurar comosatellite
,traffic
otransit
. Se pueden establecer varios valores con un separador de comas. Si el parámetro se especifica sin ningún valor, se borrarán todas las vistas.zoom
: Especifica el nivel de zoom del mapa.
Esta URL de ejemplo muestra el mapa centrado en Nueva York con el nivel de zoom 14 y la vista de tráfico activada:
comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic
Estos son algunos ejemplos adicionales:
comgooglemaps://?center=37.788463,-122.392545&zoom=12
comgooglemaps://?center=46.414382,10.013988&mapmode=streetview
Buscar
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
: Es la cadena de búsqueda de tu búsqueda.
Esta es una URL de ejemplo para buscar “Pizza” cerca de la ubicación especificada:
comgooglemaps://?q=Pizza¢er=37.759748,-122.427135
Estos son algunos ejemplos adicionales:
comgooglemaps://?q=Steamers+Lane+Santa+Cruz,+CA¢er=37.782652,-122.410126&views=satellite,traffic&zoom=15
comgooglemaps://?q=Google+Japan,+Minato,+Tokyo,+Japan¢er=35.660888,139.73073&zoom=15&views=transit
Cómo mostrar instrucciones sobre cómo llegar
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 las búsquedas de direcciones. Puede ser una dirección con formato de consulta o una latitud y longitud. Si es una cadena de búsqueda que devuelve más de un resultado, se seleccionará el primero. Si el valor se deja en blanco, se usará la ubicación actual del usuario.daddr
: Establece el punto final para las búsquedas de direcciones. Tiene el mismo formato y comportamiento quesaddr
.directionsmode
: Es el medio de transporte. Se puede establecer endriving
,transit
,bicycling
owalking
.
La URL de ejemplo muestra las indicaciones de tránsito entre Google NYC y el aeropuerto JFK:
comgooglemaps://?saddr=Google+Inc,+8th+Avenue,+New+York,+NY&daddr=John+F.+Kennedy+International+Airport,+Van+Wyck+Expressway,+Jamaica,+New+York&directionsmode=transit
Estos son algunos ejemplos adicionales:
comgooglemaps://?saddr=Google,+1600+Amphitheatre+Parkway,+Mountain+View,+CA+94043&daddr=Google+Inc,+345+Spear+Street,+San+Francisco,+CA¢er=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¢er=37.423725,-122.0877&directionsmode=walking&zoom=17
Cómo especificar una URL de devolución de llamada
Si deseas especificar una URL de devolución de llamada, debes usar el esquema de URL comgooglemaps-x-callback://
. Este esquema cumple con la especificación x-callback-url. Cuando llamas a la app de Google Maps para iOS con este esquema, la app mostrará un botón en la parte superior de la pantalla. Si presionas este botón, se emitirá una devolución de llamada a la URL que especificaste.
Las solicitudes a comgooglemaps-x-callback://
deben tener el siguiente formato:
comgooglemaps-x-callback://?parameters
Parámetros
El esquema de URL x-callback acepta los mismos parámetros que el esquema de URL comgooglemaps://
, con los siguientes parámetros adicionales. Ambos parámetros son obligatorios.
x-source
: Es el nombre de la aplicación que envía la solicitud de devolución de llamada x. Se prefieren los nombres cortos.x-success
: Es la URL a la que se debe llamar cuando se complete la acción. A menudo, será un esquema de URL para tu propia app, lo que permitirá que los usuarios vuelvan a la aplicación original.
Ten en cuenta que tu app deberá registrar su propio esquema de URL para poder responder a la URL de devolución de llamada.
- Asegúrate de que tu aplicación haya registrado un esquema de URL que pueda responder a la solicitud de devolución de llamada.
- Pasa la etiqueta del botón de devolución de llamada en el parámetro
x-source
. - Pasa la URL de devolución de llamada en el parámetro
x-success
.
En el siguiente ejemplo, se iniciará la app de Google Maps para iOS y se mostrará un mapa centrado en Nueva York. La app también mostrará un botón etiquetado como "SourceApp".
Cuando se hace clic en el botón "SourceApp", la app de Google Maps para iOS emitirá una devolución de llamada a un esquema de URL ficticio, sourceapp://?resume=true
.
comgooglemaps-x-callback://?center=40.765819,-73.975866&zoom=14
&x-success=sourceapp://?resume=true
&x-source=SourceApp
Al igual que con el esquema de URL comgooglemaps://
, primero debes verificar que la app de Google Maps para iOS esté disponible en el dispositivo y que admita el esquema de URL de x-callback. Tu app puede verificar que el esquema de 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://"]];
Este es un ejemplo de una URL que permite a los usuarios volver a una app después de buscar un postre.
comgooglemaps-x-callback://?q=dessert¢er=37.759748,-122.427135
&x-success=sourceapp://?resume=true
&x-source=Nom+Nom
Cómo agregar navegación a tu app
Iniciar la app de Google Maps para iOS con una solicitud de instrucciones sobre cómo llegar es una forma sencilla de brindarles a los usuarios acceso a la navegación paso a paso desde tu app. Puedes usar los esquemas de URL comgooglemaps://
o comgooglemaps-x-callback://
.
En este fragmento de código, se muestra cómo usar el esquema comgooglemaps-x-callback://
para solicitar instrucciones sobre cómo llegar y, luego, volver a tu app cuando el usuario esté listo. El código hará lo siguiente:
- Verifica que el esquema de URL
comgooglemaps-x-callback://
esté disponible. - Inicia la app de Google Maps para iOS y solicita instrucciones para llegar al aeropuerto JFK en la ciudad de Nueva York. Deja en blanco la dirección de inicio para solicitar instrucciones sobre cómo llegar desde la ubicación actual del usuario.
- Agrega un botón etiquetado como "AirApp" a la app de Google Maps para iOS. La etiqueta del botón se define con el parámetro
x-source
. - Llama al esquema de URL ficticio,
sourceapp://
, cuando el usuario haga clic en el botón Atrás.
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.");
}
Cómo iniciar la app de Google Maps para iOS desde una URL de escritorio de Google Maps
Si tu app tiene acceso a una URL preexistente de Google Maps, por ejemplo, en una página web o en una base de datos, puedes usar este esquema para abrir la URL en la app de Google Maps para iOS y, de este modo, ofrecer a tus usuarios la mejor experiencia nativa.
- Reemplaza el esquema
http://
ohttps://
porcomgooglemapsurl://
. - Si deseas usar una devolución de llamada, incluye los parámetros
x-source
yx-success
. Este esquema cumple con la especificación x-callback-url.
Formatos de URL de Google Maps admitidos
El esquema comgooglemapsurl://
admite URLs que coinciden con esta expresión regular, en la que {TLD}
hace referencia a cualquier dominio de nivel superior válido del país. Se agregan saltos de línea para mayor claridad:
(http(s?)://)?
((maps\.google\.{TLD}/)|
((www\.)?google\.{TLD}/maps/)|
(goo.gl/maps/))
.*
Cómo verificar la disponibilidad de la app de Google Maps
Primero, verifica que la app de Google Maps para iOS esté disponible en el dispositivo y que admita el esquema de 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 instrucciones para llegar a la Torre de Tokio con 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
En el siguiente ejemplo, se iniciará la app de Google Maps para iOS y se mostrará un mapa con instrucciones para llegar a la Torre de Tokio, como se especificó en la URL original de Google Maps (arriba). La app también mostrará un botón etiquetado como "SourceApp". Cuando se hace clic en el botón "SourceApp", la app de Google Maps para iOS emitirá una devolución de llamada a un esquema de 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