Esquema de URL do Google Maps para iOS

Em dispositivos com o iOS 9 e versões mais recentes, é possível usar links universais para abrir o Google Maps quando você tem um URL do Google Maps.

Você pode usar o esquema de URL do Google Maps para abrir o app Google Maps para iOS e fazer pesquisas, receber solicitações de rotas e mostrar visualizações de mapa. Ao abrir o Google Maps, o identificador do pacote é enviado automaticamente como parte da solicitação.

Não é necessário ter uma chave de API do Google para usar o esquema de URL do Google Maps.

O Google Maps para iOS é compatível com links universais em dispositivos com o iOS 9 ou versões mais recentes.

Se o URL corresponder à expressão regular a seguir e o dispositivo estiver executando o iOS 9 ou versões mais recentes, considere usar o método openURL: diretamente.

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

Por exemplo,

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"]];

Visão geral

Um esquema de URL permite abrir um aplicativo iOS de outro app iOS ou de um aplicativo da Web. É possível definir opções no URL que são transmitidas ao aplicativo aberto. O app Google Maps para iOS é compatível com os seguintes esquemas de URL:

  • comgooglemaps:// : esse esquema permite abrir o app Google Maps para iOS e realizar uma das várias ações:

    • Exibir um mapa em um local e nível de zoom especificados.
    • Procurar locais ou lugares e exibi-los em um mapa.
    • Solicitar rotas de um local para outro. As rotas podem ser retornadas para quatro modos de transporte: carro, a pé, bicicleta e transporte público.
    • Adicionar navegação ao seu app.
  • comgooglemapsurl:// : esse esquema permite abrir o app Google Maps para iOS usando um URL derivado do site do Google Maps para computadores. Isso significa que você pode oferecer aos usuários uma experiência para dispositivos móveis em vez de carregar o site do Google Maps.

    • O URL original pode ser para maps.google.com, ou para google.com/maps, ou usar qualquer domínio de país de nível superior válido em vez de com. Também é possível transmitir URLs de redirecionamento goo.gl/maps.

Abrir o app Google Maps para iOS e realizar uma função específica

Para abrir o app Google Maps para iOS e, opcionalmente, realizar uma das funções compatíveis, use um esquema de URL do seguinte formato:

comgooglemaps://?parameters

Os parâmetros são descritos em detalhes posteriormente neste documento.

Verificar a disponibilidade do app Google Maps no dispositivo

Antes de apresentar um desses URLs a um usuário no seu app, verifique se o aplicativo está instalado. Seu app pode verificar se o esquema de URL está disponível com o seguinte código:

Swift

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

Objective-C

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

Por exemplo, para mostrar um mapa do Central Park em Nova York, use o seguinte 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://");
}

Exibir um mapa

Use o esquema de URL para exibir um mapa em uma localização e com o nível de zoom especificados. Você também pode sobrepor outras visualizações em cima de seu mapa ou exibir imagens do Street View.

Parâmetros

Todos os parâmetros a seguir são opcionais. Se nenhum parâmetro for definido, o esquema de URL vai abrir o app Google Maps para iOS.

  • center: é o ponto central da janela de visualização do mapa. Formatado como uma string separada por vírgulas de latitude,longitude.
  • mapmode: define o tipo de mapa mostrado. Pode ser definido como: standard ou streetview. Se não for especificado, as configurações atuais do aplicativo serão usadas.
  • views: ativa/desativa visualizações específicas. Pode ser definido como: satellite, traffic ou transit. Vários valores podem ser definidos usando um separador de vírgula. Se o parâmetro for especificado sem valor, ele vai limpar todas as visualizações.
  • zoom: especifica o nível de zoom do mapa.

Este URL de exemplo mostra o mapa centralizado em Nova York no zoom 14 com a visualização de trânsito ativada:

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

Mapa de tráfego de Nova York

Alguns outros exemplos são:

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

Use este esquema para exibir consultas de pesquisa em um local especificado da janela de visualização.

Parâmetros

Além dos parâmetros usados para mostrar um mapa, a pesquisa é compatível com o parâmetro q.

  • q: a string de consulta para sua pesquisa.

Este URL de exemplo pesquisa "Pizza" no local especificado:

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

Pizza ao redor

Alguns outros exemplos são:

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 rotas

Use este esquema para solicitar e exibir rotas entre duas localizações. Você também pode especificar o meio de transporte.

Parâmetros

  • saddr: define o ponto de partida para pesquisas de rotas. Pode ser uma latitude,longitude ou um endereço formatado de consulta. Se for uma string de consulta que retorna mais de um resultado, o primeiro será selecionado. Se o valor for deixado em branco, o local atual do usuário será usado.
  • daddr: define o ponto final para pesquisas de rotas. Tem o mesmo formato e comportamento que saddr.
  • directionsmode: meio de transporte. Pode ser definido como: driving, transit, bicycling ou walking.

O URL de exemplo mostra rotas de transporte público entre o Google NYC e o Aeroporto JFK:

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

Rotas de transporte público

Alguns outros exemplos são:

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

Adicionar navegação ao seu app

Abrir o app Google Maps para iOS com uma solicitação de rotas oferece aos usuários acesso à navegação guiada do seu app. Você pode usar o esquema de URL comgooglemaps://.

Abrir o app Google Maps para iOS de um URL do Google Maps para computadores

Se o app tiver acesso a um URL do Google Maps pré-existente, como em uma página da Web ou em um banco de dados, você poderá usar esse esquema para abrir o URL no app Google Maps para iOS, oferecendo aos usuários a melhor experiência para dispositivos móveis.

  • Substitua o esquema http:// ou https:// por comgooglemapsurl://.

Formatos de URL do Google Maps compatíveis

O esquema comgooglemapsurl:// é compatível com URLs que correspondem a essa expressão regular, em que {TLD} se refere a qualquer domínio de país de nível superior válido. As quebras de linha são adicionadas para fins de esclarecimento:

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

Verificar a disponibilidade do app Google Maps

Primeiro, verifique se o app Google Maps para iOS está disponível no dispositivo e se ele é compatível com o esquema de URL:

Swift

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

Objective-C

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

Exemplos

Exemplo de um URL genérico do Google Maps:

URL original do Google Maps:

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

Uso do esquema de URL:

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

Exemplo de um URL genérico do Google Maps:

URL original do Google Maps:

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

Uso do esquema de URL:

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