Como usar links diretos do Waze

O Waze é compatível com uma API que permite aos desenvolvedores abrir o aplicativo cliente ou a página da Web do Waze por meio de um URL externo. O URL pode ser acessado de outro app ou de uma página da Web para dispositivos móveis.

O URL base para usar links diretos do Waze é o seguinte:

https://waze.com/ul

O aplicativo Waze pode identificar um endereço, marcar um endereço no mapa ou iniciar uma sessão de navegação até um endereço ou destino, com base nos parâmetros transmitidos a esse URL.

Como os links diretos funcionam

A configuração de sistema do usuário define se o Waze será aberto como um aplicativo cliente ou uma página da Web:

  • Computador: o Waze será aberto como uma página da Web.
  • Dispositivo móvel (e o app Waze está instalado): o app Waze será aberto.
  • Dispositivo móvel (e o Waze não está instalado): o Waze será aberto como uma página da Web.

Se você tiver certeza de que o app Waze está instalado, poderá usar "waze://" para iniciar uma comunicação entre apps sem a experiência na Web. Isso substitui o URL base descrito anteriormente. Use essa opção apenas se tiver certeza de que os usuários têm o Waze instalado. Caso contrário, se os usuários tocarem no link, nada acontecerá.

Usar links diretos do Waze

Você pode usar o URL a seguir para iniciar o Waze com parâmetros de um app de terceiros, e-mail, SMS, link de página da Web ou outra origem.

Os links diretos do Waze usam o seguinte URL:

https://waze.com/ul?param_name=value[&param_name=value]

Confira a seguir algumas tarefas comuns de links diretos do Waze.

Para navegar até um local específico:

  1. Abra o mapa ao vivo do Waze e pesquise seu local. Digite na caixa de pesquisa ou aumente o zoom e clique em um segmento específico do mapa.
  2. Clique no ícone de compartilhamento no canto inferior direito do mapa.
  3. Uma caixa de diálogo será exibida. Clique em Compartilhar rotas de carro, copie e cole o link.

Exemplo

O exemplo a seguir centraliza o mapa na Times Square, em Nova York:

https://www.waze.com/ul?ll=40.75889500%2C-73.98513100&navigate=yes&zoom=17

Você pode navegar até os seguintes favoritos salvos no app Waze:

  • work
  • home

Use o seguinte URL para navegar até um local favorito especificado:

https://waze.com/ul?favorite=favorite&navigate=yes

O exemplo a seguir define o destino como "trabalho":

https://waze.com/ul?favorite=work&navigate=yes

Pesquise um endereço com a seguinte sintaxe:

https://waze.com/ul?q=search_terms

Os valores transmitidos para os parâmetros precisam ser codificados para uso em URLs. Por exemplo, você precisa substituir espaços por %20.

O exemplo a seguir pesquisa "66 Acacia Avenue":

https://waze.com/ul?q=66%20Acacia%20Avenue

Mostrar no mapa

Use a seguinte sintaxe para definir o nível de ampliação (ou zoom) da visualização do mapa do Waze mapa:

https://waze.com/ul?z=magnification_level

O valor mínimo para magnification_level é 6 (mais próximo ou maior ampliação). e o valor máximo de magnification_level é 8.192 (mais distante ou menor ampliação).

O exemplo a seguir define o nível de ampliação como 8:

https://waze.com/ul?z=8

Parâmetros de URL

A tabela a seguir descreve os parâmetros de trajeto disponíveis para links diretos do Waze:

Parâmetro Obrigatório? Descrição
avoid_tolls Opcional Especifica se um trajeto que evita pedágios deve ser calculado. Defina como true ou t para evitar pedágios. Defina como false ou f para permitir pedágios. O padrão é permitir pedágios (false).
avoid_ferries Opcional Especifica se um trajeto que evita balsas deve ser calculado. Defina como true ou t para evitar balsas. Defina como false ou f para permitir balsas. O padrão é permitir balsas (false).
avoid_freeways Opcional Especifica se um trajeto que evita rodovias deve ser calculado. Defina como true ou t para evitar rodovias. Defina como false ou f para permitir rodovias. O padrão é permitir rodovias (false).
avoid_dangerous_turns Opcional Especifica se curvas perigosas devem ser evitadas. Defina como true ou t para evitar curvas perigosas. Defina como false ou f para permitir curvas perigosas. O padrão é evitar curvas perigosas (true).
avoid_trails Opcional

Especifica as preferências de trajeto para vias sem asfalto. Os valores compatíveis são:

  • avoid_all (padrão): evita todas as vias sem asfalto.
  • allow: permite vias sem asfalto.
  • avoid_long: evita vias sem asfalto longas.
vehicle_type Opcional

Especifica o tipo de veículo. Os valores compatíveis são:

  • private (padrão): veículo de passageiros.
  • taxi: táxi.
  • motorcycle: motocicleta.

Combinar parâmetros

É possível usar os parâmetros juntos no mesmo URL separando os pares nome/valor com "&". Os exemplos a seguir mostram como usar combinações de parâmetros:

  • Para centralizar o mapa em Maryhill e ampliar o zoom para 10, use:

    https://waze.com/ul?ll=45.6906304,-120.810983&z=10
  • Para procurar um endereço e, em seguida, navegar até ele, use:

    https://waze.com/ul?q=66%20Acacia%20Avenue&ll=45.6906304,-120.810983&navigate=yes

Incluir utm_source

Se você incluir um utm_source na sua implementação, poderemos associar o uso a parceiros específicos. Se ocorrer um problema que afete a integração, o utm_source nos permitirá entrar em contato com o parceiro e oferecer uma experiência melhor. Para mais detalhes, consulte o exemplo do iOS. Se você tiver problemas, sinta-se à vontade para entrar em contato conosco.

Exemplos

Esta seção fornece exemplos de como usar a API de links diretos do Waze nas plataformas Android e iOS.

Exemplo do Android

O exemplo de snippet de código a seguir inicia o Waze para procurar o local especificado, se o Waze estiver instalado. Se o Waze não estiver instalado, ele abrirá a página do Waze no Google Play:

try {
  // Launch Waze to look for Hawaii:
  String url = "https://waze.com/ul?q=Hawaii";
  Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
  startActivity(intent);
} catch (ActivityNotFoundException ex) {
  // If Waze is not installed, open it in Google Play:
  Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=com.waze"));
  startActivity(intent);
}

Exemplo do iOS

O exemplo de snippet de código a seguir navega até a latitude/longitude se o Waze estiver instalado. Caso contrário, ele inicia a App Store para instalar o Waze:

- (void) navigateToLatitude:(double)latitude longitude:(double)longitude
{
  if ([[UIApplication sharedApplication]
    canOpenURL:[NSURL URLWithString:@"waze://"]]) {
      NSString *bundleIdentifier = NSBundle.mainBundle.bundleIdentifier;
      // Waze is installed. Launch Waze and start navigation
      NSString *urlStr =
        [NSString stringWithFormat:@"https://waze.com/ul?ll=%f,%f&navigate=yes&utm_source=%s",
        latitude, longitude, bundleIdentifier];
      [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlStr]];
  } else {
    // Waze is not installed. Launch AppStore to install Waze app
    [[UIApplication sharedApplication] openURL:[NSURL
      URLWithString:@"http://itunes.apple.com/us/app/id323229106"]];
  }
}

Se você fizer a compilação usando o iOS SDK 9.0 e versões mais recentes, será preciso adicionar o seguinte código ao arquivo de lista de propriedades do seu aplicativo para incluir o Waze:

<key>LSApplicationQueriesSchemes</key>
<array>
  <string>waze</string>
</array>