显示地图
百度地图HarmonyOS NEXT版地图SDK为开发者提供了便捷的地图渲染SDK。
创建地图
只需要按照如下操作,即可快速进行百度地图展示:


1. 第一步 在绘制地图前初始化SDK,如下:
// SDK初始化需要传入UIAbility上下文,建议在MainAbility中调用初始化函数。Initializer.getInstance().initialize("Your API_KEY", this.context);
2. 第二步 创建MapComponent
// 设置地图控件参数mapOpt: MapOptions = new MapOptions({// 配置地图状态,如地图缩放等级、显示中心点、旋转角等mapStatus: new MapStatus(),// 默认基础地图,可通过改变satelliteMap的值加载不同的底图shows:{satelliteMap:SysEnum.ESatelliteLayerType.NONE}});// 地图初始化的回调this.callback = async (err, mapController:MapController) => {if (!err) {// 获取地图的控制器类,用来操作地图this.mapController= mapController;}};MapComponent({ onReady: this.callback, mapOptions: this.mapOpt }).width('100%').height('100%')
地图类型切换
通过mapController.setMapType方法切换不同的地图类型,目前提供三种地图类型:普通图,卫星图,空白地图
this.mapController.setMapType(SysEnum.MapType.MAP_TYPE_NORMAL); // 普通图this.mapController.setMapType(SysEnum.MapType.MAP_TYPE_SATELLITE); // 卫星图this.mapController.setMapType(SysEnum.MapType.MAP_TYPE_NONE); // 空白地图



地图POI显隐控制
可通过设置基础POI和室内图POI的显示隐藏。
this.mapController.mapOptions.showMapPoi = true;this.mapController.mapOptions.showMapIndoorPoi = true;
地图楼块显隐控制
可通过设置楼块以及3D模型的显示隐藏。
// 设置楼块是否有高度this.mapController.setHouseHeightEnable(boolean);// 设置是否显示3D模型this.mapController.set3DModelEnable(boolean);
交通流控制
可通过下面两种形式改变地图交通流显示状态:
一种是通过地图初始化设置MapOptions时设置trafficMap的参数来配置是否显示交通流;
一种是通过给MapOptions.showTrafficMap赋值形式改变。
示例代码如下:
// 初始化配置形式mapOpt: MapOptions = new MapOptions(shows:{trafficMap:true}});// 显示交通流this.mapController.mapOptions.showTrafficMap = true;// 不显示交通流this.mapController.mapOptions.showTrafficMap = false;
百度城市热力图
百度城市热力图是百度基于强大的地理位置大数据,根据实时的人群分布密度和变化趋势,用热力图的形式展现给广大开发者。
百度城市热力图的使用方式和实时路况图类似,只需要简单的接口调用,即可在地图上展现样式丰富的热力图层。
注意:只有在地图层级大于等于11级时,可显示城市热力图。
// 开启百度城市热力图this.mapController.setBaiduHeatMapEnabled(true);// 关闭百度城市热力图this.mapController.setBaiduHeatMapEnabled(false);
普通地图叠加热力图显示效果如下

上一篇
下一篇
本篇文章对您是否有帮助?