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

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

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

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

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

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

  1. تنظیم حالت روشنایی اولیه در راه‌اندازی: وقتی نقشه را راه‌اندازی می‌کنید، ویژگی suggestedLightingMode را از GMSNavigator بخوانید و آن مقدار را به mapView.lightingMode اختصاص دهید. ازآنجایی‌که شنونده فقط زمانی فعال می‌شود که حالت روشنایی پیشنهادی تغییر کند (مانند طلوع یا غروب خورشید)، تنظیم مقدار اولیه تضمین می‌کند که اگر کاربر ناوبری را در شب شروع کند، نقشه بلافاصله در حالت کم‌نور ارائه شود.
  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;

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

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