Visão geral
Esta é a classe principal do SDK do Google 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 aceita 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 | |
(void) | addListener: |
Adiciona um listener. | |
(BOOL) | - removeListener: |
Remove um listener. | |
(void) | — setDestinations:callback: |
Define vários destinos para navegação, substituindo todos os destinos definidos anteriormente. | |
(void) | - setDestinations:routingOptions:callback: |
Define vários destinos para navegação, substituindo todos os destinos definidos anteriormente. | |
(void) | setDestinations:routeToken:callback: |
Define vários destinos para navegação, usando um token de rota para navegar em uma rota pré-computada. | |
(void) | — getRouteInfoForDestination:withRoutingOptions:callback: |
Retorna informações de rota com base na estratégia de roteamento: melhor rota padrão ou mais curta. | |
(GMSNavigationWaypoint * anulável) | — continueToNextDestination |
Obsoleto. | |
(void) | - clearDestinations |
Limpa todos os destinos definidos anteriormente e remove todos os trajetos calculados do mapa. | |
(NSTimeInterval) | timeToWaypoint: |
Retorna o tempo estimado para o waypoint 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 ponto de referência não fizer parte do trajeto atual. | |
(void) | – setTransactionIDs:errorHandler: |
Define e registra no servidor os IDs de transação em andamento que se aplicam aos eventos de navegação durante a sessão de navegação atual. | |
Propriedades | |
BOOL | avoidsHighways |
Define se as rodovias serão evitadas ao gerar trajetos para destinos. | |
BOOL | avoidsTolls |
Define se você deve evitar vias com pedágio ao gerar trajetos para destinos. | |
BOOL | avoidsFerries |
Define se balsas devem ser evitadas ao gerar rotas para destinos. | |
GMSNavigationLicensePlateRestriction * | licensePlateRestriction |
Defina restrições de placa com o último dígito da placa e o código do país do motorista. | |
BOOL | guidanceActive |
Se a orientação passo a passo está ativada no momento. | |
BOOL | stopGuidanceAtArrival |
Define se a orientação precisa ser interrompida automaticamente quando -navigator :didOutcomeAtWaypoint: for chamado. | |
NSTimeInterval | timeUpdateThreshold |
A mudança mínima no tempo estimado para o próximo destino que acionará a chamada do método navigator:didUpdateRemainingTime: . | |
CLLocationDistance | distanceUpdateThreshold |
A mudança mínima na distância estimada até o próximo destino que aciona a chamada do método navigator:didUpdateRemainingDistance: . | |
NSTimeInterval | timeToNextDestination |
Retorna o tempo estimado para o próximo destino. | |
CLLocationDistance | distanceToNextDestination |
Retorna a distância estimada para o próximo destino. | |
GMSNavigationDelayCategory | delayCategoryToNextDestination |
Retorna a categoria de atraso para o próximo destino. | |
GMSRouteLeg * | currentRouteLeg |
O trecho 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 percorrido pelo dispositivo desde a última vez que o guideActive foi definido como YES. | |
GMSNavigationVoiceGuidance | voiceGuidance |
Determina se a orientação por voz deve ser ativada para alertas de trânsito e navegação guiada. | |
GMSVoiceGuidanceAudioDeviceType | audioDeviceType |
Determina quais dispositivos de áudio a orientação por voz pode tocar. | |
BOOL | vibrationEnabled |
Determina se o dispositivo também deve vibrar quando os alertas de voz são reproduzidos. | |
BOOL | sendsBackgroundNotifications |
Determina se UILocalNotifications contendo informações de orientação serão apresentadas quando o aplicativo estiver em segundo plano. | |
GMSNavigationLightingMode | suggestedLightingMode |
O modo de iluminação sugerido com base na hora do dia e na localização do dispositivo. | |
BOOL | shouldDisplayPrompts |
Determina se as solicitações de trânsito, trajetos melhores e incidentes devem ser exibidos. | |
GMSNavigationSpeedAlertOptions * | speedAlertOptions |
GMSNavigationSpeedAlertOptions para personalizar os limites de acionamento de GMSNavigationSpeedAlertSeverity. | |
Funções relacionadas | |
Observe que essas não são funções de membro. | |
typedef void(^ | GMSRouteStatusCallback)(routeStatus GMSRouteStatus) |
Chamado quando um trajeto do local do dispositivo para os destinos fornecidos é encontrado ou não é possível 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 *error) |
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:
-
listener Um objeto em conformidade com o protocolo GMSNavigatorListener
.
- (BOOL) removeListener: | (id< GMSNavigatorListener >) | ouvinte |
Remove um listener.
- Parâmetros:
-
listener Um objeto em conformidade com o protocolo GMSNavigatorListener
.
- Retorna:
- Retorna YES se o listener tiver sido removido. Retorna NO se o objeto não for um listener.
- (void) setDestinations: | (NSArray< GMSNavigationWaypoint * > *) | destinos | |
callback: | (GMSRouteStatusCallback). | callback | |
Define vários destinos para navegação, substituindo todos os destinos definidos anteriormente.
O retorno de chamada 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 de uma rota ser encontrada, a solicitação será cancelada, e o retorno de chamada 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 maneira assíncrona na fila principal.
- (void) setDestinations: | (NSArray< GMSNavigationWaypoint * > *) | destinos | |
roteamentoOptions: | (GMSNavigationRoutingOptions *) | routingOptions | |
callback: | (GMSRouteStatusCallback). | callback | |
Define vários destinos para navegação, substituindo todos os destinos definidos anteriormente.
As rotas retornadas são calculadas usando opções de roteamento.
- Parâmetros:
-
destinos Uma matriz de waypoints de destino. routingOptions As opções que influenciam a lógica de roteamento (estratégia de roteamento). callback Chamado quando um trajeto do local do consumidor para 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 são os mesmos, e o módulo muda para o local de partida do motorista e as condições da estrada/trânsito. Os redirecionamentos ainda vão ocorrer com base nas opções de roteamento codificadas no token.
Somente GMSNavigationTravelModeDriving
e GMSNavigationTravelModeTwoWheeler
são aceitos quando você usa o token de rota para iniciar uma sessão de navegação. Configure o meio de transporte definindo travelMode
. A chamada vai falhar se o modo de viagem atual não for compatível, e um GMSRouteStatusTravelModeUnsupported
será retornado no callback.
- Parâmetros:
-
destinos Uma matriz de waypoints de destino deve ser igual aos destinos fornecidos à API Routespreferred para receber o token de rota. routeToken Uma string de token de rota retornada pela API Routespreferred. As opções de roteamento especificadas na API Routespreferred são codificadas nesse token de rota e são usadas para gerar novamente a rota pré-computada ou uma nova quando ocorre um redirecionamento. callback Chamado quando uma rota do local do consumidor para os destinos fornecidos é encontrada ou não encontrada 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: melhor rota padrão ou mais curta.
Retorna um valor nil
se o projeto não tiver permissão para chamar essa API.
- Parâmetros:
-
destination O waypoint de destino. routingOptions As opções usadas para buscar as informações da rota. A estratégia de roteamento e a estratégia de rotas alternativas são ignoradas, já que este método retorna as informações de rota para todas as estratégias de roteamento. callback O callback chamado quando as informações das rotas são recebidas.
- (GMSNavigationWaypoint * anulável) continueToNextDestination |
Obsoleto.
Chame um dos métodos -setDestinations
:... com a nova lista de destinos.
Mostra o primeiro destino da lista atual. Após esta ligação, você receberá orientações sobre o próximo destino, se houver.
- Retorna:
- A orientação do waypoint agora está em direção ou é nula se não houver mais waypoints.
- Observação:
- Esse recurso foi descontinuado. Use um dos métodos -setDestinations:....
- (void) clearDestinations |
Limpa todos os destinos definidos anteriormente e remove todos os trajetos calculados do mapa.
Se a orientação estiver ativa, ela vai ser interrompida automaticamente.
- (NSTimeInterval) timeToWaypoint: | (GMSNavigationWaypoint *) | waypoint |
Retorna o tempo estimado para o waypoint especificado, ou CLTimeIntervalMax se o waypoint não faz parte do trajeto atual.
Isso é atualizado com base na posição atual do dispositivo enquanto a orientação está ativa.
Retorna CLTimeIntervalMax se o waypoint 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 ponto de referência 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 waypoint fornecido não for um destino no trajeto atual.
- (nulo) setTransactionIDs: | (NSArray< NSString * > *) | transactionIDs | |
errorHandler: | (GMSNavigationTransactionIDErrorHandler anulável) | errorHandler | |
Define e registra no servidor os IDs de transação 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 fim da sessão de navegação.
- Parâmetros:
-
transactionIDs Os IDs das transações que se aplicam à sessão de navegação atual. O ID precisa ser exclusivo para cada transação faturável. Um ID da transação individual precisa ter entre 1 e 64 caracteres. A lista pode estar vazia quando uma transação termina, mas a sessão ainda está em andamento. errorHandler Um bloco que vai 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.
Documentação de funções de amigos e relacionadas
- (typedef void(^ GMSRouteStatusCallback)(GMSRouteStatus routeStatus)) [related] |
Chamado quando um trajeto do local do dispositivo para os destinos fornecidos é encontrado ou não é possível 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:
-
routeInfo As informações de trajeto para 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 as rodovias serão evitadas ao gerar trajetos para destinos.
O padrão é NO.
- (BOOL) avoidsTolls [read, write, assign] |
Define se você deve evitar vias com pedágio ao gerar trajetos para destinos.
O padrão é NO.
- (BOOL) avoidsFerries [read, write, assign] |
Define se balsas devem ser evitadas ao gerar rotas para destinos.
O padrão é YES.
- (GMSNavigationLicensePlateRestriction*) licensePlateRestriction [read, write, assign] |
Defina restrições de placa com o último dígito da placa e o código do país do motorista.
Isso nos permite contornar alguns tipos de restrições nas vias que são baseados no número da placa do veículo. Isso só se aplica a chamadas setDestinations feitas depois que esse valor é definido. O ideal é fazer essa configuração imediatamente após acessar o navegador.
Definido como nulo se não houver restrição 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 orientaçãoActive for YES, mas nenhum trajeto estiver disponível, a orientação será iniciada quando um trajeto se tornar disponível. Esta propriedade será definida como NO se clearDestinations for chamado ou se chegarmos a um waypoint.
- (BOOL) stopGuidanceAtArrival [read, write, assign] |
Define se a orientação precisa ser interrompida automaticamente quando -navigator
:didOutcomeAtWaypoint: for chamado.
Se NÃO, o cabeçalho e o rodapé de navegação continuarão a ser exibidos após a chegada. O cabeçalho de navegação continuará mostrando a etapa final de orientação, e o rodapé de navegação continuará atualizando o tempo e a distância restantes até que um tempo/distância de 0 seja atingido. Além disso, as atualizações de -navigator
:didUpdateENDTime e -navigator
:didUpdateRestrictedDistance vão ser mantidas. Defina guidanceActive
explicitamente como NÃO para interromper as orientações e as atualizações de tempo/distância restantes.
Quando YES, o valor de 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á a chamada do método navigator:didUpdateRemainingTime:
.
Se definido como NSTimeIntervalMax, os callbacks de atualização de horário serão desativados. Se o 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 aciona a chamada do método navigator:didUpdateRemainingDistance:
.
Se definido como CLLocationDistanceMax, os callbacks de atualização de distância serão desativados. Se o valor for definido como 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 para 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 nenhum trajeto ou dados de trânsito estiverem indisponíveis.
- (GMSRouteLeg*) currentRouteLeg [read, assign] |
O trecho atual da jornada.
Este GMSRouteLeg terá sua posição inicial como a posição mais recente conhecida (travamento de 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 percorrido pelo dispositivo desde a última vez que o guideActive foi definido como YES.
Este caminho vai ficar vazio se a orientação nunca tiver começado. O caminho consiste na localização da estrada conforme retornado por GMSRoadSnappedLocationProvider
, mas simplificado para remover pontos redundantes. Por exemplo, transformar pontos colineares consecutivos em um único segmento de linha.
- (GMSNavigationVoiceGuidance) voiceGuidance [read, write, assign] |
Determina se a orientação por voz deve ser ativada para alertas de trânsito e navegação guiada.
O padrão é GMSNavigationVoiceGuidanceAlertsAndGuidance.
- (GMSVoiceGuidanceAudioDeviceType) audioDeviceType [read, write, assign] |
Determina quais dispositivos de áudio a orientação por voz pode tocar.
O padrão é GMSVoiceGuidanceAudioDeviceTypeBluetooth.
- (BOOL) vibrationEnabled [read, write, assign] |
Determina se o dispositivo também deve vibrar quando os alertas de voz são reproduzidos.
- (BOOL) sendsBackgroundNotifications [read, write, assign] |
Determina se UILocalNotifications contendo informações de orientação serão apresentadas quando o aplicativo estiver em segundo plano.
O padrão é YES.
- (GMSNavigationLightingMode) suggestedLightingMode [read, assign] |
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 as solicitações de trânsito, trajetos melhores e incidentes devem ser exibidos.
O padrão é YES.
- (GMSNavigationSpeedAlertOptions*) speedAlertOptions [read, write, assign] |
GMSNavigationSpeedAlertOptions para personalizar os limites de acionamento de GMSNavigationSpeedAlertSeverity.
Você pode usar esta propriedade para personalizar os limites de acionamento de alertas de velocidade em porcentagem para alertas menores e maiores. Também é possível usar esse método para personalizar o limite de acionamento com base no tempo do alerta de velocidade principal.
Ao definir como "zero", você não receberá dados do feed de velocidade, e o alerta de velocidade padrão do NavSDK será exibido: o alerta de velocidade mostra texto em vermelho quando a velocidade está acima do limite de velocidade e mostra texto branco e fundo vermelho quando velocidade superior a 20 km/h.