لا تتّبع حزمة تطوير البرامج (SDK) للتنقّل على أجهزة iOS تلقائيًا الوضعَين الفاتح والداكن في نظام التشغيل iOS.
بدلاً من ذلك، يتيح
GMSMapView
المزوّد بميزة التنقّل استخدام أنظمة الألوان العادية والمنخفضة الإضاءة من خلال السمة
lightingMode
والتعداد
GMSNavigationLightingMode:
- الوضع العادي (
.normal): يستخدم نظام ألوان مناسبًا للعرض في ضوء النهار. - وضع الإضاءة المنخفضة (
.lowLight): يستخدم نظام ألوان مناسبًا للعرض الليلي.
تفعيل التبديل التلقائي لوضع الإضاءة
تحسب "حزمة تطوير البرامج للتنقّل على أجهزة iOS" وضع الإضاءة المقترَح استنادًا إلى الوقت من اليوم والموقع الجغرافي للجهاز، وتعرِضه من خلال السمة suggestedLightingMode في GMSNavigator.
ومع ذلك، لا يطبّق
GMSMapView
هذا الاقتراح تلقائيًا.
للتبديل بين الوضع العادي ووضع الإضاءة المنخفضة تلقائيًا، أكمِل الخطوات التالية في وحدة التحكّم في العرض:
- ضبط وضع الإضاءة الأولي عند بدء التشغيل: عند إعداد الخريطة، اقرأ السمة
suggestedLightingModeمنGMSNavigatorوعيِّن هذه القيمة إلىmapView.lightingMode. بما أنّ المستمع لا يعمل إلا عند تغيُّر وضع الإضاءة المقترَح (مثل شروق الشمس أو غروبها)، يضمن ضبط القيمة الأولية عرض الخريطة في وضع الإضاءة المنخفضة على الفور إذا بدأ المستخدم التنقّل ليلاً. - الاستماع إلى تغييرات وضع الإضاءة أثناء التنقّل: يمكنك استخدام بروتوكول
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
}
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،
يُرجى الاطّلاع على الإعلان عن التوافق مع
البروتوكولات المطلوبة
في دليل "الاستماع إلى أحداث التنقّل".
فرض الوضع العادي أو وضع الإضاءة المنخفضة
إذا كنت لا تريد أن تبدّل الخريطة الأوضاع تلقائيًا، يمكنك فرض الوضع العادي أو وضع الإضاءة المنخفضة من خلال ضبط mapView.lightingMode مباشرةً وحذف تعديل أداة الاستماع navigator(_:didChangeSuggestedLightingMode:).
يوضّح المثال التالي كيفية فرض الخريطة على الوضع العادي أو وضع الإضاءة المنخفضة:
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;
تخصيص ألوان واجهة المستخدم في الإضاءة المنخفضة
يمكنك أيضًا تخصيص ألوان الخلفية الأساسية والثانوية لرأس التنقّل عندما تكون الخريطة في وضع الإضاءة المنخفضة. لمزيد من المعلومات حول تخصيص هذه الألوان، يُرجى الاطّلاع على ألوان العناوين في وضع الإضاءة المنخفضة في دليل "تعديل واجهة مستخدم التنقّل".