Navigation SDK สำหรับ iOS จะไม่ติดตามโหมดสว่างและโหมดมืดของระบบ iOS โดยอัตโนมัติ
แต่
GMSMapView
ที่เปิดใช้การนำทางจะรองรับรูปแบบสีปกติและรูปแบบสีสำหรับสภาพแสงน้อยผ่านพร็อพเพอร์ตี้
lightingMode
และ Enum
GMSNavigationLightingMode
- โหมดปกติ (
.normal): ใช้รูปแบบสีที่เหมาะกับการดูในเวลากลางวัน - โหมดแสงน้อย (
.lowLight): ใช้รูปแบบสีที่เหมาะกับการดูในเวลากลางคืน
เปิดใช้การสลับโหมดแสงอัตโนมัติ
Navigation SDK สำหรับ iOS จะคำนวณโหมดแสงที่แนะนำตามเวลาของวันและตำแหน่งของอุปกรณ์ แล้วแสดงผ่านพร็อพเพอร์ตี้
suggestedLightingMode
ของ
GMSNavigator
อย่างไรก็ตาม
GMSMapView
จะไม่ใช้คำแนะนำนี้โดยอัตโนมัติ
หากต้องการสลับระหว่างโหมดปกติและโหมดแสงน้อยโดยอัตโนมัติ ให้ทำตาม ขั้นตอนต่อไปนี้ในตัวควบคุมมุมมอง
- ตั้งค่าโหมดแสงเริ่มต้นเมื่อเริ่มต้น: เมื่อตั้งค่าแผนที่ ให้อ่านพร็อพเพอร์ตี้
suggestedLightingModeจากGMSNavigatorแล้วกำหนดค่านั้นให้กับmapView.lightingModeเนื่องจาก Listener จะทริกเกอร์เมื่อโหมดแสงที่แนะนำมีการเปลี่ยนแปลงเท่านั้น (เช่น ตอนพระอาทิตย์ขึ้นหรือตก) การตั้งค่าเริ่มต้นจึงช่วยให้แผนที่ แสดงในโหมดแสงน้อยได้ทันทีหากผู้ใช้เริ่มการนำทางในตอนกลางคืน - ฟังการเปลี่ยนแปลงโหมดแสงสว่างระหว่างการนำทาง: ใช้โปรโตคอล
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:)
ของ Listener
ตัวอย่างต่อไปนี้แสดงวิธีบังคับให้แผนที่เข้าสู่โหมดแสงน้อยหรือโหมดปกติ
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;
ปรับแต่งสี UI ในสภาพแสงน้อย
นอกจากนี้ คุณยังปรับแต่งสีพื้นหลังหลักและสีพื้นหลังรองของ ส่วนหัวของการนำทางได้เมื่อแผนที่อยู่ในโหมดแสงน้อย ดูข้อมูลเพิ่มเติมเกี่ยวกับ การปรับแต่งสีเหล่านี้ได้ที่สีส่วนหัวของโหมดแสงน้อย ในคู่มือการแก้ไข UI การนำทาง