Referência de classe do GMSNavigator

Referência de classe do GMSNavigator

Visão geral

Esta é a classe principal do SDK do Navigation para iOS e oferece métodos para controlar a navegação até um destino e acessar informações de trajeto e progresso.

Essa classe não é compatível com subclasses.

Esta classe não é thread-safe. Todos os métodos precisam ser chamados na linha de execução principal.

Funções membro públicas

(nulo)- addListener:
 Adiciona um listener.
(BOOL) - removeListener::
 Remove um listener.
(nulo)- setDestinations:callback:
 Define vários destinos para navegação, substituindo destinos definidos anteriormente.
(nulo)- setDestinations:routingOptions:callback:
 Define vários destinos para navegação, substituindo destinos definidos anteriormente.
(nulo)setDestinations:routeToken:callback:
 Define vários destinos para navegação, usando um token de rota para navegar em uma rota pré-computada.
(nulo)getRouteInfoForDestination:withRoutingOptions:callback:
 Retorna informações de rota com base na estratégia de roteamento: a melhor rota padrão ou a mais curta.
(GMSNavigationWaypoint anulável *)continueToNextDestination
 Obsoleto.
(nulo)clearDestinations
 Limpa todos os destinos definidos anteriormente e remove do mapa todos os trajetos calculados.
(NSTimeInterval)timeToWaypoint:
 Retorna o tempo estimado para o ponto de referência especificado, ou CLTimeIntervalMax, se o waypoint não faz parte do trajeto atual.
(CLLocationDistance)distanceToWaypoint:
 Retorna a distância estimada até o ponto de referência especificado ou CLLocationDistanceMax se o waypoint não fizer parte do trajeto atual.
(nulo)setTransactionIDs:errorHandler:
 Define e registra no servidor os IDs de transações em andamento que se aplicam aos eventos de navegação durante a sessão de navegação atual.

Propriedades

BOOLavoidsHighways
 Define se rodovias devem ser evitadas ao gerar rotas para destinos.
BOOLavoidsTolls
 Define se as vias com pedágio ao gerar trajetos para destinos devem ser evitadas.
BOOLavoidsFerries
 Define se balsas devem ser evitadas ao gerar rotas para destinos.
GMSNavigationLicensePlateRestriction *licensePlateRestriction
 Defina a restrição de placa do carro com o último dígito da placa e o código do país do motorista atual.
BOOLguidanceActive
 Se a orientação passo a passo está ativada no momento.
BOOLstopGuidanceAtArrival
 Indica se a orientação deve ser interrompida automaticamente quando -navigator:didChegaAtWaypoint: é chamado.
NSTimeIntervaltimeUpdateThreshold
 A mudança mínima no tempo estimado para o próximo destino que acionará o método navigator:didUpdateRemainingTime: a ser chamado.
CLLocationDistancedistanceUpdateThreshold
 A mudança mínima na distância estimada até o próximo destino que acionará o método navigator:didUpdateRemainingDistance: a ser chamado.
NSTimeIntervaltimeToNextDestination
 Retorna o tempo estimado para o próximo destino.
CLLocationDistancedistanceToNextDestination
 Retorna a distância estimada até o próximo destino.
GMSNavigationDelayCategorydelayCategoryToNextDestination
 Retorna a categoria de atraso para o próximo destino.
GMSRouteLeg *currentRouteLeg
 A etapa atual da jornada.
NSArray< GMSRouteLeg * > *routeLegs
 Uma matriz de trechos do trajeto em que cada trecho corresponde a um destino definido.
GMSPath *traveledPath
 O caminho que o usuário percorreu na sessão de orientação mais recente, definido como a última vez que guideActive foi definido como YES.
GMSNavigationVoiceGuidancevoiceGuidance
 Determina se a orientação por voz deve ser ativada para alertas de trânsito e de navegação guiada.
GMSVoiceGuidanceAudioDeviceTypeaudioDeviceType
 Determina em quais dispositivos de áudio a orientação por voz pode ser tocada.
BOOLvibrationEnabled
 Determina se o dispositivo também deve vibrar quando alertas de voz são reproduzidos.
BOOLsendsBackgroundNotifications
 Determina se UILocalNotificações que contêm informações de orientação serão apresentadas quando o app estiver em segundo plano.
GMSNavigationLightingModesuggestedLightingMode
 O modo de iluminação sugerido, com base na hora do dia e na localização do dispositivo.
BOOLshouldDisplayPrompts
 Determina se avisos sobre trânsito, melhores trajetos e incidentes devem ser exibidos.
GMSNavigationSpeedAlertOptions *speedAlertOptions
 GMSNavigationSpeedAlertOptions para personalizar os limites de acionamento de GMSNavigationSpeedAlertSeverity.

Observe que essas não são funções de membro.

typedef void(^GMSRouteStatusCallback )(GMSRouteStatus routeStatus)
 Chamado quando um trajeto do local do dispositivo para os destinos fornecidos é encontrado ou não é encontrado por um motivo indicado pelo RouteStatus.
typedef void(^GMSRouteInfoCallback )(GMSNavigationRouteInfo *_Nullable routeInfo)
 Chamado quando as informações de trajeto (HEC e distância) até o waypoint fornecido são calculadas.
typedef void(^GMSNavigationTransactionIDErrorHandler)(NSError *erro)
 Chamado se a definição de IDs de transação por meio de setTransactionIDs falhar.

Documentação da função membro

- (nulo) addListener: (id< GMSNavigatorListener >) ouvinte

Adiciona um listener.

O listener é mantido com uma referência fraca.

Parâmetros:
listenerUm objeto em conformidade com o protocolo GMSNavigatorListener.
– (BOOL) removeListener: (id< GMSNavigatorListener >) ouvinte

Remove um listener.

Parâmetros:
listenerUm objeto em conformidade com o protocolo GMSNavigatorListener.
Retorna:
Retorna YES se o listener tiver sido removido. Retorna NO se o objeto não era um listener.
- (void) setDestinations: (NSArray< GMSNavigationWaypoint * > *) destinos
callback: (GMSRouteStatusCallback) callback

Define vários destinos para navegação, substituindo destinos definidos anteriormente.

O callback fornecido será chamado com GMSRouteStatusOK se um trajeto for encontrado do local do dispositivo até o destino especificado. Se um novo destino for definido antes que um trajeto seja encontrado, a solicitação será cancelada e o callback será chamado com GMSRouteStatusCanceled. Se não for possível encontrar uma rota por qualquer outro motivo, o callback será chamado com um status de erro adequado.

O callback sempre será enviado de forma assíncrona na fila principal.

- (void) setDestinations: (NSArray< GMSNavigationWaypoint * > *) destinos
routingOptions: (GMSNavigationRoutingOptions *) routingOptions
callback: (GMSRouteStatusCallback) callback

Define vários destinos para navegação, substituindo destinos definidos anteriormente.

As rotas retornadas são calculadas usando as opções de roteamento.

Parâmetros:
destinosUma matriz de waypoints do destino.
routingOptionsAs opções que influenciam a lógica de roteamento (estratégia de roteamento).
callbackChamado quando um trajeto do local do consumidor até os destinos fornecidos é encontrado ou não é encontrado por um motivo indicado pelo RouteStatus.
- (void) setDestinations: (NSArray< GMSNavigationWaypoint * > *) destinos
routeToken: (NSString *) routeToken
callback: (GMSRouteStatusCallback) callback

Define vários destinos para navegação, usando um token de rota para navegar em uma rota pré-computada.

Os trajetos serão os mesmos, as mudanças de módulo para o local de partida do motorista e para as condições da estrada/trânsito. Os redirecionamentos ainda ocorrerão com base nas opções de roteamento codificadas no token.

Apenas GMSNavigationTravelModeDriving e GMSNavigationTravelModeTwoWheeler são aceitos quando você usa o token de rota para iniciar uma sessão de navegação. Defina o meio de transporte definindo travelMode. A chamada vai falhar se o modo de transporte atual não for compatível, e um GMSRouteStatusTravelModeUnsupported será retornado no callback.

Parâmetros:
destinosUma matriz de waypoints de destino deve ser igual aos destinos fornecidos à API Routespreferred para receber o token de rota.
routeTokenUma string do token de rota retornada pela API Routespreferred. As opções de roteamento especificadas na API Routespreferred são codificadas nesse token de rota e serão usadas para gerar a rota pré-computada ou uma nova rota quando ocorrer o redirecionamento.
callbackChamado quando um trajeto do local do consumidor para os destinos fornecidos é encontrado, ou não é encontrado por um motivo indicado pelo RouteStatus.
- (void) getRouteInfoForDestination: (GMSNavigationWaypoint *) destino
withRoutingOptions: (GMSNavigationRoutingOptions *) routingOptions
callback: (GMSRouteInfoCallback) callback

Retorna informações de rota com base na estratégia de roteamento: a melhor rota padrão ou a mais curta.

Esse método está disponível apenas para clientes dos Serviços de mobilidade que são cobrados pelo Google por transação. Retorna um valor "nil" se o projeto não tiver permissão para chamar essa API.

Parâmetros:
destinoO waypoint de destino.
routingOptionsAs opções usadas para buscar as informações do trajeto. A estratégia de roteamento e a estratégia de rotas alternativas são ignoradas porque esse método retorna as informações de rota para todas as estratégias de roteamento.
callbackO callback chamado quando as informações de rotas são recebidas.

Obsoleto.

Chame um dos métodos -setDestinations:... com a nova lista de destinos.

Mostra o primeiro destino da lista atual. Após esta chamada, a orientação será para o próximo destino, se houver.

Retorna:
a orientação do waypoint está indo em direção a ela ou nula se não houver mais waypoints restantes.
Observação:
O uso foi descontinuado. Use um dos métodos -setDestinations:....
– (void) clearDestinations

Limpa todos os destinos definidos anteriormente e remove do mapa todos os trajetos calculados.

Se a orientação estiver ativa, ela será interrompida automaticamente.

— (NSTimeInterval) timeToWaypoint: (GMSNavigationWaypoint *) waypoint

Retorna o tempo estimado para o ponto de referência especificado, ou CLTimeIntervalMax, se o waypoint não faz parte do trajeto atual.

Ela é atualizada com base na posição atual do dispositivo enquanto a orientação está ativa.

Retorna CLTimeIntervalMax se o ponto de referência fornecido não for um destino no trajeto atual.

– (CLLocationDistance) distanceToWaypoint: (GMSNavigationWaypoint *) waypoint

Retorna a distância estimada até o ponto de referência especificado ou CLLocationDistanceMax se o waypoint não fizer parte do trajeto atual.

Ela será atualizada com base na posição atual do dispositivo enquanto a orientação estiver ativa.

Retorna CLLocationDistanceMax se o ponto de referência fornecido não for um destino no trajeto atual.

- (void) setTransactionIDs: (NSArray< NSString * > *) transactionIDs
errorHandler: (GMSNavigationTransactionIDErrorHandler anulável) errorHandler

Define e registra no servidor os IDs de transações em andamento que se aplicam aos eventos de navegação durante a sessão de navegação atual.

Os IDs das transações serão apagados no final da sessão de navegação. Esse método está disponível apenas para clientes dos Serviços de mobilidade que são cobrados pelo Google por transação. Retorna um valor "nil" se o projeto não tiver permissão para chamar essa API.

Parâmetros:
transactionIDsOs IDs da transação que se aplicam à sessão de navegação atual. O ID precisa ser exclusivo para cada transação faturável. Um ID de transação individual precisa conter no mínimo um e no máximo 64 caracteres. A lista pode ficar vazia quando uma transação terminar, mas a sessão ainda está em andamento.
errorHandlerUm bloqueio que será invocado de maneira assíncrona na linha de execução principal se ocorrer um erro quando os IDs da transação forem inválidos.

- (typedef void(^ GMSRouteStatusCallback)(GMSRouteStatus routeStatus)) [related]

Chamado quando um trajeto do local do dispositivo para os destinos fornecidos é encontrado ou não é encontrado por um motivo indicado pelo RouteStatus.

- (typedef void(^ GMSRouteInfoCallback)(GMSNavigationRouteInfo *_Nullable routeInfo)) [related]

Chamado quando as informações de trajeto (HEC e distância) até o waypoint fornecido são calculadas.

Parâmetros:
routeInfoAs informações de trajeto até o destino especificado. Será nulo se o cálculo falhar.
- (typedef void(^ GMSNavigationTransactionIDErrorHandler)(NSError *error)) [related]

Chamado se a definição de IDs de transação por meio de setTransactionIDs falhar.

Consulte a documentação da API para mais detalhes.


Documentação da propriedade

– (BOOL) avoidsHighways [read, write, assign]

Define se rodovias devem ser evitadas ao gerar rotas para destinos.

O padrão é NO.

– (BOOL) avoidsTolls [read, write, assign]

Define se as vias com pedágio ao gerar trajetos para destinos devem ser evitadas.

O padrão é NO.

- (BOOL) avoidsFerries [read, write, assign]

Define se balsas devem ser evitadas ao gerar rotas para destinos.

O padrão é YES.

Defina a restrição de placa do carro com o último dígito da placa e o código do país do motorista atual.

Isso nos permite desviar de certos tipos de restrições de vias com base no número da placa. Isso se aplica apenas às chamadas de setDestinations feitas depois que esse valor é definido. O ideal é definir isso imediatamente após instalar o Navigator.

Defina como nulo se não houver restrições de placas de veículos. O padrão é nulo.

– (BOOL) guidanceActive [read, write, assign]

Se a orientação passo a passo está ativada no momento.

Se guideActive for YES, mas nenhum trajeto estiver disponível no momento, a orientação começará quando um trajeto estiver disponível. Esta propriedade será definida como NO se ClearDestinations for chamado ou se chegarmos a um waypoint.

– (BOOL) stopGuidanceAtArrival [read, write, assign]

Indica se a orientação deve ser interrompida automaticamente quando -navigator:didChegaAtWaypoint: é chamado.

Quando NÃO, o cabeçalho e o rodapé de navegação continuam sendo exibidos após a chegada. O cabeçalho da navegação vai continuar mostrando a etapa final da orientação, e o rodapé da navegação vai atualizar o tempo e a distância restantes até que o tempo/distância 0 seja alcançado. Além disso, as atualizações de -navigator:didUpdateDeliverTime e -navigator:didUpdateFullscreenDistance vão continuar. Defina guidanceActive explicitamente como "NÃO" para interromper as orientações e as atualizações de tempo/distância restantes.

Quando YES, guidanceActive será definido automaticamente como NO na chegada.

O padrão é YES.

- (NSTimeInterval) timeUpdateThreshold [read, write, assign]

A mudança mínima no tempo estimado para o próximo destino que acionará o método navigator:didUpdateRemainingTime: a ser chamado.

Se definido como NSTimeIntervalMax, os retornos de chamada de atualização de tempo serão desativados. Se um valor for definido como negativo, o limite padrão de um segundo será usado. O padrão é um segundo.

Observação:
Esse valor será ignorado se nenhum listener implementar navigator:didUpdateRemainingTime:.
– (CLLocationDistance) distanceUpdateThreshold [read, write, assign]

A mudança mínima na distância estimada até o próximo destino que acionará o método navigator:didUpdateRemainingDistance: a ser chamado.

Se for definido como CLLocationDistanceMax, os callbacks de atualização de distância serão desativados. Se o valor for negativo, o limite padrão de um medidor será usado. O padrão é um metro.

Observação:
Esse valor será ignorado se nenhum listener implementar navigator:didUpdateRemainingDistance:.
– (NSTimeInterval) timeToNextDestination [read, assign]

Retorna o tempo estimado para o próximo destino.

Ela será atualizada com base na posição atual do dispositivo enquanto a orientação estiver ativa.

Retorna CLTimeIntervalMax se nenhuma rota estiver disponível.

– (CLLocationDistance) distanceToNextDestination [read, assign]

Retorna a distância estimada até o próximo destino.

Ela será atualizada com base na posição atual do dispositivo enquanto a orientação estiver ativa.

Retorna CLLocationDistanceMax se nenhum trajeto estiver disponível.

- (GMSNavigationDelayCategory) delayCategoryToNextDestination [read, assign]

Retorna a categoria de atraso para o próximo destino.

Ela será atualizada com base na posição atual do dispositivo enquanto a orientação estiver ativa.

Retorna GMSNavigationDelayCategoryNoData se nenhuma rota estiver disponível ou se os dados de tráfego não estiverem disponíveis.

- (GMSRouteLeg*) currentRouteLeg [read, assign]

A etapa atual da jornada.

Este GMSRouteLeg terá sua posição inicial como a posição mais recente conhecida (correspondente à estrada) do dispositivo.

- (NSArray<GMSRouteLeg *>*) routeLegs [read, assign]

Uma matriz de trechos do trajeto em que cada trecho corresponde a um destino definido.

- (GMSPath*) traveledPath [read, assign]

O caminho que o usuário percorreu na sessão de orientação mais recente, definido como a última vez que guideActive foi definido como YES.

O caminho consiste em locais posicionados na via, retornados por GMSRoadSnappedLocationProvider e simplificados para produzir segmentos de linha.

Observação:
O sistema pesquisa sinais de GPS no cliente para coletar dados de localização. Um sinal de GPS ruim pode resultar em mais interpolação, o que pode produzir rotas menos precisas. Esse caminho vai ficar vazio se a orientação não tiver sido iniciada.
- (GMSNavigationVoiceGuidance) voiceGuidance [read, write, assign]

Determina se a orientação por voz deve ser ativada para alertas de trânsito e de navegação guiada.

O padrão é GMSNavigationVoiceNavigationAlertsAndOrientation.

Determina em quais dispositivos de áudio a orientação por voz pode ser tocada.

O padrão é GMSVoiceOrientationAudioDeviceTypeBluetooth.

– (BOOL) vibrationEnabled [read, write, assign]

Determina se o dispositivo também deve vibrar quando alertas de voz são reproduzidos.

– (BOOL) sendsBackgroundNotifications [read, write, assign]

Determina se UILocalNotificações que contêm informações de orientação serão apresentadas quando o app estiver em segundo plano.

O padrão é YES.

O modo de iluminação sugerido, com base na hora do dia e na localização do dispositivo.

- (BOOL) shouldDisplayPrompts [read, write, assign]

Determina se avisos sobre trânsito, melhores trajetos e incidentes devem ser exibidos.

O padrão é YES.

GMSNavigationSpeedAlertOptions para personalizar os limites de acionamento de GMSNavigationSpeedAlertSeverity.

É possível usar essa propriedade para personalizar em porcentagem os limites de acionamento de alertas de velocidade, sejam eles secundários ou grandes. Também é possível usar esse método para personalizar o limite de acionamento com base no tempo do alerta de velocidade máxima.

Ao definir zero, você não receberá dados de feed de velocidade máxima, e o alerta de velocidade padrão do NavSDK será exibido: o alerta de velocidade mostra um texto em vermelho quando a velocidade está acima do limite de velocidade acima de 5 mph ou 10 km/h, e mostra texto branco e plano de fundo vermelho quando ultrapassa 16 km/h ou 20 km/h.