浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。

Android 地图SDK

百度地图SDK是一套应用程序接口, 通过调用地图SDK接口,开发者可以轻松访问百度地图的服务和数据,构建功能丰富、交互性强的地图类应用程序。


地图SDK提供了3种预置的地图类型,包括普通地图卫星图空白地图。另外提供了2种常用图层实时路况图以及百度城市热力图

目前百度地图SDK所提供的地图等级为3-21级,所包含的信息有建筑物、道路、河流、学校、公园等内容。

下方主要介绍如何切换这3种地图类型,以及如何打开实时路况图以及添加城市热力图。

地图类型

百度地图SDK为您提供了3种类型的地图资源(普通矢量地图、卫星图和空白地图),BaiduMap 类提供图层类型常量,详细如下:

类型名称 说明
MAP_TYPE_NORMAL 普通地图(包含3D地图)
MAP_TYPE_SATELLITE 卫星图
MAP_TYPE_NONE 空白地图

开发者可以利用BaiduMap中的setMapType()方法来设置地图类型,下面做简单展示。

普通地图

基础的道路地图。 显示道路、建筑物、绿地以及河流等重要的自然特征。

设置普通地图的代码如下:

mMapView = (MapView) findViewById(R.id.bmapView);  
mBaiduMap = mMapView.getMap();  
mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL); 
//普通地图 ,mBaiduMap是地图控制器对象  

mMapView1.png

卫星地图

显示卫星照片数据。

设置卫星地图的代码如下:

mMapView = (MapView) findViewById(R.id.bmapView);  
mBaiduMap = mMapView.getMap();  
mBaiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);  
//卫星地图  
显示的效果如右:

satelliteMap1.png

空白地图

无地图瓦片,地图将渲染为空白地图。不加载任何图块,将不会使用流量下载基础地图瓦片图层。支持叠加任何覆盖物。

适用场景:与瓦片图层(tileOverlay)一起使用,节省流量,提升自定义瓦片图下载速度。

设置空白地图的代码如下:

mMapView = (MapView) findViewById(R.id.bmapView);  
mBaiduMap = mMapView.getMap();  
mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NONE);
//空白地图  

如果您对自定义瓦片图的使用感兴趣,可以参考自定义瓦片图相应部分的使用介绍。

nonemap1.PNG

实时路况图

全国范围内已支持绝大部分城市实时路况查询。普通地图和卫星地图,均支持叠加实时路况图。

路况图依据实时路况数据渲染,实现的方法及显示效果如下:

mMapView = (MapView) findViewById(R.id.bmapView);  
mBaiduMap = mMapView.getMap();  
//开启交通图   
mBaiduMap.setTrafficEnabled(true);
路况图可以设置按钮,按需打开或者关闭实时路况图。 显示效果如右:

LiveTraffic1.png

百度城市热力图

百度城市热力图是用不同颜色的区块叠加在地图上描述人群分布、密度和变化趋势的一个产品。地图层级介于11-20级时,可显示城市热力图。

百度城市热力图的性质及使用与实时路况图类似,只需要简单的接口调用,即可在地图上展现样式丰富的百度城市热力图。

在地图上开启百度城市热力图的核心代码如下:

mMapView = (MapView) findViewById(R.id.bmapView);  
mBaiduMap = mMapView.getMap();  
//开启交通图   
mBaiduMap.setBaiduHeatMapEnabled(true);
城市热力图可以设置开关按钮,按需打开或者关闭。 显示效果如右: 此外,您也可以利用自有数据,构建属于自己的热力图,提供丰富的展示效果。添加自定义热力图的方式请参考此文档相应部分的使用介绍。

heatingMap1.png

在21级时,不支持显示卫星图、热力图、交通路况图层。

当地图从20级放大到21级后,卫星图、热力图、交通路况图层将不再显示;缩小到20级后,卫星图、热力图、交通路况图层,会再正常显示。