在地图初始化mapOptions参数中,配置DayNightMode为mapCommon.DayNightMode.NIGHT。
this.mapOptions = {
position: {
target: {
latitude: 39.9,
longitude: 116.4
},
zoom: 10
},
myLocationControlsEnabled: true,
// 设置地图为夜间模式
dayNightMode: mapCommon.DayNightMode.NIGHT
}; 配置调用setDayNightMode接口配置DayNightMode为NIGHT。
Button('切换为深色模式')
.onClick(() => {
this.mapController?.setDayNightMode(mapCommon.DayNightMode.NIGHT);
}) 
配置调用setDayNightMode接口配置DayNightMode为DAY。
Button('切换为浅色模式')
.onClick(() => {
this.mapController?.setDayNightMode(mapCommon.DayNightMode.DAY);
}) 
配置调用setDayNightMode接口配置DayNightMode为AUTO。
Button('切换为跟随系统深色模式')
.onClick(() => {
this.mapController?.setDayNightMode(mapCommon.DayNightMode.AUTO);
}); 

完整代码:
import { MapComponent, mapCommon, map } from '@kit.MapKit';
import { AsyncCallback } from '@kit.BasicServicesKit';
import { display } from '@kit.ArkUI';
@Entry
@Component
struct MapDayNightMode {
private mapOptions?: mapCommon.MapOptions;
private callback?: AsyncCallback<map.MapComponentController>;
private mapController?: map.MapComponentController;
@State mapHeight: number = 0;
aboutToAppear(): void {
let displayClass = display.getDefaultDisplaySync();
this.mapHeight = this.getUIContext().px2vp(displayClass.height);
// 地图初始化参数,设置地图中心点坐标及层级
this.mapOptions = {
position: {
target: {
latitude: 39.9,
longitude: 116.4
},
zoom: 10
},
myLocationControlsEnabled: true,
// 设置地图为夜间模式
dayNightMode: mapCommon.DayNightMode.NIGHT
};
// 地图初始化的回调
this.callback = async (err, mapController) => {
if (!err) {
// 获取地图的控制器类,用来操作地图
this.mapController = mapController;
} else {
console.error(`Failed to initialize the map, code is:${err.code}, message is ${err.message}`);
}
};
}
// 页面每次显示时触发一次,包括路由过程、应用进入前台等场景,仅@Entry装饰的自定义组件生效
onPageShow(): void {
// 将地图切换到前台
if (this.mapController) {
this.mapController.show();
}
}
// 页面每次隐藏时触发一次,包括路由过程、应用进入后台等场景,仅@Entry装饰的自定义组件生效
onPageHide(): void {
// 将地图切换到后台
if (this.mapController) {
this.mapController.hide();
}
}
build() {
Stack({ alignContent: Alignment.Bottom }) {
Column() {
MapComponent({ mapOptions: this.mapOptions, mapCallback: this.callback })
.height(this.mapHeight);
// .expandSafeArea([SafeAreaType.SYSTEM], [SafeAreaEdge.TOP, SafeAreaEdge.BOTTOM])
}.width('100%');
Column() {
Button('切换为深色模式')
.onClick(() => {
this.mapController?.setDayNightMode(mapCommon.DayNightMode.NIGHT);
})
.margin({ bottom: 2 });
Button('切换为浅色模式')
.onClick(() => {
this.mapController?.setDayNightMode(mapCommon.DayNightMode.DAY);
})
.margin({ bottom: 2 });
Button('切换为跟随系统深色模式')
.onClick(() => {
this.mapController?.setDayNightMode(mapCommon.DayNightMode.AUTO);
});
};
}.height('100%')
.ignoreLayoutSafeArea();
}
}