Gdy nawigacja jest włączona, a tryb podróży jest ustawiony na jazdę samochodem, pakiet Navigation SDK na iOS wyświetla w lewym dolnym rogu mapy element sterujący ograniczeniem prędkości, który pokazuje aktualne ograniczenie prędkości. Jeśli kierowca przekroczy dozwoloną prędkość, element sterujący rozszerzy się, aby wyświetlić prędkościomierz obok wyświetlacza ograniczenia prędkości, i będzie wyzwalać alerty, gdy prędkość osiągnie określony próg.
Domyślnie pakiet Navigation SDK uruchamia alert o niewielkim przekroczeniu prędkości, gdy kierowca przekroczy limit prędkości o 5 mil/h (lub 10 km/h), i zmienia kolor tekstu prędkościomierza na czerwony. Wyzwalany jest alert o znacznym przekroczeniu prędkości, gdy kierowca przekroczy dozwoloną prędkość o 10 mil/h (lub 20 km/h), a kolor tła prędkościomierza zmienia się na czerwony.
Możesz dostosować zarówno próg aktywacji alertów, jak i kolory tekstu i tła wyświetlane przez prędkościomierz. Możesz też użyć pakietu Navigation SDK, aby udostępnić informacje o prędkości kierowcy. Możesz na przykład udostępnić informacje o prędkości operatorom usług wspólnych przejazdów, aby pomóc im zachęcać kierowców do przestrzegania ograniczeń prędkości i poprawy bezpieczeństwa.
Dostosowywanie progów alertów o prędkości
Możesz dostosować próg alertów o niewielkim i znacznym przekroczeniu prędkości jako wartość procentową powyżej limitu prędkości. Możesz też określić, jak długo próg musi być przekroczony, zanim na mapie pojawi się alert.
Poniższy przykładowy kod ustawia próg dla alertu o niewielkim przekroczeniu prędkości na 5% powyżej limitu prędkości, a próg dla alertu o znacznym przekroczeniu prędkości na 10% powyżej limitu prędkości. Określa, że mapa wyświetla alert po przekroczeniu progu alertu przez 5 sekund.
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.
Dostosowywanie sposobu wyświetlania alertów o przekroczeniu prędkości przez prędkościomierz
Możesz dostosować kolory wyświetlacza prędkościomierza dla każdego poziomu alertu.
Tabela poniżej przedstawia domyślne kolory alertów o prędkości w klasie GMSNavigationSpeedometerUIOptions:
| Element | Kolor |
|---|---|
| MinorSpeedAlertBackgroundColorDayMode | 0xffffff(biały) |
| MinorSpeedAlertBackgroundColorNightMode | 0x000000 |
| MinorSpeedAlertTextColorDayMode | 0xd93025 |
| MinorSpeedAlertTextColorNightMode | 0xd93025 |
| MajorSpeedAlertBackgroundColorDayMode | 0xd93025 |
| MajorSpeedAlertBackgroundColorNightMode | 0xd93025 |
| MajorSpeedAlertTextColorDayMode | 0xffffff(biały) |
| MajorSpeedAlertTextColorNightMode | 0xffffff(biały) |
Możesz określić kolor tekstu i tła prędkościomierza w przypadku alertów o niewielkim i znacznym przekroczeniu prędkości:
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;
Otrzymywanie informacji o prędkości od kierowców
Jeśli Twoja aplikacja wymaga udostępniania informacji o prędkości kierowcy, możesz też użyć pakietu Navigation SDK, aby udostępnić te informacje. Może to być przydatne w aplikacjach do wspólnych przejazdów, w których operator może chcieć monitorować nadmierną prędkość kierowców, aby poprawić bezpieczeństwo.
Na przykład ten kod udostępnia informacje o prędkości, gdy prędkość przekracza określony procent ograniczenia prędkości:
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 { ... }