Perguntas frequentes
Detalhes do produto
- Como o aviso dos Termos de Serviço do SDK do Navigation deve ser mostrado?
- Quais idiomas são compatíveis com a orientação por voz?
- A direção é mantida quando o motorista sai do modo de navegação?
- As polilinhas estão disponíveis ao iniciar ou mudar uma rota?
- Os usuários do app precisam ter o Google Maps para dispositivos móveis instalado?
- O SDK Navigation pode identificar estacionamentos perto de restaurantes e outros destinos?
- O SDK Navigation mostra a direção do trânsito nas faixas ao se aproximar de um ponto de conversão?
Problemas
- No Xcode 12, os apps não são compilados corretamente para o simulador. Como posso resolver isso?
- GMSMapViewnão carrega.
Rede
Dados
- Posso recuperar todas as paradas/destinos de uma viagem antes de iniciar o trajeto?
- A navegação guiada está disponível no início de um trajeto?
- Como a hora estimada de chegada (HEC) é comunicada aos usuários do app?
- O RoadSnappedLocationProviderpode ser usado para obter a localização atual do motorista se a navegação não estiver em primeiro plano?
- O SDK do Navigation é compatível com geofencing?
- Posso desativar as notificações quando o app Navegação está em segundo plano?
Personalização da interface
- Posso usar cores para destacar a melhor opção de trajeto?
- O SDK Navigation pode mostrar o HEC do destino final?
- Como posso ocultar as atualizações de ETA?
- Quais personalizações de interface estão disponíveis para os cards de cabeçalho e rodapé?
Roteamento
- Posso fornecer um trajeto específico para um motorista ou remover trajetos alternativos?
- Posso mostrar ao motorista um rótulo diferente para o destino em vez do local padrão?
- Posso usar o SDK Navigation para rastrear desvios de um caminho definido?
- O motorista pode sair da navegação sem concluir o trajeto?
Simulador
Fluxos de trabalho
Serviços de mobilidade
- Como o uso do SDK Navigation é diferente para clientes de serviços de mobilidade?
- Como saber se sou cliente dos Serviços de mobilidade?
- Como o SDK do Navigation é faturado para clientes de serviços de mobilidade?
- Quais APIs do SDK Navigation devem ser usadas apenas por clientes de serviços de mobilidade?
- Se eu for cliente do Mobility Services, também poderei usar uma implementação do SDK Navigation que não seja do Mobility Services?
Detalhes do produto
- Seu app precisa implementar uma caixa de diálogo com o aviso dos Termos de Serviço do SDK Navigation que cada motorista precisa aceitar. Essa caixa de diálogo dá ao motorista a oportunidade de concordar com os Termos de Serviço. Um arquivo de texto com os termos é fornecido com o SDK Navigation.
- No Android, use o método NavigationApi.showTermsAndConditionsDialogpara mostrar a caixa de diálogo com os termos.
- No iOS, chame
GMSNavigationServices.showTermsAndConditionsDialogIfNeededWithCompanyName.
- Todos os idiomas compatíveis com o Google Maps para dispositivos móveis estão disponíveis automaticamente para o SDK 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. No Android, depois de iniciado, o LocationListenercontinua em execução em segundo plano. O app continua ajustando a posição à via e mantém o rolamento.No iOS, para continuar recebendo atualizações de localização de posição e orientação em segundo plano, implemente o ajuste de rota e defina allowsBackgroundLocationUpdatescomoYES.
- 
Sim. Quando uma rota é criada ou alterada, o RouteChangeListenerfornece polilinhas.
- Não, o SDK Navigation não exige que o Google Maps para dispositivos móveis seja instalado no dispositivo.
- Não, o SDK Navigation não oferece essa funcionalidade no momento.
- Sim. A direção do tráfego está disponível e é mostrada por padrão.
Problemas
- No Xcode 12, os apps não são compilados corretamente para o simulador. Como faço para resolver isso?
- 
Para corrigir esse problema, abra as configurações de criação do seu projeto do Xcode e adicione arm64aExcluded Architecturessomente para versões do "simulador de iOS".Se quiser mais informações, consulte a seguinte conversa do StackOverflow (em inglês). 
- O GMSMapView não carrega.
- 
Se o GMSMapView não carregar: - Verifique se o NavSDK está ativado no console do Cloud.
- Se o SDK Navigation estiver instalado, mas seu projeto não usar as APIs dele, remova-o do seu binário.
 
Rede
- Como o SDK do Navigation lida com conectividade ruim?
- O SDK Navigation faz o pré-armazenamento em cache do trajeto para cada viagem. As informações pré-armazenadas em cache incluem informações de roteamento por 15 a 20 minutos e alternativas de rota caso o motorista se desvie do caminho. O SDK Navigation aproxima a posição usando o GPS e os sensores do dispositivo.
- Existe um modo off-line?
- Não, o SDK Navigation não oferece um modo off-line no momento. No entanto, ele fornece informações pré-armazenadas em cache para uma viagem.
Dados
- Posso recuperar todas as paradas/destinos em uma viagem antes de iniciar o trajeto?
- 
Sim. No Android, para recuperar as rotas de um trajeto, chame Navigator.getRouteSegments().No iOS, chame GMSNavigator.routeLegs(read).
- A orientação de trajeto passo a passo está disponível no início de um trajeto?
- Sim. O SDK Navigation fornece uma lista de trechos de rota. Além disso, o motorista pode deslizar pelo card de rotas no cabeçalho para conferir cada manobra.
- Como a ETA é comunicada aos usuários do app?
- 
  No Android, siga estas etapas para fornecer informações de ETA aos usuários do app: - Recupere o tempo e a distância para todos os waypoints usando
    Navigator.getTimeAndDistanceList().
- Encaminhe essas informações para o aplicativo cliente, assim como faz com a ETA do motorista.
 No iOS, siga estas etapas para informar a ETA aos usuários do app: -  Recupere as etapas da jornada usando
    Navigator.getRouteSegments().
-  Chame GMSNavigator.timeToNextDestinationpara cada trecho da viagem.
- Encaminhe as informações de tempo para o aplicativo cliente, assim como você faz com o HEC do motorista.
 
- Recupere o tempo e a distância para todos os waypoints usando
    
- 
O RoadSnappedLocationProviderpode ser usado para receber a localização fixada atual do motorista se a navegação não estiver em primeiro plano?
- 
Sim. No Android, o RoadSnappedLocationProvideré executado em segundo plano por padrão.No iOS, para manter a navegação em segundo plano, implemente o listener para GMSRoadSnappedLocationProviderListenere defina a propriedadeallowsBackgroundLocationUpdatescomoTRUE.
- O SDK do Navigation oferece suporte à fronteira geográfica virtual?
- 
  Não. No contexto da navegação, remainingTimeOrdistanceChangeListenertem uma vantagem sobre uma fronteira geográfica virtual. A geocerca pode não considerar a geometria da via e não estar centralizada no ponto exato para onde o motorista está navegando.É possível aproximar essa funcionalidade 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, vai 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 com mais frequência. Em seguida, verifique a distância restante para determinar se você está perto o suficiente do local de embarque/desembarque. No iOS, implemente o listener GMSNavigatorListener.didUpdateRemainingDistancepara gerenciar a distância entre as notificações.
- Posso desativar as notificações quando o app Navegação está em segundo plano?
- 
Sim. No Android, use Navigator.setHeadsUpNotificationEnabledpara controlar as notificações. Esse método tem um argumento booleano.FALSEdesativa as notificações;TRUEativa as notificações.No iOS, desative a notificação em segundo plano para locais ajustados à via definindo GMSRoadSnappedLocationProvider.allowsBackgroundLocationUpdatescomo NO.Para desativar o processamento em segundo plano de outras notificações de local, chame GMSNavigator.sendsBackgroundNotifications(NO).
Personalização da interface
- Posso usar cores para indicar a melhor opção de trajeto?
- Não. No momento, não é possível usar cores para destacar uma opção de trajeto específica.
- O SDK Navigation pode mostrar o HEC do destino final?
- 
  Sim. No Android, use os seguintes métodos: - Recupere o tempo e a distância para todos os waypoints usando
    Navigator.getTimeAndDistanceList().
- Oculta a HEC do ponto de parada atual usando
    NavigationFragment.setEtaCardEnabled(false).
- Renderize o HEC do destino final.
 No iOS, use o seguinte: - Ligue para a GMSNavigator.routeLegs(read).
- Na última etapa, chame
      GMSNavigator.timeToNextDestination.
- Oculte a ETA do ponto de parada atual usando
      MSMapView.settings.navigationFooterEnabled=NOcomo FALSE.
- Renderize o HEC do destino final.
 
- Recupere o tempo e a distância para todos os waypoints usando
    
- Como posso ocultar as atualizações de ETA?
- 
  É possível desativar os cards de ETA usando os seguintes métodos: - No Android, use navigationView.setEtaCardEnabled(false).
- No iOS, use GMSMapView.settings.navigationFooterEnabled=NO.
 
- No Android, use 
- 
No Android, use StylingOptionspara definir o estilo da cor de segundo plano. Para ocultar ou mostrar o cabeçalho e o rodapé, use as funções de membrosetHeaderEnabledesetFooterEnableddeNavigationFragment.No iOS, use GMSMapView.settings.navigationHeaderPrimaryBackgroundColorpara definir o estilo da cor de plano de fundo. Para ocultar ou mostrar o cabeçalho e o rodapé, use as propriedadesnavigationFooterEnabledenavigationHeaderEnableddeGMSUISettings.
Roteamento
- Posso fornecer um trajeto específico a um motorista ou remover trajetos alternativos?
- Não. Por padrão, vários trajetos são fornecidos, e o mais rápido tem prioridade. Você pode afetar a rota padrão adicionando preferências, como "evitar rodovias e pedágios", à sua solicitação. Adicionar pontos de referência também afeta o trajeto.
- Posso mostrar ao usuário do app um rótulo diferente para o destino do que o local de destino padrão?
- 
Sim. No Android, crie um Markercom um título personalizado para o destino e a latitude/longitude. O SDK Navigation mostra o título personalizado e as coordenadas noNavigationMap.No iOS, você cria e mostra um GMSMarkerpara o destino.
- Posso usar o SDK Navigation para rastrear desvios de um caminho definido?
- 
  Sim. No Android, use Navigator.setRouteChangedListenerpara receber notificações quando um trajeto mudar ou um novo for recomendado:- Registre um listener que verifique a posição do dispositivo ao longo da rota
      usando o método Navigator.setRouteChangedListener.
- Adicione código ao gerenciador de eventos de callback, onRouteChanged:- Envie uma mensagem para o usuário do app com informações atualizadas sobre HEC e distância.
- Rastrear a localização do dispositivo.
- [opcional] Adicione outras funcionalidades necessárias para o app lidar com quando o motorista estiver fora da rota prescrita.
 
 No iOS, use o GMSNavigatore os listeners dele para receber notificações quando uma rota muda ou uma nova rota é recomendada:- No controlador de visualizações do mapa, implemente os protocolos GMSNavigatorListenereGMSRoadSnappedLocationProviderListener.
- Implemente
         GMSNavigatorListener.navigatorDidChangeRoute.
- Acesse a nova rota usando as propriedades routeLegsecurrentRouteLegdoGMSNavigator.
 
- Registre um listener que verifique a posição do dispositivo ao longo da rota
      usando o método 
- 
Sim. No Android, chame o método Navigator.stopGuidance()para parar a navegação.No iOS, chame GMSNavigator.clearDestinations.
Simulador
- O simulador é compatível com mudanças de rota?
- 
Sim. No Android, chame simulateLocationsAlongNewRoutepara simular uma jornada que inclua uma mudança de rota. O métodosimulateLocationsAlongExistingRouteignora as mudanças na rota atual.No iOS, use GMSLocationSimulator.simulateAlongNewRouteToDestinationspara simular uma viagem que inclui uma mudança de rota. Se você não prevê mudanças de rota, useGMSLocationSimulator.simulateLocationsAlongExistingRouteouGMSLocationSimulator.simulateAlongNewRouteToDestinations.
Fluxos de trabalho
- Como dispensar a notificação depois de fechar uma atividade que contém um fragmento de navegação?
- 
A notificação de navegaçã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 o Navigator.startGuidance(intent resumeIntent). Oresume intenté disparado quando o usuário do app clica na notificação. Normalmente, oNavigator.startguidance(getIntent())é chamado da Activity principal, que a chama de volta quando o usuário do app clica na notificação.
Serviços de mobilidade
Os Serviços de mobilidade da Plataforma Google Maps oferecem uma coleção de APIs e SDKs para ajudar a atender às necessidades de transporte e logística das empresas. Para clientes de serviços de mobilidade, o SDK Navigation geralmente é usado com serviços relacionados para otimização de rotas, despacho, rastreamento de tarefas, análise de frota e muito mais. O SDK Navigation também é faturado de maneira diferente para clientes de serviços de mobilidade. Para mais informações, consulte a documentação dos Serviços de mobilidade.
Os produtos de mobilidade estão disponíveis apenas para alguns clientes. Entre em contato com seu representante de vendas para mais informações.
ReportBillableEvent no seu código. Apenas clientes do Mobility Services podem chamar o método ReportBillableEvent.
Há várias APIs no SDK Navigation destinadas apenas ao uso por clientes dos Serviços de mobilidade, que são cobrados pelo Google por transação. Se você não for um cliente do Mobility Services, os seguintes métodos serão no-ops:
Sim, os clientes do Mobility Services podem usar as implementações do SDK Navigation para Mobility Services e para outros serviços. No entanto, só é possível usar um tipo de implementação em um app por vez. Também é necessário criar um novo projeto do Google Cloud, uma conta de faturamento e uma chave de API, separados daqueles que você usa com a implementação dos Serviços de mobilidade. Para mais informações, consulte a visão geral da configuração do SDK Navigation.
Para mais informações sobre como usar uma implementação do SDK Navigation que não seja dos Serviços de mobilidade, incluindo a migração de um app de um tipo de implementação para outro, entre em contato com o representante da sua Conta do Google.
Observação: se você não é cliente dos Serviços de mobilidade e quer saber mais sobre a coleção de APIs e SDKs dos Serviços de mobilidade, entre em contato com a equipe de vendas da Plataforma Google Maps.