Gerenciar waypoints

Por padrão, o SDK Navigation para Android encontra o trajeto mais rápido até um waypoint, mas isso não garante que o veículo vai chegar no lado da via em que o consumidor está esperando ou que o local de chegada é seguro para o motorista parar. Este guia descreve dois recursos que podem ser usados nessas situações:

  • Preferência de trajeto pelo lado da via
  • Recurso de parada

Preferência de roteamento do lado da rota

Você pode definir uma preferência para chegar a um lado específico da via ao criar um ponto de referência para uma parada. Você pode especificar a preferência de duas maneiras: preferir o mesmo lado da via ou fornecer um sentido de chegada.

Prefira o mesmo lado da via

Você fornece as coordenadas geográficas do ponto de referência e define uma flag (setPreferSameSideOfRoad) que indica que você prefere chegar no mesmo lado da via que o ponto de referência, ajustado à calçada mais próxima.

Waypoint waypoint =
   Waypoint.builder()
           .setLatLng(latitude, longitude)
           .setTitle("Somewhere in Sydney")
           .setPreferSameSideOfRoad(true)
           .build()

Definir um destino de chegada

Você informa as coordenadas geográficas do ponto de referência e, em seguida, um rumo de chegada (setPreferredHeading) que corresponda à direção do fluxo de tráfego no mesmo lado da via que o consumidor em espera.

Waypoint waypoint =
   Waypoint.builder()
           .setLatLng(latitude, longitude)
           .setTitle("Somewhere in Sydney")
           .setPreferredHeading(preferredHeading)
           .build()

O SDK Navigation escolhe o segmento de via mais próximo do waypoint que tem um sentido de faixa alinhado (em +/- 55 graus) com o lado da via em que o waypoint está.

Definir preferência de escala

Em alguns lugares, não é possível parar com segurança (por exemplo, áreas elevadas, balsas, locais subterrâneos e outras áreas de acesso limitado). O recurso Parada realoca o ponto de referência para um lugar próximo se o local não for adequado para um veículo fazer uma parada. Quando você define setVehicleStopover como true, o waypoint é automaticamente realocado quando o trajeto é calculado, se um local alternativo estiver disponível.

Como funciona

Você define a preferência de uma parada ao criar o ponto de referência dela. Para fazer isso, especifique a preferência setVehicleStopover, conforme mostrado no exemplo a seguir:

Waypoint waypoint =
   Waypoint.builder()
           .setLatLng(latitude, longitude)
           .setTitle("Somewhere in Sydney")
           .setVehicleStopover(true)
           .build()