Experiência de navegação personalizada

O SDK do Navigation oferece diferentes maneiras de integrar uma experiência de navegação ao seu app. Nesta página, explicamos o que é uma experiência de navegação personalizada e como ela difere de outras experiências disponíveis no SDK do Navigation.

O que é uma experiência de navegação personalizada?

A principal maneira de implementar o SDK do Navigation é usar a experiência de navegação do Google, que permite incorporar uma experiência de navegação guiada que usa elementos e recursos visuais da interface fornecidos pelo Google, semelhante à experiência de navegação nos apps Google Maps. Se você precisa de mais flexibilidade do que a experiência de navegação do Google oferece, é possível implementar uma experiência de navegação personalizada. Uma experiência de navegação personalizada se refere a tudo, desde eliminar a orientação de rota completamente e executar a navegação apenas como um processo em segundo plano até projetar uma experiência de orientação altamente personalizada em uma tela separada do dispositivo que executa a navegação. Com uma experiência de navegação personalizada, seu app chama o SDK do Navigation para solicitar um feed de navegação guiada e, em seguida, você fornece e gerencia os elementos e recursos visuais da interface que aparecem para o usuário na experiência de navegação. Embora o uso da experiência de navegação do Google geralmente seja mais fácil de implementar, criar sua própria experiência permite mais personalização.

Quando você cria uma experiência de navegação personalizada, o app chama o SDK de navegação para iniciar, executar e interromper a navegação usando este fluxo:

  1. Inicie o trajeto. Assim como a experiência de navegação do Google, uma experiência personalizada de navegação ainda envolve a criação de uma instância de navegação e a definição do destino. No entanto, com uma experiência de navegação personalizada, você consegue isso primeiro estabelecendo uma sessão de navegação usando GMSNavigationService.createNavigationSession, que é um objeto não interface com estado que pode operar com um controlador de visualização ou sem um.

    Para mais informações, consulte Ativar feed de dados de navegação guiada.

    Confira a demonstração:o download do SDK do Navigation contém uma demonstração que você pode executar para conferir um exemplo de uma experiência de navegação que alterna entre a orientação passo a passo usando a navegação padrão para uma experiência que mostra apenas o local do dispositivo em movimento ao longo de uma polilinha de estrada.

  2. Navegação ativa. Confira outra diferença importante entre uma experiência de navegação oferecida pelo Google e uma personalizada. Em vez de transferir a orientação ao gerenciador de eventos integrado do SDK do Navigation, você ativa o feed de navegação guiada e implementa manipuladores de eventos. Isso permite que sua experiência responda aos eventos descritos em Detectar eventos de navegação.

  3. Encerrar navegação. Assim como na experiência de navegação do Google, a navegação personalizada também exige que você encerre a navegação da maneira mais adequada para a experiência do app.

Quando você pode usar uma experiência de navegação personalizada?

A tabela a seguir descreve alguns cenários de navegação personalizados.

Exemplo de cenário

Etapas avançadas

Você precisa fornecer orientação somente de texto ao motorista para dispositivos pequenos, como veículos de duas rodas.

Crie seu navegador e configure a orientação passo a passo como um feed de dados em um dispositivo de tela pequena enquanto o navegador é executado no celular do motorista fora da visualização imediata.

Você quer disponibilizar seu app como um serviço de carro para motoristas que usam o Apple Carplay

  1. Configurar o serviço do carro.
  2. Configure seu projeto do SDK do Navigation.
  3. Estabeleça um navegador, caso ainda não tenha feito isso.
  4. Ativar o feed de orientações passo a passo.
  5. Desenhe o mapa na superfície do aplicativo automático e preencha os campos com o feed de dados configurado.

Para ver mais informações, consulte Ativar a navegação para o Carplay.

Os motoristas que usam seu app querem um mapa de visão geral para a maior parte do caminho, com apenas orientações passo a passo mínimas nas ruas da cidade.

O app precisa permitir que os motoristas entrem e saiam da experiência de navegação do Google conforme necessário, sem alternar as configurações do navegador para o destino e o modo de viagem.