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

iOS 地图SDK

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

个性化地图简介

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

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

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

效果如右图:

ios_createMap_2.png

个性化地图定制方式

两种方式:

通过个性地图编辑工具,自行编辑地图展示样式,生成地图样式JSON,然后通过【查看JSON】拿到JSON代码。注意:部分功能,JS API优先于地图SDK支持。请设置后,在工程中验证。

根据个性化地图元素说明,编写规则编辑JSON代码

个性化地图元素说明

支持修改的地图元素

地图元素 元素代码 形状边框颜色 形状填充颜色 文字边框颜色 文字填充颜色 颜色可见性
陆地 land

水系 water

绿地 green

人造区域 manmade

建筑物 building

高速及国道 highway
城市主路 arterial
普通道路 local
铁路 railway

地铁 subway

行政区 boundary

行政区文字 districtlabel

文字(除行政区文字) poilabel

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

以 hightway 地图元素为例

元素类型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的夜间和普通地图切换的需求。