iOS için Navigasyon SDK'sı, iOS sisteminin açık ve koyu modlarını otomatik olarak takip etmez.
Bunun yerine, navigasyon özellikli bir
GMSMapView,
lightingMode
özelliği ve
GMSNavigationLightingMode
enum'u aracılığıyla normal ve düşük ışıklı renk şemalarını destekler:
- Normal mod (
.normal): Gün ışığında 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 ışıklandırma 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 bunu GMSNavigator'ın suggestedLightingMode özelliği aracılığıyla gösterir.
Ancak GMSMapView bu öneriyi otomatik olarak uygulamaz.
Normal ve zayıf ışı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'tensuggestedLightingModeözelliğini okuyun ve bu değerimapView.lightingMode'a atayın. Dinleyici yalnızca önerilen aydınlatma modu değiştiğinde (ör. gün doğumunda veya gün batımında) tetiklendiğinden, başlangıç değerinin ayarlanması, kullanıcı gece navigasyonu başlattığında haritanın hemen zayıf ışık modunda oluşturulmasını sağlar. - Navigasyon sırasında aydınlatma modu değişikliklerini dinleme: Önerilen mod her değiştiğinde
mapView.lightingModedeğerini güncellemek içinGMSNavigatorListenerprotokolünü benimseyin venavigator(_:didChangeSuggestedLightingMode:)yöntemini uygulayın.
Aşağıdaki örnekte, ilk açık modun nasıl ayarlanacağı ve önerilen açık mod 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'i kullanma hakkında daha fazla bilgi için Gezinme etkinliklerini dinleme kılavuzundaki Gerekli protokollere uygunluğu beyan etme bölümüne bakın.
Normal veya zayıf ışık modunu zorunlu kılma
Haritanın modlar arasında otomatik olarak geçiş yapmasını istemiyorsanız doğrudan mapView.lightingMode değerini ayarlayarak ve navigator(_:didChangeSuggestedLightingMode:) dinleyici güncellemesini atlayarak normal veya zayıf ışık modunu zorunlu kılabilirsiniz.
Aşağıdaki örnekte, haritanın düşük ışık veya normal moda nasıl 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 zayıf ışık modundayken navigasyon başlığının birincil ve ikincil arka plan renklerini de özelleştirebilirsiniz. Bu renkleri özelleştirme hakkında daha fazla bilgi için "Navigasyon kullanıcı arayüzünü değiştirme" kılavuzundaki Düşük ışık modu başlık renkleri bölümüne bakın.