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

Android 地图SDK

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

个性化地图

自v3.7.0起,支持使用个性化地图模板,改变底图颜色和样式。

支持设置8大类地图元素的颜色和可见性,包含大地、水系、草地、高速、普通道路、铁路、地铁,poi。

效果示例:

individuality_left.png individuality_right.png

个性化地图元素

支持修改的地图元素

注意红色字体为v4.5.0新增属性,v4.5.0以下版本不支持。

地图元素 元素代码 形状边框颜色 形状填充颜色 文字边框颜色 文字填充颜色 icon可见性 颜色可见性
全部 all





陆地 land
水系 water
绿地 green
人造区域 manland
建筑物 building
高速及国道 highway
城市主路 arterial
普通道路 local
铁路 railway
地铁 subway
行政区 boundary
行政区文字 districtlabel
全部poi文字(除行政区文字) poilabel
机场标注 airportlabel






旅游景点标注 scenicspotspoilabel






教育标注 educationpoilabel






医疗标注 medicalpoilabel






休闲娱乐标注 entertainmentpoilabel







支持修改的元素类型和包容关系

以 hightway 地图元素为例

元素类型elementType
元素代码featureType 形状边框颜色 形状填充颜色 文字边框颜色 文字填充颜色 icon可见性
highway geometry.stroke geometry.fill labels.text.stroke labels.text.fill labels.icon
元素代码featureType
形状[边框]和[填充]颜色
文字[边框]和[填充]颜色 icon可见性
highway
geometry labels.text labels.icon


设置highway的道路边框和填充 为同一颜色时,既可以分别设置geometry.strokegeometry.fill,也可以一起设置geometry

json代码示例:

1、设置形状填充颜色

{"featureType": "highway",
 "elementType": "geometry.fill",
 "stylers": {
           "color": "#e7f7fc"
          }
}

2、设置文字颜色

{"featureType": "highway",
 "elementType": "labels.text.fill",
 "stylers": {
           "color": "#eeeeee"
          }
}

3、隐藏高速和国道的icon

{"featureType": "highway",
 "elementType": "labels.icon",
 "stylers": {
           "visibility": "off"
          }
}

实现个性化地图

配置样式文件

style_json.json中,配置如下所示的json串来设置不同的背景颜色。您可以根据需求,在设置不同的背景颜色

个性化地图样式文件

{"featureType": "grid",
 "elementType": "all",
 "stylers": {
            "color": "#e7f7fc"
           }
}

另外,我们提供了3个标准模板样式文件和一个空白样式文件点击下载, 供大家使用。

设定文件路径

1、将配置好的样式文件放入任意路径,比如"/sdcard/custom_config"

2、设定地图样式文件的路径,通过以下方法设定自定义地图样式文件的绝对路径:

//该方法需在MapView/TextureMapView构造之前设置。
MapView.setCustomMapStylePath("/sdcard/custom_config");

切换自定义地图

自v4.0起,支持个性化地图和普通地图切换。设置个性化地图后,个性化地图默认为关闭状态,需要设置生效。

MapView/TextureMapView/WearMapView新增接口, 切换个性化地图方法如下:

setMapCustomEnable(boolean customMapStyleEnable); //设置个性化地图样式是否生效

显示自定义颜色背景

新增加载地图瓦片时,设置显示自定义颜色背景的方法。在个性化地图的配置文件custom_configdir.txt中,添加如下json串,可设置不同的背景那个颜色。

{"featureType": "grid",
"elementType": "all",
"stylers": {
"color": "#e7f7fc"
}

适用于您的个性化地图为深色地图,加载地图瓦片时,将背景色设置为深色背景。

路况图路况颜色设置

Android SDK V4.5.0版本起支持路况颜色的自定义。支持对路况图的颜色做修改和取消显示,适用于对拥堵路况突出显示的用户。

路况颜色设置方法:setCustomTrafficColor(String severeCongestion,String congestion,String slow,String smooth)

参数含义:String severeCongestion,String congestion,String slow,String smooth分别代表严重拥堵,拥堵,缓行,畅通。

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

具体使用方法如下:

Step1. 打开路况开关,如下。否则样式定义不显示。

mBaiduMap.setTrafficEnabled(true);

Step2. 调用路况设置API,自定义颜色,其中颜色值如有一项为null或者"",则自定义无效,显示默认颜色样式:

mBaiduMap.setCustomTrafficColor("#ffba0101", "#fff33131", "#ffff9e19", "#00000000");

Step3. 对地图状态做更新,否则可能不会触发渲染,造成样式定义无法立即生效。

MapStatusUpdate u = MapStatusUpdateFactory.zoomTo(13);
mBaiduMap.animateMapStatus(u);

gexinghualukuang.JPG