iOS için Navigasyon SDK'sı, iOS sisteminin açık ve koyu modlarını otomatik olarak takip etmez.
Bunun yerine, gezinme özelliği etkin bir GMSMapView, lightingMode özelliği ve GMSNavigationLightingMode enum'u aracılığıyla normal ve düşük ışık renk şemalarını destekler:
- Normal mod (
.normal): Gündüz görüntülemeye uygun bir renk şeması kullanır. - Düşük ışık modu (
.lowLight): Gece görüntülemeye uygun bir renk şeması kullanır.
Otomatik aydınlatma modu geçişini etkinleştirme
iOS için Navigasyon SDK'sı, günün saatine ve cihazın konumuna göre önerilen aydınlatma modunu hesaplar ve GMSNavigator öğesinin suggestedLightingMode özelliği aracılığıyla kullanıma sunar.
Ancak,
GMSMapView
bu öneriyi otomatik olarak uygulamaz.
Normal ve düşük ışık modları arasında otomatik olarak geçiş yapmak için görünüm denetleyicinizde aşağıdaki adımları uygulayın:
- Başlangıçta ilk aydınlatma modunu ayarlama: Haritayı ayarlarken
GMSNavigatoröğesindensuggestedLightingModeözelliğini okuyun ve bu değerimapView.lightingModeöğesine atayın. Dinleyici yalnızca önerilen aydınlatma modu değiştiğinde (ör. gün doğumu veya gün batımında) tetiklendiğinden, başlangıç değerinin ayarlanması, kullanıcı gece navigasyonu başlatırsa haritanın hemen düşük ışık modunda oluşturulmasını sağlar. - Gezinme sırasında aydınlatma modu değişikliklerini dinleme:
GMSNavigatorListenerprotokolünü benimseyin ve önerilen mod her değiştiğindemapView.lightingMode'yi güncellemek içinnavigator(_:didChangeSuggestedLightingMode:)yöntemini uygulayın.
Aşağıdaki örnekte, ilk aydınlatma modunun nasıl ayarlanacağı ve önerilen aydınlatma modu değiştiğinde nasıl güncelleneceği gösterilmektedir:
Swift
// Step 1: Set the initial lighting mode on launch or setup.
mapView.navigator?.add(self)
mapView.lightingMode = mapView.navigator?.suggestedLightingMode ?? .normal
// Step 2: Update the lighting mode when the sun sets or rises during navigation.
func navigator(
_ navigator: GMSNavigator,
didChangeSuggestedLightingMode lightingMode: GMSNavigationLightingMode
) {
mapView.lightingMode = lightingMode
}
Objective-C
// Step 1: Set the initial lighting mode on launch or setup.
[_mapView.navigator addListener:self];
_mapView.lightingMode = _mapView.navigator.suggestedLightingMode;
// Step 2: Update the lighting mode when the sun sets or rises during navigation.
- (void)navigator:(GMSNavigator *)navigator
didChangeSuggestedLightingMode:(GMSNavigationLightingMode)lightingMode {
_mapView.lightingMode = lightingMode;
}
GMSNavigatorListener'ı kullanma hakkında daha fazla bilgi için
Gerekli protokollere uygunluğu bildirme
bölümünü inceleyin.
Normal veya zayıf ışık modunu zorunlu kılma
Haritanın modlar arasında otomatik olarak geçiş yapmasını istemiyorsanız mapView.lightingMode değerini doğrudan ayarlayıp navigator(_:didChangeSuggestedLightingMode:) dinleyici güncellemesini atlayarak normal veya düşük ışık modunu zorlayabilirsiniz.
Aşağıdaki örnekte, haritanın nasıl düşük ışık veya normal moda zorlanacağı gösterilmektedir:
Swift
// Force low-light mode.
mapView.lightingMode = .lowLight
// Or force normal (daylight) mode.
mapView.lightingMode = .normal
Objective-C
// Force low-light mode.
_mapView.lightingMode = GMSNavigationLightingModeLowLight;
// Or force normal (daylight) mode.
_mapView.lightingMode = GMSNavigationLightingModeNormal;
Düşük ışık kullanıcı arayüzü renklerini özelleştirme
Harita düşük ışık modundayken gezinme üstbilgisinin birincil ve ikincil arka plan renklerini de özelleştirebilirsiniz. Bu renkleri özelleştirme hakkında daha fazla bilgi için Gezinme kullanıcı arayüzünü değiştirme kılavuzundaki Düşük ışık modunda başlık renkleri bölümüne bakın.