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

iOS 地图SDK

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

个性化地图简介

个性化地图,通过改变底图各元素和文字的颜色、可见性,实现地图多样展现效果,适配各个行业不同的地图呈现效果或适配不同App风格。

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

个性化地图功能位于 ”基础地图(Map)“这个功能模块,开发者使用时请注意选择。

效果如右图:

ios_createMap_2.png

个性化地图元素

支持修改的地图元素

地图元素 元素代码 形状边框颜色 形状填充颜色 文字边框颜色 文字填充颜色 颜色可见性
陆地 land
水系 water
绿地 green
人造区域 manland
建筑物 building
高速及国道 highway
城市主路 arterial
普通道路 local
铁路 railway
地铁 subway
行政区 boundary
行政区文字 districtlabel
文字(除行政区文字) poilabel

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

以 highway 地图元素为例

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


设置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、将配置好的样式文件(如:custom_config)放入工程目录任意路径;

2、设定地图样式文件的路径,通过以下方法设定自定义地图样式文件的绝对路径(注意:必须在BMKMapView对象初始化之前设置

//个性化地图模板文件路径
    NSString* path = [[NSBundle mainBundle] pathForResource:@"custom_config" ofType:@""];
//设置个性化地图样式
[BMKMapView customMapStyle:path];


切换自定义地图

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

打开个性化地图方法如下,

[BMKMapView enableCustomMapStyle:YES];//打开个性化地图

关闭个性化地图方法如下,

[BMKMapView enableCustomMapStyle:NO];//关闭个性化地图

通过此功能,可实现App的夜间和普通地图切换的需求。