Mengonfigurasi pemberitahuan speedometer

Jika navigasi diaktifkan dan mode perjalanan disetel 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 notifikasi saat kecepatan mencapai nilai minimum tertentu.

Secara default, Navigation SDK memicu peringatan kecepatan ringan saat pengemudi melebihi batas kecepatan sebesar 5 mpj (atau 10 kpj), dan mengubah warna teks speedometer menjadi merah. Fitur ini memicu notifikasi kecepatan berat saat pengemudi melebihi batas kecepatan sebesar 10 mpj (atau 20 kpj), 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 kepada operator layanan transportasi online untuk membantu mereka mendorong pengemudi mereka mematuhi batas kecepatan dan meningkatkan keselamatan.

Menyesuaikan ambang batas untuk notifikasi kecepatan

Anda dapat menyesuaikan nilai minimum notifikasi kecepatan untuk notifikasi kecepatan ringan dan berat sebagai persentase di atas batas kecepatan saat ini. Anda juga dapat menentukan durasi yang diperlukan untuk melampaui nilai ambang batas sebelum peta menampilkan pemberitahuan.

Contoh kode berikut menetapkan nilai minimum untuk peringatan kecepatan ringan menjadi lima persen di atas batas kecepatan, dan nilai minimum untuk peringatan kecepatan berat menjadi 10 persen di atas batas kecepatan. 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 peringatan kecepatan

Anda dapat menyesuaikan warna tampilan speedometer untuk setiap tingkat pemberitahuan.

Tabel berikut menunjukkan warna default untuk peringatan kecepatan di class GMSNavigationSpeedometerUIOptions:

ElemenWarna
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 ringan dan berat:

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 layanan transportasi online yang operatornya mungkin ingin memantau pengemudi yang melaju terlalu cepat untuk meningkatkan keselamatan.

Misalnya, contoh berikut membagikan informasi kecepatan jika kecepatan melebihi batas kecepatan dengan persentase yang ditentukan:

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 { ... }