Mengonfigurasi pemberitahuan speedometer

Jika navigasi diaktifkan dan mode perjalanan disetel ke mengemudi, Navigation SDK untuk iOS akan menampilkan kontrol batas kecepatan di sudut 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 minor saat pengemudi melampaui batas kecepatan sebesar 5 mpj (atau 10 kpj), dan mengubah warna teks speedometer menjadi merah. Fitur ini memicu peringatan kecepatan utama 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 bagi operator transportasi online untuk membantu mereka mendorong pengemudi agar mematuhi batas kecepatan dan meningkatkan keselamatan.

Menyesuaikan ambang batas untuk notifikasi kecepatan

Anda dapat menyesuaikan batas notifikasi kecepatan untuk notifikasi kecepatan minor dan utama sebagai persentase di atas batas kecepatan kecepatan saat ini. Anda juga dapat menentukan berapa lama batas akan terlampaui sebelum peta menampilkan pemberitahuan.

Contoh kode berikut menetapkan nilai minimum untuk notifikasi kecepatan minor menjadi lima persen di atas batas kecepatan, dan nilai minimum untuk notifikasi kecepatan utama menjadi 10 persen di atas batas kecepatan. Menentukan bahwa peta menampilkan pemberitahuan setelah batas 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 notifikasi.

Tabel berikut menampilkan warna default untuk notifikasi 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 teks dan warna latar belakang speedometer untuk notifikasi kecepatan minor dan utama:

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 berlebihan yang dilakukan pengemudi untuk meningkatkan keselamatan.

Misalnya, contoh berikut membagikan informasi kecepatan saat kecepatan 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 { ... }