Normal ve zayıf ışık modlarını yapılandırma

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ü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:

  1. Başlangıçta ilk aydınlatma modunu ayarlama: Haritayı ayarlarken GMSNavigator öğesinden suggestedLightingMode özelliğini okuyun ve bu değeri mapView.lightingMode öğesine 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, ilk değerin ayarlanması, kullanıcı navigasyonu gece başlattığında haritanın hemen zayıf ışık modunda oluşturulmasını sağlar.
  2. Gezinme sırasında aydınlatma modu değişikliklerini dinleme: GMSNavigatorListener protokolünü benimseyin ve önerilen mod her değiştiğinde mapView.lightingMode'u güncellemek için navigator(_: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'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 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 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 Gezinme kullanıcı arayüzünü değiştirme kılavuzundaki Düşük ışık modu başlık renkleri bölümüne bakın.