ナビゲーションを有効にすると、Navigation SDK for iOS の地図の左下に現在の制限速度を示す制限速度コントロールが表示されます。ドライバーが制限速度を超えると、コントロールが展開されて制限速度ディスプレイの横に速度計が表示され、速度が特定のしきい値に達するとアラートがトリガーされます。
デフォルトでは、ドライバーが制限速度を 5 マイル(10 km)を超えると、Navigation SDK は軽微な速度アラートをトリガーし、速度計のテキストの色を赤に変更します。ドライバーが制限速度を時速 10 マイル(20 km)を超えると、重大な速度アラートがトリガーされ、速度計の背景色が赤に変わります。
アラートをトリガーするしきい値と、スピードメーターに表示されるテキストと背景色をカスタマイズできます。また、Navigation SDK を使用して、ドライバーの速度情報を利用することもできます。たとえば、ライドシェアのオペレーターが速度情報を閲覧できるようにして、ドライバーに速度制限の遵守と安全性の向上を促すことができます。
速度アラートのしきい値のカスタマイズ
マイナーとメジャーの両方の速度アラートの速度アラートのしきい値を、現在の速度の上限を超える割合でカスタマイズできます。しきい値を超えてから地図にアラートを表示するまでの時間を指定することもできます。
次のコード例では、マイナー速度アラートのしきい値を速度上限の 5% に設定し、メジャー速度アラートのしきい値を速度上限の 10% に設定しています。アラートのしきい値が 5 秒間超過した場合に地図にアラートを表示するよう指定します。
Swift
let minSpeedAlertThresholdPercentage: CGFloat = 0.05 let majorSpeedAlertThresholdPercentage: CGFloat = 0.1 let severityUpgradeDurationSeconds: TimeInterval = 5
// SpeedAlertOptions を設定する let mutableSpeedAlertOptions: GMSNavigationMutableSpeedAlertOptions = GMSNavigationMutableSpeedAlertOptions() mutableSpeedAlertOptions.setSpeedAlertThresholdPercentage(minorSpeedAlertThresholdPercentage, for: .minor) mutableSpeedAlertThresholdPercentage(majorSpeedThreshold.jUpgrade Seconds
// Set SpeedAlertOptions to Navigator. mapView.navigator?.speedAlertOptions = mutableSpeedAlertOptions; mapView.navigator?.add(self); // デリゲート イベントをリッスンする場合にのみ必要。
Objective-C
static const CGFloatmineSpeedAlertThresholdPercentage = 0.05; 静的定数 CGFloatMajorSpeedAlertThresholdPercentage = 0.1; static const NSTimeInterval severityUpgradeDurationSeconds = 5;
// SpeedAlertOptions GMSNavigationMutableSpeedAlertOptions 設定 *mutableSpeedAlertOptions = [[GMSNavigationMutableSpeedAlertOptions alloc] init]; [mutableSpeedAlertOptions setSpeedAlertThresholdPercentage: minorSpeedAlertThresholdPercentage forSpeedAlertSeverity:GMSNavigationSpeedAlertSeverityMinor]; [mutableSpeedOptions setSpeedAlert
// Set SpeedAlertOptions to Navigator. mapView.navigator.speedAlertOptions = mutableSpeedAlertOptions; [mapView.navigator addListener:self]; // 委譲イベントをリッスンしている場合のみ必要。
速度計での速度アラートの表示方法をカスタマイズする
速度計の表示色は、アラートレベルごとにカスタマイズできます。
次の表に、GMSNavigationSpeedometerUIOptions
クラスの速度アラートのデフォルトの色を示します。
要素 | 色 |
---|---|
MinorSpeedAlertBackgroundColorDayMode | 0xffffff(白) |
MinorSpeedAlertBackgroundColorNightMode | 0x000000 |
MinorSpeedAlertTextColorDayMode | 0xd93025 |
MinorSpeedAlertTextColorNightMode | 0xd93025 |
MajorSpeedAlertBackgroundColorDayMode | 0xd93025 |
MajorSpeedAlertBackgroundColorNightMode | 0xd93025 |
MajorSpeedAlertTextColorDayMode | 0xffffff(白) |
MajorSpeedAlertTextColorNightMode | 0xffffff(白) |
マイナーとメジャーの両方の速度アラートで、速度計のテキストと背景色を指定できます。
Swift
let mutableSpeedMeterUIOptions: GMSNavigationMutableSpeedMeterUIOptions = GMSNavigationMutableSpeedmeterUIOptions() mutableSpeedMeterUIOptions.setTextColor(minorSpeedAlertTextColor, for: .minor, lightingMode: .normal) mutableSpeedMeterUIOptions.setTextColor(majorSpeedAlertTextColor, for: .major:set
mapView.settings.speedmeterUIOptions = mutableSpeedmeterUIOptions
Objective-C
GMSNavigationMutableSpeedmeterUIOptions *mutableSpeedMeterUIOptions [GMSNavigationMutableSpeedMeterUIOptions alloc] init]; [mutableSpeedMeterUIOptions setTextColor:middleSpeedAlertTextColor forSpeedAlertSeverity: GMSNavigationSpeedAlertSeverityMinorlightingMode: GMSNavigationLightingNormal]; [mutableSpeedmeterUIOptions setColor:
mapView.settings.speedmeterUIOptions = mutableSpeedmeterUIOptions;
ドライバーから速度情報を受け取る
アプリでドライバーの速度に関する情報を共有する必要がある場合は、Navigation SDK を使用してドライバーの速度情報を利用することもできます。これは、運転手による過度のスピード速度をオペレーターが監視して安全性を向上させたいライドシェア アプリケーションで役立ちます。
たとえば、次の例では、速度が制限速度をパーセンテージで超過している場合に、速度情報を共有しています。
Swift
// 指定した割合で速度が制限を超えた場合に速度情報を共有するためのリスナー メソッド。#pragmamark GMSNavigatorListener func navigator(_ navigator : GMSNavigator, DidUpdateSpeedingPercentage percentageOverLimit : Float) { ... }
Objective-C
// 速度向上フィードをリッスンするリスナー メソッド。#pragmamark GMSNavigatorListener - (void)navigator:(GMSNavigator *)navigator didUpdateSpeedingPercentage:(float)percentageOverLimit { ... }