Jika navigasi diaktifkan dan mode perjalanan ditetapkan ke mengemudi, Navigation SDK for iOS akan menampilkan kontrol batas kecepatan di pojok kiri bawah peta yang menunjukkan batas kecepatan saat ini. Jika pengemudi melebihi batas kecepatan, kontrol akan diperluas untuk menampilkan speedometer di samping tampilan batas kecepatan dan memicu peringatan saat kecepatan mencapai batas tertentu.
Secara default, Navigation SDK memicu peringatan kecepatan kecil saat pengemudi melebihi batas kecepatan sebesar 5 mph (atau 10 km/jam), dan mengubah warna teks speedometer menjadi merah. Fitur ini memicu peringatan kecepatan tinggi saat pengemudi melebihi batas kecepatan sebesar 10 mph (atau 20 km/jam), dan mengubah warna latar belakang speedometer menjadi merah.
Anda dapat menyesuaikan nilai minimum untuk memicu pemberitahuan serta warna teks dan latar belakang yang ditampilkan speedometer. Anda juga dapat menggunakan Navigation SDK untuk menyediakan informasi kecepatan pengemudi. Misalnya, Anda dapat menyediakan informasi kecepatan bagi operator transportasi online untuk membantu mereka mendorong pengemudi agar mematuhi batas kecepatan dan meningkatkan keselamatan.
Menyesuaikan nilai minimum untuk pemberitahuan kecepatan
Anda dapat menyesuaikan nilai minimum peringatan kecepatan untuk peringatan kecepatan minor dan mayor sebagai persentase di atas batas kecepatan saat ini. Anda juga dapat menentukan berapa lama ambang batas terlampaui sebelum peta menampilkan pemberitahuan.
Contoh kode berikut menetapkan nilai minimum untuk peringatan kecepatan minor sebesar lima persen di atas batas kecepatan, dan nilai minimum untuk peringatan kecepatan mayor sebesar 10 persen di atas batas kecepatan. Aturan ini menentukan bahwa peta akan menampilkan pemberitahuan setelah nilai minimum pemberitahuan terlampaui selama lima detik.
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.
Menyesuaikan cara spidometer menampilkan peringatan batas kecepatan
Anda dapat menyesuaikan warna tampilan speedometer untuk setiap tingkat pemberitahuan.
Tabel berikut menunjukkan warna default untuk peringatan kecepatan di class GMSNavigationSpeedometerUIOptions:
| Elemen | Warna |
|---|---|
| MinorSpeedAlertBackgroundColorDayMode | 0xffffff(putih) |
| MinorSpeedAlertBackgroundColorNightMode | 0x000000 |
| MinorSpeedAlertTextColorDayMode | 0xd93025 |
| MinorSpeedAlertTextColorNightMode | 0xd93025 |
| MajorSpeedAlertBackgroundColorDayMode | 0xd93025 |
| MajorSpeedAlertBackgroundColorNightMode | 0xd93025 |
| MajorSpeedAlertTextColorDayMode | 0xffffff(putih) |
| MajorSpeedAlertTextColorNightMode | 0xffffff(putih) |
Anda dapat menentukan warna teks dan latar belakang speedometer untuk peringatan kecepatan minor dan mayor:
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;
Menerima informasi kecepatan dari pengemudi
Jika aplikasi Anda memerlukan berbagi informasi tentang kecepatan pengemudi, Anda juga dapat menggunakan Navigation SDK untuk menyediakan informasi kecepatan pengemudi. Hal ini dapat berguna untuk aplikasi transportasi online, yang memungkinkan operator memantau kecepatan berlebih yang dilakukan pengemudi untuk meningkatkan keselamatan.
Misalnya, contoh berikut membagikan informasi kecepatan saat kecepatan melebihi persentase tertentu dari batas kecepatan:
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 { ... }