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


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

目前百度地图SDK所提供的地图缩放等级为4-21级(室内图可以缩放至22级),所包含的信息有建筑物、道路、河流、学校、公园等内容。

下面主要介绍如何切换这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是地图控制器对象
mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);   

显示的效果如下:
mapNomal.png
.卫星地图
显示卫星照片数据。

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

mMapView = (MapView) findViewById(R.id.bmapView);  
mBaiduMap = mMapView.getMap();
//卫星地图   
mBaiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);   

显示的效果如下:
mapSatellite.png
注意:卫星图只支持缩放到20级。
.空白地图
无地图瓦片,地图将渲染为空白地图。不加载任何图块,将不会使用流量下载基础地图瓦片图层。支持叠加任何覆盖物。

适用场景:与瓦片图层(tileOverlay)一起使用,节省流量,提升自定义瓦片图下载速度。参考自定义瓦片图相应部分的使用介绍。

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

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

显示的效果如下:
mapNone.png
.实时路况图
全实时路况图全国范围内已支持绝大部分城市实时路况查询,路况图依据实时路况数据渲染。普通地图和卫星地图,均支持叠加实时路况图。

实时路况图的开启方法如下:

mMapView = (MapView) findViewById(R.id.bmapView); 
mBaiduMap = mMapView.getMap();  
//开启交通图   
mBaiduMap.setTrafficEnabled(true);

普通地图叠加路况图显示效果如下:
mapTraffic.png
.自定义路况图颜色
Android SDK V4.5.0版本起支持路况颜色的自定义。支持对路况图的颜色做修改和取消显示,适用于在屏幕上突出显示拥堵路况的场景。

1.路况颜色设置方法

setCustomTrafficColor(String severeCongestion,String congestion,String slow,String smooth)

1)参数含义

String severeCongestion,String congestion,String slow,String smooth 分别代表严重拥堵,拥堵,缓行,畅通 

2)颜色格式

#AARRGGBB A:Alpha、R:Red、G:Green、B:Blue;其中AA为透明度;4个参数必须全部设置,不需要的颜色,透明度AA可以设置为00,即透明不显示。

注意:透明度顺序与个性化地图中的透明度顺序不一致。
2.示例如下

mBaiduMap.setTrafficEnabled(true);
mBaiduMap.setCustomTrafficColor("#ffba0101", "#fff33131", "#ffff9e19", "#00000000");
//  对地图状态做更新,否则可能不会触发渲染,造成样式定义无法立即生效。
MapStatusUpdate u = MapStatusUpdateFactory.zoomTo(13);
mBaiduMap.animateMapStatus(u);

效果如下:
mapTrafficcolor.png
.百度城市热力图
百度城市热力图是百度基于强大的地理位置大数据,根据实时的人群分布密度和变化趋势,用热力图的形式展现给广大开发者。

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

注意:只有在地图层级介于11-20级时,可显示城市热力图。

百度城市热力图开启方法如下:

mMapView = (MapView) findViewById(R.id.bmapView); 
mBaiduMap = mMapView.getMap();  
//开启热力图  
mBaiduMap.setBaiduHeatMapEnabled(true);

普通地图叠加热力图显示效果如下:
mapHeat.png

  • 文档根本没法用

  • 文档水平很差

  • 文档水平一般

  • 文档不错

  • 文档写的很好

如发现文档错误,或对此文档有更好的建议,请在下方反馈。问题咨询请前往反馈平台提交工单咨询。

提交反馈

拖动标注工具

添加矩形标注

添加箭头标注

完成

取消