設定速度計快訊
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
啟用導航功能並將交通方式設為開車時,iOS 版 Navigation SDK 會在地圖左下角顯示速限控制項,顯示目前的速限。如果駕駛人超過速限,控制項會展開,在速限顯示旁邊顯示計速器,並在速度達到特定門檻時觸發警報。
根據預設,如果駕駛人超過速限 5 英里/時 (或 10 公里/時),Navigation SDK 就會觸發輕微的速度警示,並將速度計文字的顏色變更為紅色。如果駕駛人超速 10 英里/時 (或 20 公里/時),系統就會觸發重大超速警示,並將速度計背景顏色變更為紅色。
您可以自訂觸發快訊的門檻,以及速度計顯示的文字和背景顏色。您也可以使用 Navigation SDK 提供駕駛人的車速資訊。舉例來說,您可以向共乘服務業者提供車速資訊,協助他們鼓勵駕駛人遵守速限,進而提升安全性。
自訂速度快訊的門檻
您可以自訂輕微和重大超速警示的速限百分比,您也可以指定地圖顯示快訊前,超出門檻的時間長度。
下列程式碼範例會將輕微超速警示的門檻設為超過速限 5%,嚴重超速警示的門檻則設為超過速限 10%。這項設定指定地圖在警示閾值超過五秒後顯示警示。
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.
自訂車速表顯示車速快訊的方式
你可以為每個警報等級自訂速度表顯示的顏色。
下表顯示 GMSNavigationSpeedometerUIOptions
類別中速限快訊的預設顏色:
元素 | 顏色 |
MinorSpeedAlertBackgroundColorDayMode |
0xffffff(白色) |
MinorSpeedAlertBackgroundColorNightMode |
0x000000 |
MinorSpeedAlertTextColorDayMode |
0xd93025 |
MinorSpeedAlertTextColorNightMode |
0xd93025 |
MajorSpeedAlertBackgroundColorDayMode |
0xd93025 |
MajorSpeedAlertBackgroundColorNightMode |
0xd93025 |
MajorSpeedAlertTextColorDayMode |
0xffffff(白色) |
MajorSpeedAlertTextColorNightMode |
0xffffff(白色) |
您可以為次要和主要速度快訊指定速度表的文字和背景顏色:
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;
如果應用程式需要分享駕駛人的車速資訊,您也可以使用 Navigation SDK 提供駕駛人的車速資訊。這項功能適用於共乘應用程式,因為營運人員可能想監控駕駛人是否超速,以提升安全性。
舉例來說,以下範例會在車速超過速限指定百分比時分享車速資訊:
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 { ... }
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-08-31 (世界標準時間)。
[null,null,["上次更新時間:2025-08-31 (世界標準時間)。"],[[["\u003cp\u003eWhen navigation is in driving mode, the Navigation SDK displays the current speed limit and driver's speed, providing visual and configurable speed alerts.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can customize the thresholds for minor and major speed alerts, including the percentage over the speed limit and duration before triggering.\u003c/p\u003e\n"],["\u003cp\u003eThe speedometer's text and background colors can be customized for day and night modes, allowing for clear visual distinction of speed alert levels.\u003c/p\u003e\n"],["\u003cp\u003eThe Navigation SDK enables access to the driver's speed information, which can be used for purposes like monitoring driver behavior in rideshare applications.\u003c/p\u003e\n"]]],["The Navigation SDK for iOS displays a speed limit and speedometer when driving. Speed alerts are triggered when the driver exceeds the limit. Minor alerts occur at 5 mph (or 10 kph) over, turning the text red. Major alerts occur at 10 mph (or 20 kph) over, turning the background red. Alert thresholds and colors are customizable, including percentages over the limit and time before the alert. The SDK also provides driver speed data for monitoring purposes, such as in rideshare apps.\n"],null,["# Configure speedometer alerts\n\nWhen navigation is enabled and the travel mode is set to driving, the Navigation\nSDK for iOS displays a speed limit control in the lower left corner of the map\nthat shows the current speed limit. If a driver exceeds the speed limit, the\ncontrol expands to display a speedometer next to the speed limit display and\ntriggers alerts when the speed reaches a certain threshold.\n\nBy default, the Navigation SDK triggers a minor speed alert when the driver\nexceeds the speed limit by 5 mph (or 10 kph), and changes the color of the\nspeedometer text to red. It triggers a major speed alert when the driver exceeds\nthe speed limit by 10 mph (or 20 kph), and changes the speedometer background\ncolor to red. \n\nYou can customize both the threshold for triggering the alerts and the text and\nbackground colors the speedometer displays. You can also use the Navigation SDK\nto make the driver's speed information available. For example, you could make\nspeed information available to rideshare operators to help them encourage their\ndrivers to adhere to the speed limit and improve safety.\n\nCustomizing thresholds for speed alerts\n---------------------------------------\n\nYou can customize the speed alert threshold for both minor and major speed\nalerts as a percentage over the speed limit of the current speed. You can also\nspecify how long the threshold is exceeded before the map displays the alert.\n\nThe following code example sets the threshold for a minor speed alert to five\npercent over the speed limit, and the threshold for a major speed alert to 10\npercent over the speed limit. It specifies that the map displays an alert after\nan alert threshold has been exceeded for five seconds.\n\n\u003cbr /\u003e\n\n### Swift\n\n\u003cbr /\u003e\n\n let minorSpeedAlertThresholdPercentage: CGFloat = 0.05 let\n majorSpeedAlertThresholdPercentage: CGFloat = 0.1 let\n severityUpgradeDurationSeconds: TimeInterval = 5\n\n // Configure SpeedAlertOptions let mutableSpeedAlertOptions:\n GMSNavigationMutableSpeedAlertOptions = GMSNavigationMutableSpeedAlertOptions()\n mutableSpeedAlertOptions.setSpeedAlertThresholdPercentage(minorSpeedAlertThresholdPercentage,\n for: .minor)\n mutableSpeedAlertOptions.setSpeedAlertThresholdPercentage(majorSpeedAlertThresholdPercentage,\n for: .major) mutableSpeedAlertOptions.severityUpgradeDurationSeconds =\n severityUpgradeDurationSeconds\n\n // Set SpeedAlertOptions to Navigator. mapView.navigator?.speedAlertOptions =\n mutableSpeedAlertOptions; mapView.navigator?.add(self); // Only needed if\n listening to the delegate events.\n\n\u003cbr /\u003e\n\n### Objective-C\n\n\u003cbr /\u003e\n\n static const CGFloat minorSpeedAlertThresholdPercentage = 0.05; static const\n CGFloat majorSpeedAlertThresholdPercentage = 0.1; static const NSTimeInterval\n severityUpgradeDurationSeconds = 5;\n\n // Configure SpeedAlertOptions GMSNavigationMutableSpeedAlertOptions\n *mutableSpeedAlertOptions = [[GMSNavigationMutableSpeedAlertOptions alloc]\n init]; [mutableSpeedAlertOptions setSpeedAlertThresholdPercentage:\n minorSpeedAlertThresholdPercentage\n forSpeedAlertSeverity:GMSNavigationSpeedAlertSeverityMinor];\n [mutableSpeedAlertOptions\n setSpeedAlertThresholdPercentage:majorSpeedAlertThresholdPercentage\n forSpeedAlertSeverity:GMSNavigationSpeedAlertSeverityMajor];\n [mutableSpeedAlertOptions\n setSeverityUpgradeDurationSeconds:severityUpgradeDurationSeconds];\n\n // Set SpeedAlertOptions to Navigator. mapView.navigator.speedAlertOptions =\n mutableSpeedAlertOptions; [mapView.navigator addListener:self]; // Only needed\n if listening to the delegate events.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\nCustomizing how the speedometer displays speed alerts\n-----------------------------------------------------\n\nYou can customize the colors of the speedometer display for each alert level.\n\nThe following table shows the default colors for speed alerts in the\n`GMSNavigationSpeedometerUIOptions` class:\n\n| Element | Color |\n|-----------------------------------------|-----------------|\n| MinorSpeedAlertBackgroundColorDayMode | 0xffffff(white) |\n| MinorSpeedAlertBackgroundColorNightMode | 0x000000 |\n| MinorSpeedAlertTextColorDayMode | 0xd93025 |\n| MinorSpeedAlertTextColorNightMode | 0xd93025 |\n| MajorSpeedAlertBackgroundColorDayMode | 0xd93025 |\n| MajorSpeedAlertBackgroundColorNightMode | 0xd93025 |\n| MajorSpeedAlertTextColorDayMode | 0xffffff(white) |\n| MajorSpeedAlertTextColorNightMode | 0xffffff(white) |\n\nYou can specify the text and background color of the speedometer for both minor\nand major speed alerts:\n\n\u003cbr /\u003e\n\n### Swift\n\n\u003cbr /\u003e\n\n let mutableSpeedometerUIOptions: GMSNavigationMutableSpeedometerUIOptions =\n GMSNavigationMutableSpeedometerUIOptions()\n mutableSpeedometerUIOptions.setTextColor(minorSpeedAlertTextColor, for: .minor,\n lightingMode: .normal)\n mutableSpeedometerUIOptions.setTextColor(majorSpeedAlertTextColor, for: .major,\n lightingMode: .normal)\n mutableSpeedometerUIOptions.setBackgroundColor(minorSpeedAlertNightModeBackgroundColor,\n for: .minor, lightingMode: .lowLight)\n mutableSpeedometerUIOptions.setBackgroundColor(majorSpeedAlertDayModeBackgroundColor,\n for: .major, lightingMode: .normal)\n\n mapView.settings.speedometerUIOptions = mutableSpeedometerUIOptions\n\n\u003cbr /\u003e\n\n### Objective-C\n\n\u003cbr /\u003e\n\n GMSNavigationMutableSpeedometerUIOptions *mutableSpeedometerUIOptions =\n [[GMSNavigationMutableSpeedometerUIOptions alloc] init];\n [mutableSpeedometerUIOptions setTextColor: minorSpeedAlertTextColor\n forSpeedAlertSeverity: GMSNavigationSpeedAlertSeverityMinor lightingMode:\n GMSNavigationLightingModeNormal]; [mutableSpeedometerUIOptions setTextColor:\n majorSpeedAlertTextColor forSpeedAlertSeverity:\n GMSNavigationSpeedAlertSeverityMajor lightingMode:\n GMSNavigationLightingModeNormal]; [mutableSpeedometerUIOptions\n setBackgroundColor: minorSpeedAlertNightModeBackgroundColor\n forSpeedAlertSeverity: GMSNavigationSpeedAlertSeverityMinor lightingMode:\n GMSNavigationLightingModeLowLight]; [mutableSpeedometerUIOptions\n setBackgroundColor: majorSpeedAlertDayModeBackgroundColor forSpeedAlertSeverity:\n GMSNavigationSpeedAlertSeverityMajor\n lightingMode:GMSNavigationLightingModeNormal];\n\n mapView.settings.speedometerUIOptions = mutableSpeedometerUIOptions;\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\nReceiving speed information from drivers\n----------------------------------------\n\nIf your application requires sharing information about driver speed, you can\nalso use the Navigation SDK to make the driver's speed information available.\nThis can be useful for rideshare applications in which an operator may want to\nmonitor excessive speeding by drivers to improve safety.\n\nFor example, the following example shares speed information when the speed is a\nspecified percentage over the speed limit:\n\n\u003cbr /\u003e\n\n### Swift\n\n\u003cbr /\u003e\n\n // Listener method for sharing speed information when the speed exceeds the\n speed limit by a specified percentage. #pragma mark GMSNavigatorListener func\n navigator(_ navigator : GMSNavigator, didUpdateSpeedingPercentage\n percentageAboveLimit : Float) { ... }\n\n\u003cbr /\u003e\n\n### Objective-C\n\n\u003cbr /\u003e\n\n // Listener method listening to speeding feed. #pragma mark\n GMSNavigatorListener - (void)navigator:(GMSNavigator *)navigator\n didUpdateSpeedingPercentage:(float)percentageAboveLimit { ... }\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e"]]