設定速度計快訊

啟用導航後,iOS 版 Navigation SDK 會在地圖左下角顯示目前的速限控制項,顯示目前的速限。如果駕駛人超出速限,控制項會展開,在速限顯示旁顯示速度計,並在速度達到特定門檻時觸發快訊。

根據預設,在驅動程式超過時速 5 英里 (或 10 公里) 時,Navigation SDK 會觸發小速快訊,並將速度計文字的顏色變更為紅色。當駕駛人超過速限 10 英里 (或 20 公里) 時,且會將速度計背景變更為紅色時,就會觸發重大速度快訊。

您可以自訂觸發快訊的門檻,以及計速器顯示的文字和背景顏色。您也可以使用 Navigation SDK 提供驅動程式的速度資訊。舉例來說,您可以向代僱駕駛服務業者提供速度資訊,協助駕駛人遵守速限並提高安全性。

自訂速度警示門檻

您可以自訂微速和主要速度快訊的速度快訊門檻,做為超過目前速度速限的百分比。您也可以指定地圖要超過這個門檻多久顯示快訊。

下列程式碼範例會將小速度快訊的門檻設為速限的 5%,並將主要速度快訊的門檻設為超過速限的 10%。它會指定在超過快訊門檻五秒後,地圖會顯示快訊。

Swift

讓 minSpeedAlertThresholdPercentage:CGFloat = 0.05 let majorSpeedAlertThresholdPercentage: CGFloat = 0.1 let severityUpgradeDurationSeconds: TimeInterval = 5

// 設定 SpeedAlertOptions 讓 mutableSpeedAlertOptions: GMSNavigationMutableSpeedAlertOptions = GMSNavigationMutableSpeedAlertOptions() mutableSpeedAlertOptions.setSpeedAlertThresholdPercentage(minorSpeedAlertThresholdPercentage, 針對:.minor) mutableSpeedAlertOptions.setSpeedAlertThresholdPercentage(majorSpeedAlertOptions.setSpeedAlertThresholdPercentage)

// 將 SpeedAlertOptions 設為 Navigator. mapView.navigator?.speedAlertOptions = mutableSpeedAlertOptions; mapView.navigator?.add(self); // 只有在監聽委派事件時才需要。

Objective-C

static const CGFloat secondarySpeedAlertThresholdPercentage = 0.05;靜態 const CGFloat mainSpeedAlertThresholdPercentage = 0.1; static const NSTimeInterval severityUpgradeDurations = 5;

// 設定 SpeedAlertOptions GMSNavigationMutableSpeedAlertOptions = [[GMSNavigationMutableSpeedAlertOptions alloc] init]; [mutableSpeedAlertOptions setSpeedAlertThresholdPercentage: minorSpeedAlertThresholdPercentage: forSpeedAlertSeverity:GMSSpeedAlertSeverityMinor).

// 將 SpeedAlertOptions 設為 Navigator. mapView.navigator.speedAlertOptions = mutableSpeedAlertOptions; [mapView.navigator addListener:self]; // 只有在監聽委派事件時才需要。

自訂計速器顯示速度快訊的方式

您可以自訂每個警示等級的計速器顯示顏色。

下表列出 GMSNavigationSpeedometerUIOptions 類別中的速度快訊的預設顏色:

元素顏色
MinorSpeedAlertBackgroundColorDayMode 0xffffff(白色)
MinorSpeedAlertBackgroundColorNightMode 0x000000
MinorSpeedAlertTextColorDayMode 0 x 93025
MinorSpeedAlertTextColorNightMode 0 x 93025
MajorSpeedAlertBackgroundColorDayMode 0 x 93025
MajorSpeedAlertBackgroundColorNightMode 0 x 93025
MajorSpeedAlertTextColorDayMode 0xffffff(白色)
MajorSpeedAlertTextColorNightMode 0xffffff(白色)

您可以為次要和主要速度快訊指定計速器的文字和背景顏色:

Swift

let mutableSpeedometerUIOptions: GMSNavigationMutableSpeedometerUIOptions = GMSNavigationMutableSpeedometerUIOptions() mutableSpeedometerUIOptions.setTextColor(minorSpeedAlertTextColor, for: .minor, lightingMode: .normal) mutableSpeedometerUIOptions.setTextColor(majorSpeedAlertTextColor, for: .maorSpeedometerUIOptions: GMSNavigationMutableSpeedometerUIOptions = GMSNavigationMutableSpeedometerUIOptions() mutableSpeedometerUIOptions.setTextColor(minorSpeedAlertTextColor, for: .minor, lightingMode: .normal) mutableSpeedometerUIOptions.setTextColor(majorSpeedAlertTextColor, for: .maorSpeedometerUIOptions: GMSNavigationMutableSpeedometerUIOptions)

mapView.settings.speedometerUIOptions = mutableSpeedometerUIOptions

Objective-C

GMSNavigationMutableSpeedometerUIOptions *mutableSpeedometerUIOptions [[GMSNavigationMutableSpeedometerUIOptions alloc] init]; [mutableSpeedometerUIOptions setTextColor: subSpeedAlertTextColor: GMSNavigationSpeedAlertSeverityAlertMinor light: GMSNavigationSpeedAlertSeverityAlertColor).

mapView.settings.speedometerUIOptions = mutableSpeedometerUIOptions;

接收司機提供的速度資訊

如果您的應用程式需要分享驅動程式速度相關資訊,您也可以使用 Navigation SDK 提供駕駛速度資訊。這對於代僱駕駛服務應用程式來說,如果操作員需要監控駕駛人為了提高安全性,而監控超速行駛,這就十分實用。

例如,以下範例會在速度為超過速限的指定百分比時分享速度資訊:

Swift

// 在速度超過指定百分比的速限時,用於分享速度資訊的事件監聽器方法。#pragma 標記 GMSNavigatorListener 自身 navgator(_ navigator : GMSNavigator, doUpdateSpeedingPercentage percentageAboveLimit : Float) { ... }

Objective-C

// 監聽速度動態饋給的事件監聽器方法。#pragma 標記 GMSNavigatorListener - (void)navigator:(GMSNavigator *)navigator didUpdateSpeedingPercentage:(float)percentageAboveLimit { ... }