Riferimento per la classe GMS Naviga

Riferimento classe GMSNavigator

Panoramica

È la classe principale dell'SDK di navigazione Google per iOS e fornisce metodi per controllare la navigazione verso una destinazione e accedere alle informazioni sul percorso e sull'avanzamento.

Questa classe non supporta la creazione di sottoclassi.

Questa classe non è sicura per i thread. Tutti i metodi devono essere chiamati dal thread principale.

Funzioni per i membri pubbliche

(nullo)- addListener:
 Aggiunge un listener.
(BOOL)- removeListener:
 Rimuove un listener.
(nullo)- setDestinations:callback:
 Imposta più destinazioni per la navigazione, con l'override di quelle impostate in precedenza.
(nullo)- setDestinations:routingOptions:callback:
 Imposta più destinazioni per la navigazione, con l'override di quelle impostate in precedenza.
(nullo)- setDestinations:routeToken:callback:
 Imposta più destinazioni per la navigazione, utilizzando un token di percorso per navigare su un percorso precalcolato.
(nullo)- getRouteInfoForDestination:withRoutingOptions:callback:
 Restituisce le informazioni sul percorso in base alla strategia di percorso: percorso predefinito migliore o più breve.
(GMSNavigationWaypoint con valore nullo *)- continueToNextDestination
 Deprecato.
(nullo)- clearDestinations
 Cancella tutte le destinazioni impostate in precedenza e rimuove dalla mappa tutti i percorsi calcolati.
(NSTimeInterval)- timeToWaypoint:
 Restituisce il tempo stimato per la tappa specificata o CLTimeIntervalMax se la tappa non fa parte del percorso corrente.
(CLLocationDistance)- distanceToWaypoint:
 Restituisce la distanza stimata dal waypoint specificato o CLLocationDistanceMax se la tappa non fa parte del percorso corrente.
(nullo)- setTransactionIDs:errorHandler:
 Imposta e registra sul server gli ID transazione in corso che si applicano agli eventi di navigazione durante la sessione di navigazione corrente.

Proprietà

BOOLavoidsHighways
 Indica se evitare le autostrade durante la generazione di percorsi per le destinazioni.
BOOLavoidsTolls
 Indica se evitare le strade a pedaggio durante la generazione di percorsi per le destinazioni.
BOOLavoidsFerries
 Indica se evitare i traghetti durante la generazione dei percorsi per le destinazioni.
GMSNavigationLicensePlateRestriction *licensePlateRestriction
 Imposta limitazione di targa con l'ultima cifra del conducente attuale e il codice paese.
BOOLguidanceActive
 Indica se la guida passo passo è attualmente abilitata.
BOOLstopGuidanceAtArrival
 Indica se le indicazioni devono interrompersi automaticamente quando viene chiamato -navigator:didArriveAtWaypoint:.
NSTimeIntervaltimeUpdateThreshold
 La variazione minima nel tempo stimato per la destinazione successiva che attiverà la chiamata del metodo navigator:didUpdateRemainingTime:.
CLLocationDistancedistanceUpdateThreshold
 La variazione minima della distanza stimata dalla destinazione successiva che attiverà il metodo navigator:didUpdateRemainingDistance:.
NSTimeIntervaltimeToNextDestination
 Restituisce il tempo stimato per la destinazione successiva.
CLLocationDistancedistanceToNextDestination
 Restituisce la distanza stimata per la destinazione successiva.
GMSNavigationDelayCategorydelayCategoryToNextDestination
 Restituisce la categoria di ritardo alla destinazione successiva.
GMSRouteLeg *currentRouteLeg
 L'attuale tappa del viaggio.
NSArray< GMSRouteLeg * > *routeLegs
 Una serie di tratti di percorso in cui ogni tratto corrisponde a una destinazione impostata.
GMSPath *traveledPath
 Il percorso seguito dall'utente nella sessione di indicazioni più recente, definito come l'ultima volta in cui indicazioniActive sono state impostate su YES.
GMSNavigationVoiceGuidancevoiceGuidance
 Consente di stabilire se attivare o meno la guida vocale per gli avvisi sul traffico e passo passo.
GMSVoiceGuidanceAudioDeviceTypeaudioDeviceType
 Consente di stabilire su quali dispositivi audio è possibile riprodurre la guida vocale.
BOOLvibrationEnabled
 Consente di stabilire se il dispositivo deve vibrare anche quando vengono riprodotti gli avvisi vocali.
BOOLsendsBackgroundNotifications
 Consente di stabilire se visualizzare UILocal Notifications contenenti informazioni sulle indicazioni quando l'app è in background.
GMSNavigationLightingModesuggestedLightingMode
 La modalità di illuminazione suggerita in base all'ora del giorno e alla posizione del dispositivo.
BOOLshouldDisplayPrompts
 Determina se devono essere visualizzati prompt sul traffico, percorsi migliori e incidenti.
GMSNavigationSpeedAlertOptions *speedAlertOptions
 GMSNavigationSpeedAlertOptions per personalizzare le soglie di attivazione per GMSNavigatorSpeedAlertSeverity.

Tieni presente che non si tratta di funzioni relative ai membri.

typedef void(^GMSRouteStatusCallback )(GMSRouteStatus routeStatus)
 Richiamato quando viene trovato un percorso dalla posizione del dispositivo alle destinazioni fornite o non viene trovato per un motivo indicato da RouteStatus.
typedef void(^GMSRouteInfoCallback)(GMSNavigationRouteInfo *_Nullable routeInfo)
 Richiamato quando vengono calcolate le informazioni sul percorso (orario di arrivo stimato e distanza) per la tappa fornita.
typedef void(^GMSNavigationTransactionIDErrorHandler )(NSError *error)
 Richiamato se l'impostazione degli ID transazione tramite setTransactionIDs non riesce.

Documentazione sulle funzioni dei membri

- (void) addListener: (id< GMSNavigatorListener >) ascolto

Aggiunge un listener.

Il listener viene mantenuto con un riferimento debole.

Parametri:
listenerUn oggetto conforme al protocollo GMSNavigatorListener.
- (BOOL) removeListener: (id< GMSNavigatorListener >) ascolto

Rimuove un listener.

Parametri:
listenerUn oggetto conforme al protocollo GMSNavigatorListener.
Resi:
Restituisci YES se il listener è stato rimosso. Restituisce NO se l'oggetto non era un listener.
- (void) setDestinations: (NSArray< GMSNavigationWaypoint * > *) destinazioni
callback: (GMSRouteStatusCallback) richiamata

Imposta più destinazioni per la navigazione, con l'override di quelle impostate in precedenza.

Il callback fornito verrà chiamato con GMSRouteStatusOK se viene trovato un percorso dalla posizione del dispositivo alla destinazione specificata. Se viene impostata una nuova destinazione prima del rilevamento di una route, la richiesta viene annullata e il callback viene chiamato con GMSRouteStatusCanceled. Se per qualsiasi altro motivo non è possibile trovare una route, il callback viene chiamato con uno stato di errore appropriato.

Il callback verrà sempre inviato in modo asincrono sulla coda principale.

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

Imposta più destinazioni per la navigazione, con l'override di quelle impostate in precedenza.

Le route restituite vengono calcolate utilizzando le opzioni di routing.

Parametri:
destinazioniUn array di tappe di destinazione.
routingOptionsLe opzioni che influenzano la logica di routing (strategia di routing).
callbackRichiamato quando viene trovato un percorso dalla posizione del consumatore alle destinazioni fornite o non viene trovato per un motivo indicato da RouteStatus.
- (void) setDestinations: (NSArray< GMSNavigationWaypoint * > *) destinazioni
routeToken: (NSString *) routeToken
callback: (GMSRouteStatusCallback) richiamata

Imposta più destinazioni per la navigazione, utilizzando un token di percorso per navigare su un percorso precalcolato.

I percorsi saranno gli stessi, modifiche modulo alla posizione di partenza del conducente e alle condizioni della strada e del traffico. I reindirizzamenti verranno comunque eseguiti in base alle opzioni di routing codificate nel token.

Quando utilizzi il token del percorso per avviare una sessione di navigazione, sono supportati solo i criteri GMSNavigationTravelModeDriving e GMSNavigationTravelModeTwoWheeler. Configura la modalità di viaggio impostando travelMode. Se la modalità di viaggio attuale non è supportata, la chiamata non andrà a buon fine e nel callback verrà restituito un GMSRouteStatusTravelModeUnsupported.

Parametri:
destinazioniUn array di tappe di destinazione deve essere uguale alle destinazioni assegnate all'API RoutesPreferred per ottenere il token di route.
routeTokenUna stringa di token di route restituita dall'API RoutesPreferred. Le opzioni di routing specificate nell'API RoutesPreferred sono codificate in questo token di route e verranno utilizzate per rigenerare il percorso precalcolato o una nuova route quando si verifica il cambio di percorso.
callbackRichiamato quando viene trovato un percorso dalla posizione del consumatore alle destinazioni fornite o non viene trovato per un motivo indicato da RouteStatus.
- (void) getRouteInfoForDestination: (GMSNavigationWaypoint *) destinazione
withRoutingOptions: (GMSNavigationRoutingOptions *) routingOptions
callback: (GMSRouteInfoCallback) richiamata

Restituisce le informazioni sul percorso in base alla strategia di percorso: percorso predefinito migliore o più breve.

Questo metodo è disponibile solo per i clienti di Servizi di mobilità che vengono fatturati da Google per singola transazione. Restituisce un valore "nil" se il progetto non dispone dell'autorizzazione per chiamare questa API.

Parametri:
destinazioneIl waypoint di destinazione.
routingOptionsLe opzioni utilizzate per recuperare le informazioni sul percorso. La strategia di routing e la strategia di percorsi alternativi vengono ignorate, poiché questo metodo restituisce le informazioni sul percorso per tutte le strategie di routing.
callbackIl callback chiamato quando vengono ricevute informazioni sui percorsi.

Deprecato.

Chiama uno dei metodi -setDestinations:... con il nuovo elenco di destinazioni.

Visualizza la prima destinazione dell'elenco di destinazioni corrente. Dopo questa chiamata, le indicazioni verranno indirizzate alla destinazione successiva, se presente.

Resi:
ora le indicazioni delle tappe si stanno dirigendo verso o in modo azzerato se non ci sono altre tappe.
Nota:
Questa strategia è deprecata. Utilizza invece uno dei metodi -setDestinations:....

Cancella tutte le destinazioni impostate in precedenza e rimuove dalla mappa tutti i percorsi calcolati.

Se la guida è attiva, verrà interrotta automaticamente.

- (NSTimeInterval) timeToWaypoint: (GMSNavigationWaypoint *) waypoint

Restituisce il tempo stimato per la tappa specificata o CLTimeIntervalMax se la tappa non fa parte del percorso corrente.

Questo valore viene aggiornato in base alla posizione attuale del dispositivo mentre è attiva la guida.

Restituisce CLTimeIntervalMax se il waypoint fornito non è una destinazione del percorso corrente.

- (CLLocationDistance) distanceToWaypoint: (GMSNavigationWaypoint *) waypoint

Restituisce la distanza stimata dal waypoint specificato o CLLocationDistanceMax se la tappa non fa parte del percorso corrente.

Questo valore verrà aggiornato in base alla posizione attuale del dispositivo mentre la guida è attiva.

Restituisce CLLocationDistanceMax se la tappa fornita non è una destinazione del percorso corrente.

- (void) setTransactionID: (NSArray< NSString * > *) transactionIDs
errorHandler: (GMSNavigationTransactionIDErrorHandler con valore null) errorHandler

Imposta e registra sul server gli ID transazione in corso che si applicano agli eventi di navigazione durante la sessione di navigazione corrente.

Gli ID transazione verranno cancellati al termine della sessione di navigazione. Questo metodo è disponibile solo per i clienti di Servizi di mobilità che vengono fatturati da Google per singola transazione. Restituisce un valore "nil" se il progetto non dispone dell'autorizzazione per chiamare questa API.

Parametri:
transactionIDsGli ID transazione applicabili alla sessione di navigazione corrente. L'ID transazione deve essere univoco per ogni transazione fatturabile. Un singolo ID transazione deve contenere almeno 1 e massimo 64 caratteri. L'elenco può essere vuoto quando una transazione è terminata (ma la sessione è ancora in corso).
errorHandlerUn blocco che viene richiamato in modo asincrono sul thread principale se si verifica un errore quando gli ID transazione non sono validi.

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

Richiamato quando viene trovato un percorso dalla posizione del dispositivo alle destinazioni fornite o non viene trovato per un motivo indicato da RouteStatus.

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

Richiamato quando vengono calcolate le informazioni sul percorso (orario di arrivo stimato e distanza) per la tappa fornita.

Parametri:
routeInfoLe informazioni sul percorso verso la destinazione specificata. Il valore sarà nullo se il calcolo non va a buon fine.
- (typedef void(^ GMSNavigationTransactionIDErrorHandler)(NSError *error)) [related]

Richiamato se l'impostazione degli ID transazione tramite setTransactionIDs non riesce.

Per ulteriori dettagli, consulta la documentazione dell'API.


Documentazione della proprietà

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

Indica se evitare le autostrade durante la generazione di percorsi per le destinazioni.

Il valore predefinito è NO.

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

Indica se evitare le strade a pedaggio durante la generazione di percorsi per le destinazioni.

Il valore predefinito è NO.

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

Indica se evitare i traghetti durante la generazione dei percorsi per le destinazioni.

Il valore predefinito è YES.

Imposta limitazione di targa con l'ultima cifra del conducente attuale e il codice paese.

In questo modo, possiamo evitare alcuni tipi di limitazioni stradali basate sul numero di targa. Questo vale solo per le chiamate a setDestinations effettuate dopo l'impostazione di questo valore. L'ideale sarebbe impostarla subito dopo aver ottenuto il navigatore.

Imposta il valore su zero se non ci sono targhe alterne. Il valore predefinito è null.

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

Indica se la guida passo passo è attualmente abilitata.

Se la guida Attivo è impostata su SÌ, ma non è attualmente disponibile alcun percorso, le indicazioni inizieranno quando un percorso diventerà disponibile. Questa proprietà verrà impostata su NO se viene chiamato clearDestinations o se arrivi a una tappa.

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

Indica se le indicazioni devono interrompersi automaticamente quando viene chiamato -navigator:didArriveAtWaypoint:.

In caso contrario, l'intestazione e il piè di pagina di navigazione continueranno a essere visualizzati dopo l'arrivo. L'intestazione della navigazione continuerà a mostrare il passaggio finale della guida e il piè di pagina di navigazione continuerà ad aggiornare il tempo e la distanza rimanenti fino al raggiungimento di un tempo/distanza pari a 0. Inoltre, gli aggiornamenti di -navigator:didUpdateChangeingTime e -navigator:didUpdateRemainingDistance continueranno. Imposta esplicitamente guidanceActive su NO per interrompere gli aggiornamenti delle indicazioni e di tempo/distanza rimanenti.

Se scegli SÌ, guidanceActive verrà impostato automaticamente su NO all'arrivo.

Il valore predefinito è YES.

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

La variazione minima nel tempo stimato per la destinazione successiva che attiverà la chiamata del metodo navigator:didUpdateRemainingTime:.

Se viene impostato su NSTimeIntervalMax, i callback di aggiornamento dell'ora verranno disattivati. Se il valore è negativo, viene utilizzata la soglia predefinita di un secondo. Il valore predefinito è un secondo.

Nota:
Questo valore viene ignorato se nessun listener implementa navigator:didUpdateRemainingTime:.
- (CLLocationDistance) distanceUpdateThreshold [read, write, assign]

La variazione minima della distanza stimata dalla destinazione successiva che attiverà il metodo navigator:didUpdateRemainingDistance:.

Se viene impostato su CLLocationDistanceMax, le richiamate dell'aggiornamento della distanza verranno disattivate. Se impostato su un valore negativo, verrà utilizzata la soglia predefinita di un metro. Il valore predefinito è un metro.

Nota:
Questo valore viene ignorato se nessun listener implementa navigator:didUpdateRemainingDistance:.
- (NSTimeInterval) timeToNextDestination [read, assign]

Restituisce il tempo stimato per la destinazione successiva.

Questo valore verrà aggiornato in base alla posizione attuale del dispositivo mentre la guida è attiva.

Restituisce CLTimeIntervalMax se non è disponibile alcun percorso.

- (CLLocationDistance) distanceToNextDestination [read, assign]

Restituisce la distanza stimata per la destinazione successiva.

Questo valore verrà aggiornato in base alla posizione attuale del dispositivo mentre la guida è attiva.

Restituisce CLLocationDistanceMax se non è disponibile alcun percorso.

- (GMSNavigatorDelayCategory) delayCategoryToNextDestination [read, assign]

Restituisce la categoria di ritardo alla destinazione successiva.

Questo valore verrà aggiornato in base alla posizione attuale del dispositivo mentre la guida è attiva.

Restituisce GMSNavigatorDelayCategoryNoData se non sono disponibili route o dati sul traffico.

- (GMSRouteLeg*) currentRouteLeg [read, assign]

L'attuale tappa del viaggio.

La posizione iniziale di GMSRouteLeg sarà la più recente posizione nota (bloccata in strada) del dispositivo.

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

Una serie di tratti di percorso in cui ogni tratto corrisponde a una destinazione impostata.

- (GMSPath*) traveledPath [read, assign]

Il percorso seguito dall'utente nella sessione di indicazioni più recente, definito come l'ultima volta in cui indicazioniActive sono state impostate su YES.

Il percorso è costituito da posizioni agganciate alla strada, restituite da GMSRoadSnappedLocationProvider e semplificate per produrre segmenti di linea.

Nota:
Il sistema interroga il client al fine di ottenere i segnali GPS al fine di ottenere i dati sulla posizione. Un segnale GPS scarso può determinare un'ulteriore interpolazione, che potrebbe produrre percorsi meno precisi. Questo percorso è vuoto se la guida non è mai stata avviata.
- (GMSNavigationVoiceGuidance) voiceGuidance [read, write, assign]

Consente di stabilire se attivare o meno la guida vocale per gli avvisi sul traffico e passo passo.

Il valore predefinito è GMSNavigazioneVoiceGuidanceAlertsAndGuidance.

Consente di stabilire su quali dispositivi audio è possibile riprodurre la guida vocale.

Il valore predefinito è GMSVoiceGuidanceAudioDeviceTypeBluetooth.

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

Consente di stabilire se il dispositivo deve vibrare anche quando vengono riprodotti gli avvisi vocali.

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

Consente di stabilire se visualizzare UILocal Notifications contenenti informazioni sulle indicazioni quando l'app è in background.

Il valore predefinito è YES.

La modalità di illuminazione suggerita in base all'ora del giorno e alla posizione del dispositivo.

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

Determina se devono essere visualizzati prompt sul traffico, percorsi migliori e incidenti.

Il valore predefinito è YES.

GMSNavigationSpeedAlertOptions per personalizzare le soglie di attivazione per GMSNavigatorSpeedAlertSeverity.

Puoi utilizzare questa proprietà per personalizzare in percentuale le soglie di attivazione degli avvisi di velocità per le allerte minori e principali. Puoi utilizzare questo metodo anche per personalizzare la soglia di attivazione basata sul tempo per l'avviso di velocità principale.

Impostando il valore null, non riceverai dati del feed in caso di velocità superiore e verrà visualizzato l'avviso di velocità predefinito di NavSDK: l'avviso di velocità mostra il testo in rosso quando la velocità supera il limite di velocità di oltre 8 km/h, mentre il testo è bianco e lo sfondo rosso quando superi i 16 km/h o 20 km/h.