پیکربندی حالت‌های معمولی و کم‌نور

کیت توسعه نرم‌افزار پیمایش برای iOS به‌طور خودکار از حالت‌های روشن و تاریک سیستم iOS پیروی نمی‌کند. درعوض، GMSMapView با قابلیت پیمایش ازطریق ویژگی lightingMode و شمارشی GMSNavigationLightingMode از طرح‌های رنگی عادی و کم‌نور پشتیبانی می‌کند:

  • حالت عادی (.normal): از آرایش رنگ‌های مناسب برای مشاهده در نور روز استفاده می‌کند.
  • حالت کم‌نور (.lowLight): از آرایش رنگی مناسب برای مشاهده در شب استفاده می‌کند.

فعال کردن تعویض خودکار حالت نورپردازی

کیت توسعه نرم‌افزار پیمایش برای iOS حالت روشنایی توصیه‌شده را براساس زمان روز و مکان دستگاه محاسبه می‌کند و آن را ازطریق ویژگی suggestedLightingMode در GMSNavigator نمایش می‌دهد. بااین‌حال، GMSMapView این توصیه را به‌طور خودکار اعمال نمی‌کند.

برای جابه‌جا شدن خودکار بین حالت‌های عادی و نور کم، مراحل زیر را در کنترل‌کننده نما تکمیل کنید:

  1. تنظیم حالت نورپردازی اولیه در زمان راه‌اندازی: وقتی نقشه را راه‌اندازی می‌کنید، دارایی suggestedLightingMode را از GMSNavigator بخوانید و آن مقدار را به mapView.lightingMode اختصاص دهید. Because the listener only fires when the suggested lighting mode changes (such as at sunrise or sunset), setting the initial value ensures the map renders in low-light mode immediately if the user starts navigation at night.
  2. گوش دادن به تغییرات حالت نورپردازی درطول پیمایش: پروتکل GMSNavigatorListener را اتخاذ کنید و روش navigator(_:didChangeSuggestedLightingMode:) را برای به‌روزرسانی mapView.lightingMode هرگاه حالت پیشنهادی تغییر کرد پیاده‌سازی کنید.

مثال زیر نشان می‌دهد که چگونه حالت نورپردازی اولیه را تنظیم کنید و آن را به‌روز کنید وقتی حالت نورپردازی پیشنهادی تغییر می‌کند:

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
}

آبجکتیو-سی

// 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، به اعلام انطباق با پروتکل‌های الزامی در راهنمای «گوش دادن به رویدادهای پیمایش» مراجعه کنید.

اجباری کردن حالت عادی یا کم‌نور

اگر نمی‌خواهید نقشه به‌طور خودکار حالت‌ها را تغییر دهد، می‌توانید با تنظیم mapView.lightingMode مستقیم و حذف navigator(_:didChangeSuggestedLightingMode:) به‌روزرسانی شنونده، حالت عادی یا حالت نور کم را اجباری کنید.

مثال زیر نشان می‌دهد که چگونه نقشه را مجبور به ورود به حالت کم‌نور یا عادی کنید:

Swift

// Force low-light mode.
mapView.lightingMode = .lowLight

// Or force normal (daylight) mode.
mapView.lightingMode = .normal

آبجکتیو-سی

// Force low-light mode.
_mapView.lightingMode = GMSNavigationLightingModeLowLight;

// Or force normal (daylight) mode.
_mapView.lightingMode = GMSNavigationLightingModeNormal;

سفارشی‌سازی کردن رنگ‌های رابط کاربری در نور کم

همچنین می‌توانید رنگ‌های پس‌زمینه اصلی و ثانویه سرصفحه پیمایش را وقتی نقشه در حالت نور کم است سفارشی‌سازی کنید. برای اطلاعات بیشتر درباره سفارشی‌سازی این رنگ‌ها، به رنگ‌های سرصفحه حالت نور کم در راهنمای «اصلاح واسط کاربر ناوبری» مراجعه کنید.