移动设备浏览器端应用和移动App应用均可调起iOS版百度地图。
无论是基于移动浏览器端的应用开发还是基于iOS SDK的应用开发均可采用如下协议调起iOS版百度地图。该协议要正确执行除了要参数填写正确外,还必须要安装iOS百度地图。
百度地图Open API所有接口共分为四类,分别为:图区功能类,搜索功能类,导航类和信息显示类。具体的协议形式和参数,见如下说明。
1.1 通用参数
protocol://product/[service/]action[?parameters] //parameters功能参数定义,具体规范见功能协议说明
示例
baidumap://map/direction?origin=中关村&destination=五道口&mode=driving®ion=北京&src=ios.baidu.openAPIdemo//本示例是通过该URL启动地图app并进入北京市从中关村到五道口的驾车导航路线图
参数说明
每个协议都可以填写的通用参数,其中coord_type指坐标类型参数,默认为bd09经纬度坐标,如用户使用的坐标类型为gcj02、wgs84,则必须传递此参数值(示例:coord_type=gcj02、coord_type=wgs84),否则会导致地点坐标位置偏移。src是统计必选参数,格式为:andr.companyName.appName。不传此参数,不保证服务。
参数名称 | 参数说明 | 是否必选 | 备注 |
---|---|---|---|
protocol | 产品线协议头,例如baidumap表示百度地图 | 必选 | |
product | 产品线名称,例如如百度地图客户端(map) | 必选 | product下可直接跟方法,当然产品线也可增加一个service级别 |
service | 具体功能服务名称,如POI检索服务(place) | 必选 | |
action | 方法名称,如POI检索中的详情检索(detail) | 必选 | |
parameters | 方法参数,参考各个功能协议说明的定义 | 必选 | |
coord_type | 坐标类型,可选参数。 允许的值为bd09ll,bd09mc,gcj02,wgs84。 | 可选 | bd09ll表示百度经纬度坐标, bd09mc表示百度墨卡托坐标, gcj02表示经过国测局加密的坐标, wgs84表示gps获取的坐标, 默认为bd09经纬度坐标。 |
src | 表示来源,用于统计 | 必选 | 必选参数,格式为:andr.companyName.appName 不传此参数,不保证服务 |
2.1 图区功能
2.1.1 标注
调用该接口可调起IOS百度地图,且在指定坐标点上显示点的名称和内容信息。
服务地址
baidumap://map/marker //iOS服务地址
示例
//网页应用调起iOS百度地图方式举例<a href="baidumap://map/marker?location=40.047669,116.313082&title=我的位置&content=百度奎科大厦&src=ios.baidu.openAPIdemo">地图标点</a>
显示效果如下:
参数说明
参数名称 | 参数说明 | 是否必选 | 备注 |
---|---|---|---|
location | lat<纬度>,lng<经度> | 必选 | |
title | 标注点显示标题 | 必选 | product下可直接跟方法,当然产品线也可增加一个service级别 |
content | 标注点显示内容 | 必选 | |
coord_type | 坐标类型,可选参数。 示例: coord_type= bd09ll 允许的值为: bd09ll(百度经纬度坐标) bd09mc(百度墨卡托坐标) gcj02(经国测局加密的坐标) wgs84(gps获取的原始坐标) | 可选 | 如开发者不传递正确的坐标类型参数,会导致地点坐标位置偏移。默认为bd09经纬度坐标。坐标类型说明。 |
zoom | 展现地图的级别,默认为视觉最优级别。 | 可选 | |
src | 调用来源 | 必选 | 参数格式为:andr.companyName.appName 不传此参数,不保证服务 |
2.1.2 显示主图区
调起百度地图时,根据地理范围显示地图主界面。
服务地址
baidumap://map/show? //iOS服务地址
示例
//网页应用调起iOS百度地图方式举例<a href="baidumap://map/show?zoom=18¢er=39.989956,116.323066&src=ios.baidu.openAPIdemo">地图主图区</a>
显示效果如下:
参数说明
参数名称 | 参数说明 | 是否必选 | 备注 |
---|---|---|---|
zoom | 展现地图的级别,默认为视觉最优级别。 | 可选 | |
traffic | 可选 | 是否开启路况,on表示开启,off表示关闭,没有此字段时维持原状 | |
center | 图区中心点 | 可选 | lat<纬度>,lng<经度> |
coord_type | 坐标类型,可选参数。 示例: coord_type= bd09ll 允许的值为: bd09ll(百度经纬度坐标) bd09mc(百度墨卡托坐标) gcj02(经国测局加密的坐标) wgs84(gps获取的原始坐标) | 可选 | 如开发者不传递正确的坐标类型参数,会导致地点坐标位置偏移。默认为bd09经纬度坐标。坐标类型说明。 |
src | 调用来源 | 必选 | 参数格式为:andr.companyName.appName 不传此参数,不保证服务 |
无参数时,显示地图主图区
服务地址
baidumap://map? //iOS服务地址
示例
//网页应用调起iOS百度地图方式举例<a href="baidumap://map?src=ios.baidu.openAPIdemo">地图主图区</a>
显示效果如下:
2.1.3 地址解析
调用该接口可以在调起百度地图时,在当前页面显示地址对应的坐标点。
服务地址
baidumap://map/geocoder // iOS服务地址
示例
//网页应用调起iOS百度地图方式举例<a href="baidumap://map/geocoder?address=北京市海淀区上地信息路9号奎科科技大厦&src=ios.baidu.openAPIdemo">地理编码</a>
显示效果如下:
参数说明
参数名称 | 参数说明 | 是否必选 | 备注 |
---|---|---|---|
address | 地址名称 | 必选 | |
zoom | 展现地图的级别,默认为视觉最优级别。 | 可选 | |
src | 调用来源 | 必选 | 必选参数,格式为:ios.companyName.appName 不传此参数,不保证服务 |
2.1.4 反向地址解析
调用该接口可调起iOS百度地图,经过逆地理编码后,以标注形式显示位置和地址信息。
服务地址
baidumap://map/geocoder // iOS服务地址
示例
//网页应用调起iOS百度地图方式举例<a href="baidumap://map/geocoder?location=39.990912172420714,116.32715863448607&coord_type=gcj02&src=ios.baidu.openAPIdemo">逆地理编码></a>
显示效果如下:
参数说明
参数名称 | 参数说明 | 是否必选 | 备注 |
---|---|---|---|
location | lat<纬度>,lng<经度> | 必选 | |
coord_type | 坐标类型,可选参数。 示例: coord_type= bd09ll 允许的值为: bd09ll(百度经纬度坐标) bd09mc(百度墨卡托坐标) gcj02(经国测局加密的坐标) wgs84(gps获取的原始坐标) | 可选 | 如开发者不传递正确的坐标类型参数,会导致地点坐标位置偏移。默认为bd09经纬度坐标。坐标类型说明。 |
zoom | 展现地图的级别,默认为视觉最优级别。 | 可选 | |
src | 调用来源 | 必选 | 必选参数,格式为:ios.companyName.appName 不传此参数,不保证服务 |
2.2 搜索功能
2.2.1 POI(地点)检索
服务地址
baidumap://map/place/search // iOS服务地址
示例
<a href="baidumap://map/place/search?query=%E9%A4%90%E9%A6%86&location=31.204055632862,121.41117785465&radius=1000®ion=上海&src=ios.baidu.openAPIdemo">周边检索</a>
调起效果如左下图,单击地图后进入右下图:
参数说明
参数名称 | 参数说明 | 是否必选 | 备注 |
---|---|---|---|
query | 关键词 | 必选 | |
region | 城市名或县名 | 选择方式:地点搜索限定范围可以由region、bounds和location + radius方式进行,其中bounds优先级最高、region优先级最低(与web服务保持一致)。 | |
location | 中心点经纬度,或中心点经纬度和名称描述,注意,名称不参与检索,只负责显示。 | 同上 | 1、39.9761纬度,116.3282经度 2、39.9761纬度,116.3282经度| 中关村 名称 |
radius | 检索半径 | 同上 | |
bounds | 视野范围 | 同上 | lat,lng<左下角>,lat,lng<右上角> |
coord_type | 坐标类型,可选参数。 示例: coord_type= bd09ll 允许的值为: bd09ll(百度经纬度坐标) bd09mc(百度墨卡托坐标) gcj02(经国测局加密的坐标) wgs84(gps获取的原始坐标) | 可选 | 如开发者不传递正确的坐标类型参数,会导致地点坐标位置偏移。默认为bd09经纬度坐标。坐标类型说明。 |
zoom | 展现地图的级别,默认为视觉最优级别。 | 可选 | |
src | 调用来源 | 必选 | 必选参数,格式为:ios.companyName.appName 不传此参数,不保证服务 |
jumpto | 0:走之前逻辑 1:图区 2:列表 在客户端支持跳列表和图区的基础上(有些搜索不支持跳图区) 协议优先级最高, 8.6版本交互改后改成:1: 全图区,2:半图半列表,3:全列表 | 可选 |
注意:
1. 检索限定范围可以由region、bounds和location+radius方式进行,其中bounds优先级最高、region优先级最低(与web服务保持一致)。
2. 如果参数内含bounds或location+radius,则发起的搜索是AreaSearch(跳到到底图,直接发起检索),如果不含,则为OneSearch搜索(跳到点击大框后的输入页面,再发起检索)
3. 对于从app内的web页面发起的检索,支持poi的检索,对于OneSearch中的“从回龙观到西二旗”的路线检索不支持(因为web页基类加了webpage=fromwebpage,效果同AreaSearch,但发起的是oneSearch检索)
2.2.2 用户位置附近检索
调起百度地图时,发起用户位置附近检索。
服务地址
baidumap://map/nearbysearch? // iOS服务地址
示例
<a href="baidumap://map/nearbysearch?query=美食&radius=1000&src=ios.baidu.openAPIdemo">附近检索</a>
调起效果如左下图,单击地图后进入右下图:
参数说明
参数名称 | 参数说明 | 是否必选 | 备注 |
---|---|---|---|
query | 关键词 | 必选 | |
center | 图区中心点 | 可选 | |
coord_type | 坐标类型,可选参数。 示例: coord_type= bd09ll 允许的值为: bd09ll(百度经纬度坐标) bd09mc(百度墨卡托坐标) gcj02(经国测局加密的坐标) wgs84(gps获取的原始坐标) | 可选 | 如开发者不传递正确的坐标类型参数,会导致地点坐标位置偏移。默认为bd09经纬度坐标。坐标类型说明。 |
radius | 检索半径 | 可选 | 若不传使用默认的5000 |
src | 调用来源 | 必选 | 必选参数,格式为:ios.companyName.appName 不传此参数,不保证服务 |
2.2.3 路线规划
调起百度地图时,展示指定导航模式下从起点到终点的路线规划。
服务地址
baidumap://map/direction // iOS服务地址
示例
<a href="baidumap://map/direction?origin=34.264642646862,108.95108518068&destination=40.007623,116.360582&coord_type=bd09ll&mode=driving&src=ios.baidu.openAPIdemo">路线规划</a>
调起效果如左下图,单击地图后进入右下图:
参数说明
参数名称 | 参数说明 | 是否必选 | 备注 |
---|---|---|---|
origin | 起点名称和经纬度,可同时提供名称和经纬度,也可以只提供起点名称和经纬度中的一项。 | 必选 | latlng:39.98871,116.43234 (注意:坐标先纬度,后经度) 仅名称:天安门 仅经纬度:39.98871,116.43234 注意:仅有名称的情况下,请不要带“name:”,只需要origin=“起点名称” |
origin_uid | 起点uid | 可选 | 示例如:6f6241e3c05ab1a093114c5e |
destination | 终点名称和经纬度,同时提供名称和经纬度,导航终点引导更精准,体验更优。也可以只提供终点名称和经纬度中的一项。 | 必选 | latlng:39.98871,116.43234 (注意:坐标先纬度,后经度) 仅名称:天安门 仅经纬度:39.98871,116.43234 注意:仅有名称的情况下,请不要带“name:”,只需要destination=“终点名称” |
destination_uid | 终点uid | 可选 | 终点POI ID,可通过百度地图地点搜索接口得到,有uid参数终点会以出入口作为结束导航位置,体验更优。示例如:6f6241e3c05ab1a093114c5e |
destination_uid | 终点uid | 可选 | 终点POI ID,可通过百度地图地点搜索接口得到,有uid参数终点会以出入口作为结束导航位置,体验更优。示例如:6f6241e3c05ab1a093114c5e |
mode | 导航模式,固定为transit、driving、navigation、walking,riding分别表示公交、驾车、导航、步行和骑行 | 必选 | |
region | 城市名或县名 | 可选 | 当给定region时,认为起点和终点都在同一城市,除非单独给定起点或终点的城市。 |
origin_region | 起点所在城市或县 | 同上 | |
destination_region | 终点所在城市或县 | 同上 | |
coord_type | 坐标类型,可选参数。 示例: coord_type= bd09ll 允许的值为: bd09ll(百度经纬度坐标) bd09mc(百度墨卡托坐标) gcj02(经国测局加密的坐标) wgs84(gps获取的原始坐标) | 可选 | 如开发者不传递正确的坐标类型参数,会导致地点坐标位置偏移。默认为bd09经纬度坐标。坐标类型说明。 |
zoom | 展现地图的级别,默认为视觉最优级别。 | 可选 | |
src | 调用来源 | 必选 | 必选参数,格式为:ios.companyName.appName 不传此参数,不保证服务 |
sy | 公交检索策略,只针对公交检索有效,值为数字,从3开始(3推荐或较快捷,4少换乘,5少步行,6不坐地铁,7最短时间) | 可选 | |
index | 公交结果结果项,只针对公交检索,值为数字,从0开始 | 可选 | |
target | 0 图区,1 详情,只针对公交检索有效 | 可选 | |
car_type | 路线规划类型,会带本地化策略(车牌限行)。 BLK:躲避拥堵(自驾); TIME:最短时间(自驾); DIS:最短路程(自驾); FEE:少走高速(自驾); HIGHWAY:高速优先; DEFAULT:推荐(自驾,地图app不选择偏好); 默认:地图app所选偏好 | 可选 | |
viaPoints | 途经点参数,内容为json格式,需要把内容encodeURIComponent后拼接到url中。 | 可选 | 未编码的参数内容示例如下,其中name为名称,lat为纬度,lng为经度,uid为途径点POI uid (uid可通过百度地图地点搜索接口得到,有uid参数途经点会以出入口作为到达途径点时的结束导航位置,体验更优) {"viaPoints":[{"name": "深圳北站","lat": 22.615108,"lng": 114.035529,"uid":"6f6241e3c05ab 1a093114c5e"},{"name": "罗湖口岸","lat": 22.534663,"lng": 114.124902,"uid":"9ee392b80739 c33fbbbd63f0"},{"name": "宝安国际机场","lat":22.638172,"lng":113.821705,"uid":"b96c9564 0ce96627f603b8ca"}]} |
注意:
1.在7.1版本添加了对“我的位置”的容错,就是当起始点为“我的位置”时,起始点使用当前app的定位点,之前版本不支持
2.同android 的差别,mode不支持导航模式,navigation,iOS的导航只能以我的位置为起点,不支持起点是非我的位置的导航
2.2.4 公交、地铁线路查询
调起百度地图时,查询公交地铁线路。
服务地址
baidumap://map/line // iOS服务地址
示例
//网页应用调起iOS百度地图方式举例<a href="baidumap://map/line?region=北京&name=518&src=ios.baidu.openAPIdemo">线路检索</a>
调起效果如下:
参数说明
参数名称 | 参数说明 | 是否必选 | 备注 |
---|---|---|---|
region | 城市名或县名 | 必选 | |
name | 线路名称 | 必选 | |
zoom | 展现地图的级别,默认为视觉最优级别。 | 可选 | |
src | 调用来源 | 必选 | 必选参数,格式为:ios.companyName.appName 不传此参数,不保证服务 |
2.3 导航
2.3.1 驾车导航
调起iOS百度地图,直接进入驾车导航模式。
服务地址
baidumap://map/navi //iOS服务地址(基于iOS SDK应用开发) bdapp://map/navi//iOS服务地址(基于浏览器端应用开发)
示例
//网页应用调起iOS百度地图方式举例<a href="baidumap://map/navi?location=40.057023,116.307852&coord_type=bd09ll&type=BLK&src=ios.baidu.openAPIdemo">驾车导航</a>
调起效果如下:
参数说明
参数名称 | 参数说明 | 是否必选 | 备注 |
---|---|---|---|
location | 终点坐标点 | 可选 | 坐标类型参考通用参数:coord_type |
coord_type | 坐标类型,可选参数。 示例: coord_type= bd09ll 允许的值为: bd09ll(百度经纬度坐标) bd09mc(百度墨卡托坐标) gcj02(经国测局加密的坐标) wgs84(gps获取的原始坐标) | 可选 | 如开发者不传递正确的坐标类型参数,会导致地点坐标位置偏移。默认为bd09经纬度坐标。坐标类型说明。 |
query | 终点名称 | 必选 | query=天安门 |
uid | 终点uid | 可选 | 终点POI ID,可通过百度地图地点搜索接口得到,有uid参数终点会以出入口作为结束导航位置,体验更优。示例如:6f6241e3c05ab1a093114c5e |
type | 路线规划类型 | 可选 | BLK:躲避拥堵(自驾); TIME:最短时间(自驾); DIS:最短路程(自驾); FEE:少走高速(自驾); HIGHWAY:高速优先; DEFAULT:推荐(自驾,地图app不选择偏好); 默认:地图app所选偏好 |
viaPoints | 途经点参数,内容为json格式,需要把内容encodeURIComponent后拼接到url中。 | 可选 | 未编码的参数内容示例如下,其中name为名称,lat为纬度,lng为经度,uid为途径点POI uid (uid可通过百度地图地点搜索接口得到,有uid参数途经点会以出入口作为到达途径点时的结束导航位置,体验更优) {"viaPoints":[{"name": "深圳北站","lat": 22.615108,"lng": 114.035529,"uid":"6f6241e3c05 ab1a093114c5e"},{"name": "罗湖口岸","lat": 22.534663,"lng": 114.124902,"uid":"9ee392b807 39c33fbbbd63f0"},{"name": "宝安国际机场","lat":22.638172,"lng":113.821705,"uid":"b96c956 40ce96627f603b8ca"}]} |
src | 调用来源 | 必选 | 必选参数,格式为:ios.companyName.appName 不传此参数,不保证服务 |
2.3.2 骑行导航
调起iOS百度地图,直接进入骑行导航模式。
服务地址
baidumap://map/ridenavi // iOS服务地址
示例
//网页应用调起iOS百度地图方式举例<a href="baidumap://map/ridenavi?destination=39.908680,116.395600&coord_type=bd09ll&src=ios.baidu.openAPIdemo">骑行导航</a>
调起效果如下:
参数说明
参数名称 | 参数说明 | 是否必选 | 备注 |
---|---|---|---|
destination | 坐标点 | 必选 | 终点经纬度,将作为导航依据 |
coord_type | 坐标类型,可选参数。 示例: coord_type= bd09ll 允许的值为: bd09ll(百度经纬度坐标) bd09mc(百度墨卡托坐标) gcj02(经国测局加密的坐标) wgs84(gps获取的原始坐标) | 可选 | 如开发者不传递正确的坐标类型参数,会导致地点坐标位置偏移。默认为bd09经纬度坐标。坐标类型说明。 |
src | 调用来源 | 必选 | 必选参数,格式为:ios.companyName.appName 不传此参数,不保证服务 |
2.3.3 步行导航
调起iOS百度地图,直接进入步行导航模式。
服务地址
baidumap://map/walknavi // iOS服务地址
示例
//网页应用调起iOS百度地图方式举例<a href="baidumap://map/walknavi?destination=39.908680,116.395600&coord_type=bd09ll&src=ios.baidu.openAPIdemo”>步行导航</a>
调起效果如下:
参数说明
参数名称 | 参数说明 | 是否必选 | 备注 |
---|---|---|---|
destination | 坐标点 | 必选 | 终点经纬度,将作为导航依据 |
mode | 如果进入ar导航时,输入walking_ar 进入普通模式时,不需要填写 | 可选 | |
coord_type | 坐标类型,可选参数。 示例: coord_type= bd09ll 允许的值为: bd09ll(百度经纬度坐标) bd09mc(百度墨卡托坐标) gcj02(经国测局加密的坐标) wgs84(gps获取的原始坐标) | 可选 | 如开发者不传递正确的坐标类型参数,会导致地点坐标位置偏移。默认为bd09经纬度坐标。坐标类型说明。 |
src | 调用来源 | 必选 | 必选参数,格式为:ios.companyName.appName 不传此参数,不保证服务 |
2.4 信息显示
2.4.1 POI详情页展示
调起百度地图时,通过POI详情查询服务,显示指定点的详情信息。
服务地址
baidumap://map/place/detail // iOS服务地址
示例
//网页应用调起iOS百度地图方式举例<a href="baidumap://map/place/detail?uid=421c5f8000e0ce6a0782c2e1&src=ios.baidu.openAPIdemo">详情检索</a>
调起效果如下:
参数说明
参数名称 | 参数说明 | 是否必选 | 备注 |
---|---|---|---|
uid | POI的ID | 必选 | |
zoom | 展现地图的级别,默认为视觉最优级别。 | 可选 | |
src | 调用来源 | 必选 | 必选参数,格式为:ios.companyName.appName 不传此参数,不保证服务 |
上一篇
下一篇
本篇文章对您是否有帮助?