Cómo usar los vínculos directos de Waze

Waze admite una API que permite a los desarrolladores abrir la aplicación cliente o la página web de Waze a través de una URL externa. Se puede acceder a la URL desde otra aplicación para dispositivos móviles o una página web para dispositivos móviles.

La URL base para usar los vínculos directos de Waze es la siguiente:

https://waze.com/ul

Luego, la aplicación de Waze puede ubicar una dirección, marcarla en el mapa o iniciar una sesión de navegación hacia una dirección o un destino, según los parámetros que pases a esta URL.

Cómo funcionan los vínculos directos

Si Waze se abre como una app cliente o una página web depende de la configuración del sistema del usuario:

  • Computadora: Waze se abre como una página web.
  • Dispositivo móvil (y la app de Waze está instalada): Se abre la app de Waze.
  • Dispositivo móvil (y Waze no está instalado): Waze se abre como una página web.

Si estás seguro de que la app de Waze está instalada, puedes usar la URL "waze://" para la comunicación de app a app sin la experiencia web. Esto reemplaza la URL base descrita anteriormente. Usa esta opción solo si estás seguro de que tus usuarios tienen Waze instalado. De lo contrario, si los usuarios presionan el vínculo, no sucederá nada.

Usa los vínculos directos de Waze

Puedes usar la siguiente URL para iniciar Waze con parámetros de una app de terceros, un correo electrónico, un SMS, un vínculo de página web o cualquier otra fuente.

Los vínculos directos de Waze usan la siguiente URL:

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

A continuación, se muestran varias tareas comunes de los vínculos directos de Waze.

Para navegar a una ubicación específica, haz lo siguiente:

  1. Abre el mapa en tiempo real de Waze y busca tu ubicación. Escribe en el cuadro de búsqueda o acerca la imagen y haz clic en un segmento específico del mapa.
  2. Haz clic en el ícono para compartir que se encuentra en la esquina inferior derecha del mapa.
  3. Aparecerá un cuadro de diálogo. Haz clic en Compartir ruta en auto y, luego, copia y pega el vínculo.

Ejemplo

En el siguiente ejemplo, el mapa se centra en Times Square en Nueva York:

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

Puedes navegar a los siguientes favoritos guardados en la app de Waze:

  • work
  • home

Usa la siguiente URL para navegar a un favorito especificado:

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

En el siguiente ejemplo, se establece el destino en el trabajo:

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

Busca una dirección con la siguiente sintaxis:

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

Los valores que pases para los parámetros deben estar codificados en formato de URL. Por ejemplo, debes reemplazar los espacios por %20.

En el siguiente ejemplo, se busca "Av. Las Acacias 66":

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

Mostrar en el mapa

Usa la siguiente sintaxis para establecer el nivel de aumento (o zoom) del mapa en la vista de mapa de Waze mapa:

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

El valor mínimo de magnification_level es 6 (el más cercano o el mayor aumento). El valor máximo de magnification_level es 8192 (el más lejano o el menor aumento).

En el siguiente ejemplo, se establece el nivel de aumento en 8:

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

Parámetros de URL

En la siguiente tabla, se describen los parámetros de enrutamiento disponibles para los vínculos directos de Waze:

Parámetro ¿Obligatorio? Descripción
avoid_tolls Opcional Especifica si se debe calcular una ruta que evite los peajes. Configúralo como true o t para evitar los peajes. Configúralo como false o f para permitir las rutas con peaje. La opción predeterminada es permitir los peajes (false).
avoid_ferries Opcional Especifica si se debe calcular una ruta que evite los transbordadores. Configúralo como true o t para evitar los transbordadores. Configúralo como false o f para permitir los transbordadores. La opción predeterminada es permitir los transbordadores (false).
avoid_freeways Opcional Especifica si se debe calcular una ruta que evite las autopistas. Configúralo como true o t para evitar las autopistas. Configúralo como false o f para permitir las autopistas. La opción predeterminada es permitir las autopistas (false).
avoid_dangerous_turns Opcional Especifica si se deben evitar los giros peligrosos. Configúralo como true o t para evitar los giros peligrosos. Configúralo como false o f para permitir los giros peligrosos. La opción predeterminada es evitar los giros peligrosos (true).
avoid_trails Opcional

Especifica las preferencias de enrutamiento para los caminos sin pavimentar. Los valores admitidos son los que se detallan a continuación:

  • avoid_all (opción predeterminada): Evita todos los caminos sin pavimentar.
  • allow: Permite los caminos sin pavimentar.
  • avoid_long: Evita los caminos sin pavimentar largos.
vehicle_type Opcional

Especifica el tipo de vehículo. Los valores admitidos son los que se detallan a continuación:

  • private (opción predeterminada): Vehículo de pasajeros.
  • taxi: Vehículo de taxi.
  • motorcycle: Motocicleta.

Combina parámetros

Puedes usar los parámetros juntos en la misma URL separando los pares nombre-valor con un "&". En los siguientes ejemplos, se muestra cómo usar combinaciones de los parámetros:

  • Para centrar el mapa en Maryhill y acercar la imagen a 10:

    https://waze.com/ul?ll=45.6906304,-120.810983&z=10
  • Para buscar una dirección y, luego, navegar a ella:

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

Incluye utm_source

Si incluyes un utm_source en tu implementación, podemos asociar el uso con socios específicos. Si se produce un problema que afecta la integración, el utm_source nos permite hacer un seguimiento con el socio y brindarle una mejor experiencia. Para obtener más detalles, consulta el ejemplo para iOS. Si tienes algún problema, no dudes en comunicarte con nosotros.

Ejemplos

En esta sección, se proporcionan ejemplos de cómo usar la API de vínculos directos de Waze en las plataformas Android y iOS.

Ejemplo para Android

En el siguiente ejemplo de fragmento de código, se inicia Waze para buscar la ubicación especificada, si Waze está instalado. Si Waze no está instalado, se abre la página de Waze en 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);
}

Ejemplo para iOS

En el siguiente ejemplo de fragmento de código, se navega a la latitud y longitud si Waze está instalado. De lo contrario, se inicia App Store para instalar 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"]];
  }
}

Cuando compiles con el SDK para iOS 9.0 y versiones posteriores, debes actualizar el archivo de lista de propiedades de tu aplicación con lo siguiente para incluir Waze:

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