Navigasyon etkinleştirildiğinde ve seyahat modu sürüş olarak ayarlandığında, iOS için Navigation SDK, haritanın sol alt köşesinde geçerli hız sınırını gösteren bir hız sınırı kontrolü görüntüler. Sürücü hız sınırını aşarsa kontrol genişleyerek hız sınırı ekranının yanında bir hız göstergesi gösterir ve hız belirli bir eşiğe ulaştığında uyarıları tetikler.
Varsayılan olarak Navigation SDK, sürücü hız sınırını saatte 5 mil (veya saatte 10 km) aştığında küçük bir hız uyarısı tetikler ve hız göstergesi metninin rengini kırmızıya çevirir. Sürücü hız sınırını saatte 10 mil (veya 20 km) aştığında büyük bir hız uyarısı tetiklenir ve hız göstergesinin arka plan rengi kırmızıya döner.
Hem uyarıları tetikleme eşiğini hem de hız göstergesinin gösterdiği metin ve arka plan renklerini özelleştirebilirsiniz. Sürücünün hız bilgilerini kullanılabilir hale getirmek için Navigation SDK'yı da kullanabilirsiniz. Örneğin, sürücülerini hız sınırına uymaya teşvik etmelerine ve güvenliği artırmalarına yardımcı olmak için araç paylaşımı operatörlerine hız bilgilerini sunabilirsiniz.
Hız uyarıları için eşikleri özelleştirme
Hem küçük hem de büyük hız uyarıları için hız uyarısı eşiğini, mevcut hızın hız sınırını aşma yüzdesi olarak özelleştirebilirsiniz. Ayrıca, haritada uyarı gösterilmeden önce eşiğin ne kadar süreyle aşılacağını da belirtebilirsiniz.
Aşağıdaki kod örneğinde, küçük hız uyarısı eşiği hız sınırının %5 üzerinde, büyük hız uyarısı eşiği ise hız sınırının %10 üzerinde olarak ayarlanmıştır. Haritanın, uyarı eşiği beş saniye boyunca aşıldıktan sonra uyarı göstereceği belirtiliyor.
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.
Hız göstergesinin hız uyarılarını gösterme şeklini özelleştirme
Her uyarı seviyesi için hız göstergesi ekranının renklerini özelleştirebilirsiniz.
Aşağıdaki tabloda, GMSNavigationSpeedometerUIOptions
sınıfındaki hız uyarılarının varsayılan renkleri gösterilmektedir:
Öğe | Renk |
---|---|
MinorSpeedAlertBackgroundColorDayMode | 0xffffff(beyaz) |
MinorSpeedAlertBackgroundColorNightMode | 0x000000 |
MinorSpeedAlertTextColorDayMode | 0xd93025 |
MinorSpeedAlertTextColorNightMode | 0xd93025 |
MajorSpeedAlertBackgroundColorDayMode | 0xd93025 |
MajorSpeedAlertBackgroundColorNightMode | 0xd93025 |
MajorSpeedAlertTextColorDayMode | 0xffffff(beyaz) |
MajorSpeedAlertTextColorNightMode | 0xffffff(beyaz) |
Hem küçük hem de büyük hız uyarıları için hız göstergesinin metin ve arka plan rengini belirleyebilirsiniz:
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;
Sürücülerden hız bilgisi alma
Uygulamanızda sürücü hızıyla ilgili bilgilerin paylaşılması gerekiyorsa sürücünün hız bilgilerini kullanılabilir hale getirmek için Navigation SDK'yı da kullanabilirsiniz. Bu, bir operatörün güvenliği artırmak için sürücülerin aşırı hız yapmasını izlemek isteyebileceği araç paylaşımı uygulamalarında faydalı olabilir.
Örneğin, aşağıdaki örnekte hız, hız sınırının belirli bir yüzdesi üzerinde olduğunda hız bilgileri paylaşılır:
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 { ... }