탐색이 사용 설정되고 이동 모드가 운전으로 설정되면 iOS용 Navigation SDK는 지도의 왼쪽 하단에 현재 제한 속도를 표시하는 제한 속도 컨트롤을 표시합니다. 운전자가 제한 속도를 초과하면 컨트롤이 확장되어 제한 속도 표시 옆에 속도계가 표시되고 속도가 특정 기준점에 도달하면 알림이 트리거됩니다.
기본적으로 Navigation SDK는 운전자가 제한 속도를 5mph (또는 10kph) 초과하면 경미한 속도 알림을 트리거하고 속도계 텍스트의 색상을 빨간색으로 변경합니다. 운전자가 제한 속도를 10mph (또는 20kph) 초과하면 심각한 속도 알림을 트리거하고 속도계 배경 색상을 빨간색으로 변경합니다.
알림을 트리거하는 기준점과 속도계에 표시되는 텍스트 및 배경 색상을 모두 맞춤설정할 수 있습니다. Navigation SDK 를 사용하여 운전자의 속도 정보를 제공할 수도 있습니다. 예를 들어 차량 공유 운영자가 속도 정보를 제공하여 운전자가 제한 속도를 준수하고 안전을 개선하도록 장려할 수 있습니다.
속도 알림 기준점 맞춤설정
경미한 속도 알림과 심각한 속도 알림 모두에 대해 현재 속도의 제한 속도 초과 비율로 속도 알림 기준점을 맞춤설정할 수 있습니다. 지도에서 알림을 표시하기 전에 기준점을 초과하는 시간도 지정할 수 있습니다.
다음 코드 예에서는 경미한 속도 알림의 기준점을 제한 속도보다 5 퍼센트 높게, 심각한 속도 알림의 기준점을 제한 속도보다 10 퍼센트 높게 설정합니다. 알림 기준점을 5초 동안 초과한 후 지도가 알림을 표시하도록 지정합니다.
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 { ... }