Quando la navigazione è abilitata e la modalità di viaggio è impostata su Auto, la barra di navigazione L'SDK per iOS mostra un controllo del limite di velocità nell'angolo in basso a sinistra della mappa che mostra il limite di velocità attuale. Se un conducente supera il limite di velocità, si espande per mostrare un tachimetro accanto a quello del limite di velocità e attiva avvisi quando la velocità raggiunge una determinata soglia.
Per impostazione predefinita, l'SDK di navigazione attiva un avviso di velocità minore quando il conducente supera il limite di velocità di 10 km/h e cambia il colore della il testo del tachimetro in rosso. Attiva un allarme di velocità quando il conducente supera il limite di velocità di 10 mph (o 20 km/h) e cambia lo sfondo del tachimetro dal colore al rosso.
Potete personalizzare sia la soglia per l'attivazione degli avvisi sia il testo e colori di sfondo visualizzati dal tachimetro. Puoi anche usare l'SDK di navigazione per rendere disponibili le informazioni sulla velocità del conducente. Ad esempio, potresti informazioni sulla velocità a disposizione degli operatori di ridesharing per incoraggiare ai conducenti di rispettare i limiti di velocità e migliorare la sicurezza.
Personalizzazione delle soglie per gli avvisi di velocità
Puoi personalizzare la soglia di avviso di velocità per velocità minore e maggiore gli avvisi in percentuale rispetto al limite di velocità attuale. Puoi anche specificare per quanto tempo la soglia viene superata prima che la mappa mostri l'avviso.
Il seguente esempio di codice imposta la soglia per un avviso di velocità minore su cinque oltre il limite di velocità e la soglia per un avviso di velocità importante su 10 percentuale oltre il limite di velocità. Indica che la mappa visualizza un avviso dopo viene superata la soglia di avviso per cinque secondi.
Swift
let minorSpeedAlertThresholdPercentage: CGFloat = 0.05 let
majorSpeedAlertThresholdPercentage: CGFloat = 0.1 let
severityUpgradeDurationSeconds: TimeInterval = 5
// Configure SpeedAlertOptions let mutableSpeedAlertOptions:
GMSNavigationMutableSpeedAlertOptions = GMSNavigationMutableSpeedAlertOptions()
mutableSpeedAlertOptions.setSpeedAlertThresholdPercentage(minorSpeedAlertThresholdPercentage,
for: .minor)
mutableSpeedAlertOptions.setSpeedAlertThresholdPercentage(majorSpeedAlertThresholdPercentage,
for: .major) mutableSpeedAlertOptions.severityUpgradeDurationSeconds =
severityUpgradeDurationSeconds
// Set SpeedAlertOptions to Navigator. mapView.navigator?.speedAlertOptions =
mutableSpeedAlertOptions; mapView.navigator?.add(self); // Only needed if
listening to the delegate events.
Objective-C
static const CGFloat minorSpeedAlertThresholdPercentage = 0.05; static const
CGFloat majorSpeedAlertThresholdPercentage = 0.1; static const NSTimeInterval
severityUpgradeDurationSeconds = 5;
// Configure SpeedAlertOptions GMSNavigationMutableSpeedAlertOptions
*mutableSpeedAlertOptions = [[GMSNavigationMutableSpeedAlertOptions alloc]
init]; [mutableSpeedAlertOptions setSpeedAlertThresholdPercentage:
minorSpeedAlertThresholdPercentage
forSpeedAlertSeverity:GMSNavigationSpeedAlertSeverityMinor];
[mutableSpeedAlertOptions
setSpeedAlertThresholdPercentage:majorSpeedAlertThresholdPercentage
forSpeedAlertSeverity:GMSNavigationSpeedAlertSeverityMajor];
[mutableSpeedAlertOptions
setSeverityUpgradeDurationSeconds:severityUpgradeDurationSeconds];
// Set SpeedAlertOptions to Navigator. mapView.navigator.speedAlertOptions =
mutableSpeedAlertOptions; [mapView.navigator addListener:self]; // Only needed
if listening to the delegate events.
Personalizzazione della modalità di visualizzazione degli avvisi di velocità sul tachimetro
Puoi personalizzare i colori del display del tachimetro per ogni livello di avviso.
La tabella seguente mostra i colori predefiniti per gli avvisi di velocità nella
GMSNavigationSpeedometerUIOptions
corso:
Elemento | Colore |
---|---|
MinorSpeedAlertBackgroundColorDayMode | 0xrate(bianco) |
MinorSpeedAlertBackgroundColorNightMode | 0x000000 |
MinorSpeedAlertTextColorDayMode | 0xd93025 |
MinorSpeedAlertTextColorNightMode | 0xd93025 |
MajorSpeedAlertBackgroundColorDayMode | 0xd93025 |
MajorSpeedAlertBackgroundColorNightMode | 0xd93025 |
MajorSpeedAlertTextColorDayMode | 0xrate(bianco) |
MajorSpeedAlertTextColorNightMode | 0xrate(bianco) |
Puoi specificare il colore del testo e dello sfondo del tachimetro per entrambi e avvisi di velocità principali:
Swift
let mutableSpeedometerUIOptions: GMSNavigationMutableSpeedometerUIOptions =
GMSNavigationMutableSpeedometerUIOptions()
mutableSpeedometerUIOptions.setTextColor(minorSpeedAlertTextColor, for: .minor,
lightingMode: .normal)
mutableSpeedometerUIOptions.setTextColor(majorSpeedAlertTextColor, for: .major,
lightingMode: .normal)
mutableSpeedometerUIOptions.setBackgroundColor(minorSpeedAlertNightModeBackgroundColor,
for: .minor, lightingMode: .lowLight)
mutableSpeedometerUIOptions.setBackgroundColor(majorSpeedAlertDayModeBackgroundColor,
for: .major, lightingMode: .normal)
mapView.settings.speedometerUIOptions = mutableSpeedometerUIOptions
Objective-C
GMSNavigationMutableSpeedometerUIOptions *mutableSpeedometerUIOptions =
[[GMSNavigationMutableSpeedometerUIOptions alloc] init];
[mutableSpeedometerUIOptions setTextColor: minorSpeedAlertTextColor
forSpeedAlertSeverity: GMSNavigationSpeedAlertSeverityMinor lightingMode:
GMSNavigationLightingModeNormal]; [mutableSpeedometerUIOptions setTextColor:
majorSpeedAlertTextColor forSpeedAlertSeverity:
GMSNavigationSpeedAlertSeverityMajor lightingMode:
GMSNavigationLightingModeNormal]; [mutableSpeedometerUIOptions
setBackgroundColor: minorSpeedAlertNightModeBackgroundColor
forSpeedAlertSeverity: GMSNavigationSpeedAlertSeverityMinor lightingMode:
GMSNavigationLightingModeLowLight]; [mutableSpeedometerUIOptions
setBackgroundColor: majorSpeedAlertDayModeBackgroundColor forSpeedAlertSeverity:
GMSNavigationSpeedAlertSeverityMajor
lightingMode:GMSNavigationLightingModeNormal];
mapView.settings.speedometerUIOptions = mutableSpeedometerUIOptions;
Ricezione di informazioni sulla velocità dai conducenti
Se la tua applicazione richiede la condivisione delle informazioni sulla velocità del conducente, puoi utilizzare anche l'SDK di navigazione per rendere disponibili le informazioni sulla velocità del conducente. Questo può essere utile per le applicazioni di ridesharing in cui un operatore potrebbe voler monitorare l'eccessiva velocità di guida dei conducenti per migliorare la sicurezza.
Ad esempio, l'esempio seguente condivide informazioni sulla velocità quando quest'ultima è percentuale specificata oltre il limite di velocità:
Swift
// Listener method for sharing speed information when the speed exceeds the
speed limit by a specified percentage. #pragma mark GMSNavigatorListener func
navigator(_ navigator : GMSNavigator, didUpdateSpeedingPercentage
percentageAboveLimit : Float) { ... }
Objective-C
// Listener method listening to speeding feed. #pragma mark
GMSNavigatorListener - (void)navigator:(GMSNavigator *)navigator
didUpdateSpeedingPercentage:(float)percentageAboveLimit { ... }