Navigasyon etkinleştirildiğinde ve seyahat modu sürüş olarak ayarlandığında iOS için Navigasyon SDK'sı, haritanın sol alt köşesinde geçerli hız sınırını gösteren bir hız sınırı denetimi gösterir. Sürücü hız sınırını aşarsa kontrol, hız sınırı ekranının yanında bir hız göstergesi gösterecek şekilde genişler ve hız belirli bir eşiğe ulaştığında uyarılar tetikler.
Varsayılan olarak Navigasyon SDK'sı, sürücü hız sınırını 5 mil/sa (veya 10 km/sa) 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ı 10 mil (veya 20 km/sa) aştığında önemli bir hız uyarısı tetikler ve hız göstergesinin arka plan rengini kırmızıya çevirir.
Hem uyarıların tetiklenmesi için eşiği hem de hız göstergesinin gösterdiği metin ve arka plan renklerini özelleştirebilirsiniz. Sürücünün hız bilgilerini sunmak için Navigasyon SDK'sını 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 hız bilgilerini araç paylaşma operatörlerinin kullanımına 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ın yüzdesi olarak özelleştirebilirsiniz. Ayrıca, haritanın uyarıyı göstermeden önce eşiğin ne kadar süre boyunca aşıldığını da belirtebilirsiniz.
Aşağıdaki kod örneğinde, küçük hız uyarısı için eşik hız sınırının yüzde beş, büyük hız uyarısı için eşik ise hız sınırının yüzde 10 üzerinde ayarlanmıştır. Uyarı eşiğinin beş saniye boyunca aşılması durumunda haritanın uyarı gösterdiğini belirtir.
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ı nasıl göstereceğini özelleştirme
Hız göstergesi ekranının renklerini her uyarı seviyesi için ö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 metnini ve arka plan rengini belirtebilirsiniz:
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üler tarafından sağlanan hız bilgileri
Uygulamanız sürücü hızı hakkında bilgi paylaşımı gerektiriyorsa sürücünün hız bilgilerini sunmak için Navigasyon SDK'sını da kullanabilirsiniz. Bu, operatörün güvenliği artırmak için sürücülerin aşırı hızını izlemek isteyebileceği araç paylaşımı uygulamaları için yararlı olabilir.
Örneğin, aşağıdaki örnekte hız, hız sınırının belirli bir yüzdesinin üzerinde olduğunda hız bilgileri paylaşılmaktadı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 { ... }