Preguntas frecuentes

Detalles del producto

Red

Precio de

Personalización de la IU

Enrutamiento

Simulador

Workflows

Detalles del producto

Tu app debe implementar un diálogo con el aviso de las Condiciones del Servicio del SDK de Navigation que cada usuario debe aceptar. Este diálogo le da al usuario la oportunidad de aceptar las Condiciones del Servicio. Con el SDK de Navigation, se proporciona un archivo de texto de las condiciones. Usa el método NavigationApi.showTermsAndConditionsDialog para mostrar el diálogo que contiene los términos.
Todos los idiomas compatibles con Google Maps para dispositivos móviles están disponibles automáticamente para el SDK de Navigation. Un dispositivo tiene un idioma del sistema predeterminado y una app no puede cambiar esa configuración. Sin embargo, la app tiene acceso a más de 70 idiomas.

Sí. Una vez que se inicia, LocationListener continúa ejecutándose en segundo plano. Tu app continúa ajustando la posición en la ruta y mantiene el rumbo.

Sí. Cuando se crea o modifica una ruta, el objeto RouteChangeListener proporciona polilíneas.

No, el SDK de Navigation no requiere que Google Maps para dispositivos móviles esté instalado en el dispositivo.
No, el SDK de Navigation no proporciona esta función en este momento.
Sí. La dirección del tráfico está disponible y se muestra de forma predeterminada.
¿Qué versiones del JDK admite el SDK de Navigation?
El SDK de Navigation admite versiones LTS de Java SE que son compatibles de forma activa con Oracle. Estas versiones se indican como con Asistencia Premier en la Hoja de ruta de la asistencia para SE de Java de Oracle.

Red

¿Cómo hace el SDK de Navigation para manejar una conectividad deficiente?
El SDK de Navigation almacena previamente en caché la ruta para cada recorrido. La información previamente almacenada en caché incluye información de enrutamiento durante 15 a 20 minutos, y alternativas de ruta en caso de que el usuario se desvíe de la ruta. El SDK de Navigation calcula la posición aproximada mediante el GPS y los sensores del dispositivo.
¿Hay un modo sin conexión disponible?
No, el SDK de Navigation no ofrece un modo sin conexión en este momento. Sin embargo, el SDK proporciona información almacenada en caché previamente para un recorrido.

Precio de

¿Puedo recuperar todas las paradas y los destinos de un viaje antes de comenzar la ruta?

Sí. Para recuperar las instrucciones sobre cómo llegar de una ruta, llama a Navigator.getRouteSegments().

¿Las indicaciones de ruta paso a paso están disponibles al inicio de una ruta?
Sí. El SDK de Navigation proporciona una lista de segmentos de ruta. Además, el usuario puede deslizar la tarjeta de instrucciones en el encabezado para ver cada maniobra.
¿Cómo se comunica la hora de llegada estimada a los usuarios de la app?

Sigue estos pasos para proporcionar información sobre la hora de llegada estimada a los usuarios de la app:

  1. Recupera el tiempo y la distancia de todos los puntos de referencia con Navigator.getTimeAndDistanceList().
  2. Reenvía esta información a la aplicación cliente como lo haces para la hora de llegada estimada del conductor.
¿Se puede usar RoadSnappedLocationProvider para obtener la ubicación ajustada actual del usuario si la navegación no está en primer plano?

Sí. RoadSnappedLocationProvider se ejecuta en segundo plano de forma predeterminada.

¿El SDK de Navigation admite geovallado?

No. En el contexto de navegación, remainingTimeOrdistanceChangeListener tiene una ventaja sobre un geovallado. Es posible que el geovallado no tenga en cuenta la geometría de la ruta y no esté centrado en el punto exacto hacia el que navega el usuario.

Puedes aproximar esta función usando remainingTimeOrdistanceChangeListener.

  1. Establece el umbral para determinar la frecuencia de las devoluciones de llamada.
  2. Verifica la distancia restante hasta el destino.

Por ejemplo, si estableces el umbral en 100 m, recibirás una devolución de llamada cuando la distancia al destino cambie en 100 m. A medida que disminuye la distancia, puedes actualizar este umbral a un valor menor y recibir devoluciones de llamada más frecuentes. Luego, inspecciona la distancia restante para determinar si estás lo suficientemente cerca de la ubicación de partida y llegada.

¿Puedo inhabilitar las notificaciones cuando la app de Navegación está en segundo plano?

Sí. Usa Navigator.setHeadsUpNotificationEnabled para controlar las notificaciones. Este método tiene un argumento booleano. FALSE inhabilita las notificaciones; TRUE las habilita.

La grabadora de transacciones hace un seguimiento de los puntos de partida y de destino con un ID único, que Google registra para analizar los productos. Si eres cliente de los Servicios de movilidad, Google recomienda que implementes el NavigationTransactionRecorder para registrar un registro de tus transacciones.

Personalización de la IU

¿Puedo codificar por color la mejor opción de ruta?
No. Por el momento, no se puede codificar por color una opción de ruta específica.
¿El SDK de Navigation puede mostrar la hora de llegada estimada del destino final?

Sí. Usa los siguientes métodos:

  1. Recupera el tiempo y la distancia de todos los puntos de referencia con Navigator.getTimeAndDistanceList().
  2. Oculta la hora de llegada estimada del punto de referencia actual con NavigationFragment.setEtaCardEnabled(false).
  3. Renderiza la hora de llegada estimada final.
¿Cómo puedo ocultar las actualizaciones de la hora de llegada estimada?

Para inhabilitar las tarjetas de hora de llegada estimada, llama al navigationView.setEtaCardEnabled(false).

¿Qué personalizaciones de la IU están disponibles para las tarjetas de encabezado y pie de página?

Usa StylingOptions para establecer el estilo del color de fondo. Para ocultar o mostrar el encabezado y el pie de página, usa las funciones de miembro setHeaderEnabled y setFooterEnabled de NavigationFragment.

Enrutamiento

¿Puedo proporcionar una ruta específica a un usuario o quitar rutas alternativas?
No. De forma predeterminada, se proporcionan varias rutas y la más rápida tiene prioridad. Puedes modificar la ruta predeterminada agregando preferencias a tu solicitud, como "evitar autopistas y peajes". Agregar puntos de referencia también afecta la ruta.
¿Puedo mostrarle al usuario de la app una etiqueta para el destino que no sea la predeterminada?

Sí. Crea un objeto Marker con un título personalizado para el destino y la latitud y la longitud. El SDK de Navigation muestra el título personalizado y las coordenadas en el NavigationMap.

¿Puedo usar el SDK de Navigation para hacer un seguimiento de las desviaciones de una ruta definida?

Sí. Usa Navigator.setRouteChangedListener para recibir notificaciones cuando cambie una ruta o se recomiende una nueva:

  1. Registra un objeto de escucha que verifique la posición del dispositivo a lo largo de la ruta con el método Navigator.setRouteChangedListener.
  2. Agrega código al controlador de eventos de devolución de llamada, onRouteChanged:
    • Envía un mensaje al usuario de la app con información actualizada de la hora de llegada estimada y la distancia.
    • Realiza un seguimiento de la ubicación del dispositivo.
    • [Opcional] Agrega otras funciones que requiere tu app para controlar los momentos en que el usuario se encuentra fuera de la ruta prescrita.
¿Puede el usuario salir de la navegación sin completar la ruta?

Sí. Llama al método Navigator.stopGuidance() para detener la navegación.

Simulador

¿El simulador admite cambios de ruta?

Sí. Llama a simulateLocationsAlongNewRoute para simular un viaje que incluye un cambio de ruta. El método simulateLocationsAlongExistingRoute ignora los cambios en la ruta existente.

Workflows

¿Cómo descarto la notificación después de cerrar una actividad que contiene un fragmento de navegación?

La notificación de navegación permanece visible durante la navegación, cuando se cierra la actividad. Cuando el vehículo llega al destino, la navegación se detiene y la notificación desaparece.

Para controlar los clics en la notificación, usa Navigator.startGuidance(intent resumeIntent). resume intent se activa cuando el usuario de la app hace clic en la notificación. Por lo general, se llama a Navigator.startguidance(getIntent()) desde la actividad principal, que recupera la actividad cuando el usuario de la app hace clic en la notificación.