Preguntas frecuentes
Detalles del producto
- ¿Cómo se debe mostrar el aviso de las Condiciones del Servicio del SDK de Navigation?
- ¿Qué idiomas admiten las indicaciones por voz?
- ¿Se mantiene el rumbo cuando el usuario sale del modo de navegación?
- ¿Las polilíneas están disponibles cuando se inicia o se cambia una ruta?
- ¿Los usuarios de la app deben tener instalado Google Maps para dispositivos móviles?
- ¿El SDK de Navigation puede identificar estacionamientos cerca de restaurantes y otros destinos?
- ¿El SDK de Navigation muestra la dirección del tráfico en los carriles cuando se acerca a un punto de inflexión?
- ¿Qué versiones del JDK son compatibles con el SDK de Navigation?
Red
- ¿Cómo hace el SDK de Navigation para manejar una conectividad deficiente?
- ¿Hay un modo sin conexión disponible?
Precio de
- ¿Puedo recuperar todas las paradas o los destinos de un viaje antes de comenzar una ruta?
- ¿Las indicaciones de ruta paso a paso están disponibles al inicio de una ruta?
- ¿Cómo se comunica la hora estimada de llegada (ETA) a los usuarios de la app?
- ¿Se puede usar
RoadSnappedLocationProvider
para obtener la ubicación ajustada actual del usuario si la navegación no está en primer plano? - ¿El SDK de Navigation admite el geovallado?
- ¿Puedo inhabilitar las notificaciones cuando la app de Navigation está en segundo plano?
- ¿Cómo puedo ver el registro de transacciones que mantiene Google?
Personalización de la IU
- ¿Puedo codificar por color la mejor opción de ruta?
- ¿El SDK de Navigation puede mostrar la hora de llegada estimada al destino final?
- ¿Cómo puedo ocultar las actualizaciones de la hora de llegada estimada?
- ¿Qué personalizaciones de la IU están disponibles para las tarjetas de encabezado y pie de página?
Enrutamiento
- ¿Puedo proporcionar una ruta específica a un usuario o quitar rutas alternativas?
- ¿Puedo mostrarle al usuario una etiqueta para el destino diferente a la ubicación de destino predeterminada?
- ¿Puedo usar el SDK de Navigation para hacer un seguimiento de las desviaciones de una ruta definida?
- ¿El usuario puede salir de la navegación sin completar la ruta?
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:
- Recupera el tiempo y la distancia de todos los puntos de referencia con
Navigator.getTimeAndDistanceList()
. - Reenvía esta información a la aplicación cliente como lo haces para la hora de llegada estimada del conductor.
- Recupera el tiempo y la distancia de todos los puntos de referencia con
-
¿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
.- Establece el umbral para determinar la frecuencia de las devoluciones de llamada.
- 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:
- Recupera el tiempo y la distancia de todos los puntos de referencia con
Navigator.getTimeAndDistanceList()
. - Oculta la hora de llegada estimada del punto de referencia actual con
NavigationFragment.setEtaCardEnabled(false)
. - Renderiza la hora de llegada estimada final.
- Recupera el tiempo y la distancia de todos los puntos de referencia con
- ¿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)
. -
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 miembrosetHeaderEnabled
ysetFooterEnabled
deNavigationFragment
.
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 elNavigationMap
. - ¿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:- Registra un objeto de escucha que verifique la posición del dispositivo a lo largo de la ruta con el método
Navigator.setRouteChangedListener
. - 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.
- Registra un objeto de escucha que verifique la posición del dispositivo a lo largo de la ruta con el método
-
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étodosimulateLocationsAlongExistingRoute
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 aNavigator.startguidance(getIntent())
desde la actividad principal, que recupera la actividad cuando el usuario de la app hace clic en la notificación.