Perguntas frequentes
Detalhes do produto
- Como o aviso dos Termos de Serviço do SDK do Navigation precisa ser mostrado?
- A orientação por voz está disponível em quais idiomas?
- O rumo é mantido quando o usuário saia do modo de navegação?
- As polilinhas estão disponíveis ao iniciar ou mudar um trajeto?
- Os usuários do app precisam ter o Google Maps instalado em dispositivos móveis?
- O SDK do Navigation pode identificar estacionamento perto de restaurantes e outros destinos?
- O SDK do Navigation mostra a direção do trânsito nas faixas ao se aproximar de um ponto de conversão?
- Quais versões do JDK são compatíveis com o SDK do Navigation?
Rede
Dados
- Posso recuperar todas as paradas/destinos em uma viagem antes de iniciar o trajeto?
- A orientação de trajeto passo a passo está disponível no início de um trajeto?
- Como o horário estimado de chegada (HEC) é comunicado aos usuários do app?
- O
RoadSnappedLocationProvider
poderá ser usado para acessar a localização atual do usuário se a navegação não estiver em primeiro plano? - O SDK do Navigation oferece suporte a fronteiras geográficas virtuais?
- Posso desativar as notificações quando o app de navegação está em segundo plano?
- Como faço para ver o registro de transações mantido pelo Google?
Personalização da interface
- Posso codificar por cores a melhor opção de trajeto?
- O SDK do Navigation pode mostrar o HEC para o destino final?
- Como ocultar as atualizações de HEC?
- Quais personalizações de interface estão disponíveis para os cards de cabeçalho e rodapé?
Roteamento
- Posso fornecer uma rota específica a um usuário ou remover rotas alternativas?
- Posso mostrar ao usuário um rótulo diferente para o local de destino padrão?
- Posso usar o SDK do Navigation para rastrear desvios de um caminho definido?
- O usuário pode sair da navegação sem concluir o trajeto?
Simulador
Fluxos de trabalho
Detalhes do produto
-
Seu app precisa implementar uma caixa de diálogo com o aviso dos
Termos de Serviço do SDK do Navigation que precisa ser aceito por cada usuário. Essa caixa de diálogo dá ao
usuário a oportunidade de concordar com os Termos de Serviço. Um arquivo de texto dos
termos é fornecido com o SDK do Navigation.
Use o método
NavigationApi.showTermsAndConditionsDialog
para exibir a caixa de diálogo que contém os termos. - Todos os idiomas compatíveis com o Google Maps para dispositivos móveis são disponibilizados automaticamente no SDK do Navigation. Um dispositivo tem um idioma padrão do sistema e um app não pode mudar essa configuração. No entanto, o app tem acesso a mais de 70 idiomas.
-
Sim. Uma vez iniciado, o
LocationListener
continua em execução em segundo plano. Seu app continua a ajustar a posição da via e mantém a direção. -
Sim. Quando um trajeto é criado ou alterado, o
RouteChangeListener
fornece polilinhas. - Não, o SDK do Navigation não exige que o Google Maps para dispositivos móveis esteja instalado no dispositivo.
- Não, o SDK do Navigation não oferece esse recurso no momento.
- Sim. A direção do tráfego está disponível e é exibida por padrão.
- Quais versões do JDK são compatíveis com o SDK do Navigation?
- O SDK do Navigation é compatível com versões LTS do Java SE com suporte ativo da Oracle. Essas versões estão listadas como tendo Suporte Premier no Roteiro de suporte do Java SE da Oracle.
Rede
- Como o SDK do Navigation lida com uma conectividade ruim?
- O SDK do Navigation pré-armazena em cache o trajeto de cada jornada. As informações pré-armazenadas em cache incluem informações de trajeto de 15 a 20 minutos e alternativas de trajeto caso o usuário se desvie da rota. O SDK do Navigation faz uma aproximação da posição usando o GPS e os sensores do dispositivo.
- O modo off-line está disponível?
- Não, o SDK do Navigation não oferece um modo off-line no momento. No entanto, o SDK fornece informações pré-armazenadas em cache para uma jornada.
Dados
- Posso recuperar todas as paradas/destinos em uma viagem antes de iniciar o trajeto?
-
Sim. Para recuperar as rotas de um trajeto, chame
Navigator.getRouteSegments()
. - A orientação de trajeto passo a passo está disponível no início de um trajeto?
- Sim. O SDK do Navigation oferece uma lista de segmentos de trajeto. Além disso, o usuário pode deslizar o card de rotas no cabeçalho para conferir cada manobra.
- Como o ETA é comunicado aos usuários do app?
-
Siga estas etapas para fornecer informações de HEC aos usuários do app:
- Recupere o tempo e a distância de todos os waypoints usando
Navigator.getTimeAndDistanceList()
. - Encaminhe essas informações para o aplicativo cliente, como faz para o HEC do motorista.
- Recupere o tempo e a distância de todos os waypoints usando
-
O
RoadSnappedLocationProvider
poderá ser usado para acessar a localização atual do usuário se a navegação não estiver em primeiro plano? -
Sim. O
RoadSnappedLocationProvider
é executado em segundo plano por padrão. - O SDK do Navigation oferece suporte à fronteira geográfica virtual?
-
Não. No contexto da navegação,
remainingTimeOrdistanceChangeListener
tem uma vantagem sobre uma fronteira geográfica virtual. A fronteira geográfica virtual pode não considerar a geometria da via e não estar centralizada no ponto exato para o qual o usuário está navegando.É possível aproximar esse recurso usando
remainingTimeOrdistanceChangeListener
.- Defina o limite para determinar a frequência dos callbacks.
- Verifique a distância restante até o destino.
Por exemplo, se você definir o limite como 100 m, receberá um callback quando a distância até o destino mudar em 100 m. À medida que a distância diminui, você pode atualizar esse limite para um valor menor e receber callbacks mais frequentes. Em seguida, inspecione a distância restante para determinar se você está perto o suficiente do local de embarque/desembarque.
- Posso desativar as notificações quando o app de navegação estiver em segundo plano?
-
Sim. Use
Navigator.setHeadsUpNotificationEnabled
para controlar as notificações. Esse método tem um argumento booleano.FALSE
desativa as notificações, e oTRUE
ativa as notificações. -
O gravador de transações rastreia coletas e entregas com um ID exclusivo, que o Google registra para fins de análise do produto. Se você for um cliente de serviços de mobilidade, o Google recomenda que você implemente o
NavigationTransactionRecorder
para registrar um registro das suas transações.
Personalização da interface
- Posso codificar por cores a melhor opção de trajeto?
- Não. No momento, não é possível definir as cores de um trajeto específico.
- O SDK do Navigation pode mostrar o HEC para o destino final?
-
Sim. Use os seguintes métodos:
- Recupere o tempo e a distância de todos os waypoints usando
Navigator.getTimeAndDistanceList()
. - Oculte o HEC do waypoint atual usando
NavigationFragment.setEtaCardEnabled(false)
. - Renderize o ETA de destino final.
- Recupere o tempo e a distância de todos os waypoints usando
- Como posso ocultar as atualizações de HEC?
-
Para desativar os cartões HEC, chame
navigationView.setEtaCardEnabled(false)
. -
Use
StylingOptions
para definir o estilo de cor do plano de fundo. Para ocultar ou mostrar o cabeçalho e o rodapé, use as funções de membrosetHeaderEnabled
esetFooterEnabled
deNavigationFragment
.
Roteamento
- Posso fornecer uma rota específica a um usuário ou remover rotas alternativas?
- Não. Por padrão, várias rotas são fornecidas, e a mais rápida tem prioridade. Você pode afetar o trajeto padrão adicionando preferências, como "evitar rodovias e pedágios", à solicitação. Adicionar waypoints também afeta o trajeto.
- Posso mostrar ao usuário do app um rótulo para o destino diferente do padrão?
-
Sim. Crie um
Marker
com um título personalizado para o destino e a latitude/longitude. O SDK do Navigation mostra o título personalizado e as coordenadas noNavigationMap
. - Posso usar o SDK do Navigation para acompanhar os desvios de um caminho definido?
-
Sim. Use
Navigator.setRouteChangedListener
para receber notificações quando uma rota mudar ou um novo trajeto for recomendado:- Registre um listener que verifica a posição do dispositivo ao longo do trajeto usando o método
Navigator.setRouteChangedListener
. - Adicione o código ao manipulador de eventos de callback,
onRouteChanged
:- Envie uma mensagem ao usuário do app com informações atualizadas de HEC e distância.
- Monitore a localização do dispositivo.
- [opcional] Adicione outros recursos exigidos pelo app para processar quando o usuário estiver fora do trajeto prescrito.
- Registre um listener que verifica a posição do dispositivo ao longo do trajeto usando o método
-
Sim. Chame o método
Navigator.stopGuidance()
para interromper a navegação.
Simulador
- O simulador aceita mudanças de rota?
-
Sim. Chame
simulateLocationsAlongNewRoute
para simular uma jornada que inclui uma mudança de trajeto. O métodosimulateLocationsAlongExistingRoute
ignora as mudanças na rota atual.
Fluxos de trabalho
- Como faço para dispensar a notificação depois de fechar uma atividade que contém um fragmento de navegação?
-
A notificação permanece visível durante a navegação, quando a atividade é fechada. Quando o veículo chega ao destino, a navegação é interrompida, e a notificação desaparece.
Para processar cliques na notificação, use
Navigator.startGuidance(intent resumeIntent)
. Oresume intent
é acionado quando o usuário do app clica na notificação. Normalmente, oNavigator.startguidance(getIntent())
é chamado na atividade principal, que a lembra quando o usuário do app clica na notificação.