Mengonfigurasi pemberitahuan speedometer

Jika navigasi diaktifkan dan mode perjalanan ditetapkan ke mengemudi, Navigation SDK for 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 notifikasi saat kecepatan mencapai batas tertentu.

Secara default, Navigation SDK memicu notifikasi kecepatan kecil saat pengemudi melebihi batas kecepatan sebesar 5 mph (atau 10 kph), dan mengubah warna teks speedometer menjadi merah. SDK ini memicu notifikasi kecepatan besar saat pengemudi melebihi batas kecepatan sebesar 10 mph (atau 20 kph), dan mengubah warna latar belakang speedometer menjadi merah.

Anda dapat menyesuaikan batas untuk memicu notifikasi 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 untuk membantu mereka mendorong pengemudi mematuhi batas kecepatan dan meningkatkan keselamatan.

Menyesuaikan batas untuk notifikasi kecepatan

Anda dapat menyesuaikan batas notifikasi kecepatan untuk notifikasi kecepatan kecil dan besar sebagai persentase di atas batas kecepatan kecepatan saat ini. Anda juga dapat menentukan berapa lama batas terlampaui sebelum peta menampilkan notifikasi.

Contoh kode berikut menetapkan batas untuk notifikasi kecepatan kecil menjadi lima persen di atas batas kecepatan, dan batas untuk notifikasi kecepatan besar menjadi 10 persen di atas batas kecepatan. Kode ini menentukan bahwa peta menampilkan notifikasi setelah batas notifikasi 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 menunjukkan 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 warna teks dan latar belakang speedometer untuk notifikasi 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 informasi tentang kecepatan pengemudi, Anda juga dapat menggunakan Navigation SDK untuk menyediakan informasi kecepatan pengemudi. Hal ini dapat berguna untuk aplikasi layanan transportasi yang operatornya mungkin ingin memantau kecepatan pengemudi yang berlebihan untuk meningkatkan keselamatan.

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