Saat navigasi diaktifkan dan mode perjalanan disetel ke mengemudi, Navigation SDK untuk iOS akan menampilkan kontrol batas kecepatan di sudut kiri bawah peta yang menampilkan batas kecepatan saat ini. Jika pengemudi melebihi batas kecepatan, kontrol akan diperluas untuk menampilkan speedometer di samping tampilan batas kecepatan dan memicu notifikasi saat kecepatan mencapai nilai minimum tertentu.
Secara default, Navigation SDK memicu peringatan kecepatan kecil saat pengemudi melebihi batas kecepatan sebesar 5 mph (atau 10 kph), dan mengubah warna teks speedometer menjadi merah. Fitur ini memicu notifikasi kecepatan utama saat pengemudi melampaui batas kecepatan sebesar 10 mpj (atau 20 kpj), dan mengubah warna latar belakang spidometer menjadi merah.
Anda dapat menyesuaikan nilai minimum untuk memicu pemberitahuan serta teks dan warna latar belakang yang ditampilkan spidometer. Anda juga dapat menggunakan Navigation SDK untuk menyediakan informasi kecepatan pengemudi. Misalnya, Anda dapat menyediakan informasi kecepatan kepada operator transportasi online untuk membantu mereka mendorong pengemudi agar mematuhi batas kecepatan dan meningkatkan keselamatan.
Menyesuaikan nilai minimum untuk notifikasi kecepatan
Anda dapat menyesuaikan nilai minimum pemberitahuan kecepatan untuk pemberitahuan kecepatan kecil dan besar sebagai persentase dari 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 kecil menjadi lima persen di atas batas kecepatan, dan nilai minimum untuk peringatan kecepatan besar menjadi 10 persen di atas batas kecepatan. Ini menentukan bahwa peta 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 speedometer menampilkan notifikasi kecepatan
Anda dapat menyesuaikan warna tampilan speedometer untuk setiap tingkat pemberitahuan.
Tabel berikut menunjukkan warna default untuk pemberitahuan 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 teks dan warna latar belakang speedometer untuk pemberitahuan kecepatan kecil dan besar:
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 tempat operator mungkin ingin memantau pengemudi yang ngebut untuk meningkatkan keamanan.
Misalnya, contoh berikut membagikan informasi kecepatan saat kecepatannya adalah persentase yang ditentukan di atas 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 { ... }