产品服务
解决方案
文档与支持
定价

显示地图

下载开发文档

百度地图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);

普通地图叠加热力图显示效果如下

百度城市热力图效果

上一篇

位置短地址分享

下一篇

请求状态码说明

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