移动应用、浏览器端应用均可调起Android版百度地图。
该调用方式是指第三方基于Android SDK进行应用开发时要调用Android版百度地图客户端需遵守的协议。该协议要正确执行除了要参数填写正确外,还必须要安装Android百度地图。
在百度地图的清单文件中对主页面设置了
android:scheme="baidumap"android:host="map"属性.指定了接受Uri的scheme为baidumap,host为map。当接收到指定Uri后,在主界面中对Uri进行解析和业务拆分,实现功能的调用。其中native:scheme为baidumap,host为mapweb:scheme为bdapp,host为map
第三方APP在使用该类型接口时,手机中需要安装Android百度地图,同时需要拼写符合协议规范的Uri串,通过startActivity的方式进行调用。示例如下
// 调起出行早晚报页面Intent i1 = new Intent();i1.setData(Uri.parse("baidumap://map/newsassistant?src=andr.baidu.openAPIdemo"));startActivity(i1);//网页应用调起Android百度地图方式举例<a href="bdapp://map/newsassistant?src=andr.baidu.openAPIdemo">调起出行早晚报页面</a>
在第三方APP中执行上述代码就可以打开百度地图的出行早晚报界面。如下图:

百度地图Open API所有接口共分为五类,分别为:图区功能类,搜索功能类,导航类,信息显示类和标准组件。每个接口对应一个专门的Uri串,每个串中相应参数会在下面详细说明。
每个协议都可以填写的通用参数,其中coord_type指坐标类型参数,默认为bd09经纬度坐标,如用户使用的坐标类型为gcj02、wgs84,则必须传递此参数值(示例:coord_type=gcj02、coord_type=wgs84),否则会导致地点坐标位置偏移。src是统计必选参数,格式为:andr.companyName.appName。不传此参数,不保证服务。
参数说明
2.2.1 展示地图
展示地图,可通过zoom、center以及bounds来指定地图的视野范围。
URL接口: baidumap://map/show
参数说明
注意:地点搜索限定范围可以由bounds和zoom+center方式进行,其中bounds优先级最高。
使用示例
Intent i1 = new Intent();// 展示地图i1.setData(Uri.parse("baidumap://map/show?center=40.057406655722,116.29644071728&zoom=11&traffic=on&bounds=37.8608310000,112.5963090000,42.1942670000,118.9491260000&src=andr.baidu.openAPIdemo"));startActivity(i1);//网页应用调起Android百度地图方式举例<a href="bdapp://map/show?center=40.057406655722,116.29644071728&zoom=11&traffic=on&bounds=37.8608310000,112.5963090000,42.1942670000,118.9491260000&src=andr.baidu.openAPIdemo">展示地图</a>
显示效果如下:

2.2.2 自定义打点
调用该接口可调起Android百度地图,且在指定坐标点上显示点的名称和内容信息。
URL接口:baidumap://map/marker
参数说明
使用示例
// 自定义打点i1.setData(Uri.parse("baidumap://map/marker?location=40.057406655722,116.2964407172&title=Marker&content=makeamarker&traffic=on&src=andr.baidu.openAPIdemo"));startActivity(i1);//网页应用调起Android百度地图方式举例<a href="bdapp://map/marker?location=40.05740665572,116.2964407172&title=Marker&content=makeamarker&traffic=on&src=andr.baidu.openAPIdemo">自定义打点</a>
显示效果如下:

2.2.3 展示地图图区
展示地图图区,无参数。
URL接口:baidumap://map?
使用示例
Intent i1 = new Intent();// 展示地图图区i1.setData(Uri.parse("baidumap://map?src=andr.baidu.openAPIdemo"));startActivity(i1)//网页应用调起Android百度地图方式举例<a href="bdapp://map?src=andr.baidu.openAPIdemo">展示地图图区</a>
显示效果如下:

2.2.4 地址解析
调用该接口可以在调起百度地图时,在图区显示地址对应的坐标点。
URL接口: baidumap://map/geocoder
参数说明
使用示例
Intent i1 = new Intent();// 地址解析i1.setData(Uri.parse("baidumap://map/geocoder?src=andr.baidu.openAPIdemo&address=北京市海淀区上地信息路9号奎科科技大厦"));startActivity(i1);//网页应用调起Android百度地图方式举例<a href="bdapp://map/geocoder?src=andr.baidu.openAPIdemo&address=北京市海淀区上地信息路9号奎科科技大厦">地址解析</a>
显示效果如下:

2.2.5 反向地址解析
调用该接口可调起百度地图,经过逆地理编码后,以标注形式显示位置和地址信息。
URL接口: baidumap://map/geocoder
参数说明
使用示例
Intent i1 = new Intent();// 反向地址解析i1.setData(Uri.parse("baidumap://map/geocoder?location=39.98871,116.43234&src=andr.baidu.openAPIdemo"));startActivity(i1);//网页应用调起Android百度地图方式举例<a href="bdapp://map/geocoder?location=39.98871,116.43234&src=andr.baidu.openAPIdemo">反向地址解析</a>
显示效果如下:

2.3.1 POI搜索
根据给定的关键字、检索条件进行检索。
URL接口:baidumap://map/place/search
参数说明
注意:
1、地点搜索限定范围可以由region、bounds和location+radius方式进行,其中bounds优先级最高、region优先级最低(与web服务保持一致)。
2、如果参数内含bounds或location+radius,则发起的搜索是AreaSearch,如果不含,则为OneSearch搜索。
使用示例
Intent i1 = new Intent();// POI搜索i1.setData(Uri.parse("baidumap://map/place/search?query=美食®ion=beijing&location=39.915168,116.403875&radius=1000&bounds=37.8608310000,112.5963090000,42.1942670000,118.9491260000&src=andr.baidu.openAPIdemo"));startActivity(i1);//网页应用调起Android百度地图方式举例<a href="bdapp://map/place/search?query=美食®ion=beijing&location=39.915168,116.403875&radius=1000&bounds=37.8608310000,112.5963090000,42.1942670000,118.9491260000&src=andr.baidu.openAPIdemo">POI搜索</a>
显示效果如下:

2.3.2 路线规划
公交、驾车、步行、骑行路线规划
URL接口:baidumap://map/direction
参数说明
注意:
1、direction?region=北京&origin=39.98871,116.43234&destination=40.055878,116.307854mode=transit&index=0&target=1 index=0&target=1 加了这两个,进入某条线路的详情或图区,现在用于到站提醒调起特定线路。已经有index的情况下,target不填就是默认0;
2、仅仅发起检索,跳到搜索结果页, index, target则不是必须的;
1)公交路线规划示例:Intent i1 = new Intent();// 公交路线规划i1.setData(Uri.parse("baidumap://map/direction?origin=name:对外经贸大学|latlng:39.98871,116.43234&destination=西直门&coord_type=bd09ll&mode=transit&sy=3&index=0&target=1&src=andr.baidu.openAPIdemo"));startActivity(i1);//网页应用调起Android百度地图方式举例<a href="bdapp://map/direction?origin=name:对外经贸大学|latlng:39.98871,116.43234&destination=西直门&coord_type=bd09ll&mode=transit&sy=3&index=0&target=1&src=andr.baidu.openAPIdemo">公交路线规划</a>
显示效果如下:

2)驾车路线规划示例:Intent i1 = new Intent();// 驾车路线规划i1.setData(Uri.parse("baidumap://map/direction?region=beijing&origin=39.98871,116.43234&destination=西直门&coord_type=bd09ll&mode=driving&src=andr.baidu.openAPIdemo"));startActivity(i1);//网页应用调起Android百度地图方式举例<a href="bdapp://map/direction?region=beijing&origin=39.98871,116.43234&destination=西直门&coord_type=bd09ll&mode=driving&src=andr.baidu.openAPIdemo">驾车路线规划</a>
显示效果如下:

3)步行路线规划示例:Intent i1 = new Intent();// 步行路线规划i1.setData(Uri.parse("baidumap://map/direction?region=beijing&origin=39.98871,116.43234&destination=40.057406655722,116.2964407172&coord_type=bd09ll&mode=walking&src=andr.baidu.openAPIdemo"));startActivity(i1);//网页应用调起Android百度地图方式举例<a href="bdapp://map/direction?region=beijing&origin=39.98871,116.43234&destination=40.057406655722,116.2964407172&coord_type=bd09ll&mode=walking&src=andr.baidu.openAPIdemo">步行路线规划</a>
显示效果如下:

4)骑行路线规划示例:Intent i1 = new Intent();// 骑行路线规划i1.setData(Uri.parse("baidumap://map/direction?region=beijing&origin=39.98871,116.43234&destination=40.057406655722,116.2964407172&coord_type=bd09ll&mode=riding&src=andr.baidu.openAPIdemo"));startActivity(i1);//网页应用调起Android百度地图方式举例<a href="bdapp://map/direction?region=beijing&origin=39.98871,116.43234&destination=40.057406655722,116.2964407172&mode=riding&src=andr.baidu.openAPIdemo">骑行路线规划</a>
显示效果如下:

2.3.3 公交、地铁线路查询
公交、地铁线路查询。
URL接口:baidumap://map/line
参数说明
使用示例
Intent i1 = new Intent();// 公交、地铁线路查询i1.setData(Uri.parse("baidumap://map/line?region=北京&name=909&src=andr.baidu.openAPIdemo"));startActivity(i1);//网页应用调起Android百度地图方式举例<a href="bdapp://map/line?region=北京&name=909&src=andr.baidu.openAPIdemo">公交、地铁线路查询</a>
显示效果如下:

2.3.4 附近搜索
进入附近页,搜周边页,或者直接发起周边检索。
URL接口1:baidumap://map/place/nearbyURL接口2:baidumap://map/nearbysearch<br/>两个协议头的功能和参数完全一样,因为历史遗留,两个都保留
参数说明
注意:
1、打开附近页: center和query都不传
2、打开搜周边页: 传center, 不传query
3、发起附近搜索: 传query, center可选(参照注释4)
4、如果传入center, 发起附近搜索的中心点为传入的center值,否则为定位位置。
使用示例
Intent i1 = new Intent();// 附近搜索i1.setData(Uri.parse("baidumap://map/place/nearby?query=团购&src=andr.baidu.openAPIdemo"));startActivity(i1);//网页应用调起Android百度地图方式举例<a href="bdapp://map/place/nearby?query=团购&src=andr.baidu.openAPIdemo">附近搜索</a>
显示效果如下:

2.4.1 驾车导航
URL接口:baidumap://map/navi
参数说明
注意:带途经点的示例如下: baidumap://map/navi?query=故宫&src=andr.baidu.openAPIdemo&viaPoints={"viaPoints":[{"name":"对外外贸大学","lng":116,"lat":40}]}
使用示例
Intent i1 = new Intent();// 驾车导航i1.setData(Uri.parse("baidumap://map/navi?query=故宫&src=andr.baidu.openAPIdemo"));startActivity(i1);//网页应用调起Android百度地图方式举例<a href="bdapp://map/navi?query=故宫&src=andr.baidu.openAPIdemo">驾车导航</a>
显示效果如下:

2.4.2 骑行导航
URL接口:baidumap://map/bikenavi
参数说明
使用示例
Intent i1 = new Intent();// 骑行导航i1.setData(Uri.parse("baidumap://map/bikenavi?origin=39.98871,116.43234&destination=39.91441,116.40405&coord_type=bd09ll&src=andr.baidu.openAPIdemo"));startActivity(i1);//网页应用调起Android百度地图方式举例<a href="bdapp://map/bikenavi?origin=39.98871,116.43234&destination=39.91441,116.40405&coord_type=bd09ll&src=andr.baidu.openAPIdemo">骑行导航</a>
显示效果如下:

2.4.3 步行导航
URL接口:baidumap://map/walknavi
参数说明
使用示例
Intent i1 = new Intent();// 步行导航i1.setData(Uri.parse("baidumap://map/walknavi?origin=40.057406655722,116.2964407172&destination=39.91441,116.40405&coord_type=bd09ll&src=andr.baidu.openAPIdemo"));startActivity(i1);//网页应用调起Android百度地图方式举例<a href="bdapp://map/walknavi?origin=40.057406655722,116.2964407172&destination=39.91441,116.40405&coord_type=bd09ll&src=andr.baidu.openAPIdemo">步行导航</a>
显示效果如下:

2.4.4 导航到家(公司)(map9.5.5以上版本支持)
URL接口:baidumap://map/navi/common
参数说明
使用示例
Intent i1 = new Intent();// 导航到家i1.setData(Uri.parse("baidumap://map/navi/common?addr=home&coord_type=bd09ll&src=andr.baidu.openAPIdemo"));startActivity(i1);//网页应用调起Android百度地图方式举例<a href="bdapp://map/navi/common?addr=home&coord_type=bd09ll&src=andr.baidu.openAPIdemo">导航到家</a>
显示效果如下:

2.5.1 POI详情显示页
根据POI的uid展示详情页。
URL接口:baidumap://map/place/detail
参数说明
使用示例
Intent i1 = new Intent();//POI详情显示i1.setData(Uri.parse("baidumap://map/place/detail?uid=09185c56d24f7e44f1193763&show_type=detail_page&src=andr.baidu.openAPIdemo"));startActivity(i1);//网页应用调起Android百度地图方式举例<a href="bdapp://map/place/detail?uid=09185c56d24f7e44f1193763&show_type=detail_page&src=andr.baidu.openAPIdemo"> POI详情显示</a>
显示效果如下:

2.5.2 离线导航包
调起离线导航包下载页面,无参数。
URL接口:baidumap://map/navi/offlinemap
使用示例
Intent i1 = new Intent();//调起离线导航包下载页面i1.setData(Uri.parse("baidumap://map/navi/offlinemap?src=andr.baidu.openAPIdemo"));startActivity(i1);//网页应用调起Android百度地图方式举例<a href="bdapp://map/navi/offlinemap?src=andr.baidu.openAPIdemo">离线导航包</a>
显示效果如下:

2.5.3 路线(出行)页面调起协议
URL接口:baidumap://map/routepage
参数说明
使用示例
Intent i1 = new Intent();// 路线(出行)页面调起:跳转到二级常用地址设置页面i1.setData(Uri.parse("baidumap://map/routepage?type=car&action=set_home_action&src=andr.baidu.openAPIdemo"));startActivity(i1);//网页应用调起Android百度地图方式举例<a href="bdapp://map/routepage?type=car&action=set_home_action&src=andr.baidu.openAPIdemo">路线(出行)页面调起</a>
显示效果如下:

Intent i1 = new Intent();// 路线(出行)页面调起:跳转到二级常用地址设置页面i1.setData(Uri.parse("baidumap://map/routepage?type=car&src=andr.baidu.openAPIdemo"));startActivity(i1);
显示效果如下:

2.5.4 出行早晚报
跳转出行早晚报页面
URL接口:baidumap://map/newsassistant
参数说明
使用示例
Intent i1 = new Intent();// 调起出行早晚报页面i1.setData(Uri.parse("baidumap://map/newsassistant?src=andr.baidu.openAPIdemo"));startActivity(i1);//网页应用调起Android百度地图方式举例<a href="bdapp://map/newsassistant?src=andr.baidu.openAPIdemo">调起出行早晚报页面</a>
显示效果如下:

2.5.5 行程助手
URL接口:baidumap://map/trip
参数说明
使用示例
Intent i1 = new Intent();// 调起行程助手主页或者编辑页i1.setData(Uri.parse("baidumap://map/trip?action=edit&tripId=去西站&src=andr.baidu.openAPIdemo"));startActivity(i1);//网页应用调起Android百度地图方式举例<a href="bdapp://map/trip?action=edit&tripId=去西站&src=andr.baidu.openAPIdemo">调起行程助手主页或者编辑页</a>
显示效果如下:

Intent i1 = new Intent();// 调起行程助手主页或者编辑页i1.setData(Uri.parse("baidumap://map/trip?action=home&src=andr.baidu.openAPIdemo"));startActivity(i1);//网页应用调起Android百度地图方式举例<a href="bdapp://map/trip?action=home&src=andr.baidu.openAPIdemo">调起行程助手主页或者编辑页</a>
显示效果如下:

2.5.6 实时公交页面(map9.5.5以上版本支持)
URL接口:baidumap://map/page/realtimebus
参数说明
使用示例
Intent i1 = new Intent();// 打开实时公交页面i1.setData(Uri.parse("baidumap://map/page/realtimebus?mode=NORMAL_MAP_MODE&src=andr.baidu.openAPIdemo"));startActivity(i1);//网页应用调起Android百度地图方式举例<a href="bdapp://map/page/realtimebus?mode=NORMAL_MAP_MODE&src=andr.baidu.openAPIdemo">打开实时公交页面</a>
显示效果如下:

2.5.7 离线地图下载页面(map9.5.5以上版本支持)
URL接口:baidumap://map/page/offlinemap
参数说明
使用示例
Intent i1 = new Intent();// 离线地图下载页面i1.setData(Uri.parse("baidumap://map/page/offlinemap?mode= NORMAL_MAP_MODE&src=andr.baidu.openAPIdemo"));startActivity(i1);//网页应用调起Android百度地图方式举例<a href="bdapp://map/page/offlinemap?mode= NORMAL_MAP_MODE&src=andr.baidu.openAPIdemo">离线地图下载页面</a>
显示效果如下:

2.5.8 离线地图下载页面(map9.5.5以上版本支持)
URL接口:baidumap://map/component?comName=international&target=international_exchangerate_page
参数说明
使用示例
Intent i1 = new Intent();// 实时汇率页面i1.setData(Uri.parse("baidumap://map/component?comName=international&target=international_exchangerate_page&mode=NORMAL_MAP_MODE&src=andr.baidu.openAPIdemo"));startActivity(i1);//网页应用调起Android百度地图方式举例<a href="bdapp://map/component?comName=international&target=international_exchangerate_page&mode=NORMAL_MAP_MODE&src=andr.baidu.openAPIdemo">实时汇率页面</a>
显示效果如下:

2.5.9 实时翻译页面
URL接口:baidumap://map/component?comName=international&target=international_translation_page
参数说明
使用示例
Intent i1 = new Intent();// 实时翻译页面i1.setData(Uri.parse("baidumap://map/component?comName=international&target=international_translation_page&mode=NORMAL_MAP_MODE&src=andr.baidu.openAPIdemo"));startActivity(i1);//网页应用调起Android百度地图方式举例<a href="bdapp://map/component?comName=international&target=international_translation_page&mode=NORMAL_MAP_MODE&src=andr.baidu.openAPIdemo">实时翻译页面</a>
显示效果如下:

2.5.10 电子狗
调用该接口,可以调起百度地图的电子狗功能,无参数。
URL接口:baidumap://map/navi/cruiser
使用示例
Intent i1 = new Intent();//调起地图电子狗功能i1.setData(Uri.parse("baidumap://map/navi/cruiser?src=andr.baidu.openAPIdemo"));startActivity(i1);//网页应用调起Android百度地图方式举例<a href="bdapp://map/navi/cruiser?src=andr.baidu.openAPIdemo">电子狗</a>
显示效果如下:

2.5.11 路况页面调起协议
调用该接口,可以查看到达终点的路况情况。
URL接口:baidumap://map/traffic?keyword=xxx&playMode=0&resetVoiceMode=0
参数说明
使用示例
Intent i1 = new Intent();//调起路况页面协议i1.setData(Uri.parse("baidumap://map/traffic?keyword=中关村&playMode=0&resetVoiceMode=0&src=andr.baidu.openAPIdemo"));startActivity(i1);//网页应用调起Android百度地图方式举例<a href="bdapp://map/traffic?keyword=中关村&playMode=0&resetVoiceMode=0&src=andr.baidu.openAPIdemo">调起路况页面</a>
显示效果如下:

2.6.1 AR识楼
URL接口:baidumap://map/component?comName=mapbasear&target=show_arexplore_page
使用示例
Intent i1 = new Intent();//调起标准组件,AR识楼i1.setData(Uri.parse("baidumap://map/component?comName=mapbasear&target=show_arexplore_page&src=andr.baidu.openAPIdemo"));startActivity(i1);//网页应用调起Android百度地图方式举例<a href="bdapp://map/component?comName=mapbasear&target=show_arexplore_page&src=andr.baidu.openAPIdemo">调起地图AR识楼</a>
显示效果如下:

2.6.2 地铁图
调用该接口,可以调起进入地铁路首页
URL接口:baidumap://map/component?target=subway_page_openapi&comName=subway
使用示例
Intent i1 = new Intent();//进入地铁路首页i1.setData(Uri.parse("baidumap://map/component?target=subway_page_openapi&comName=subway&src=andr.baidu.openAPIdemo"));startActivity(i1);//网页应用调起Android百度地图方式举例<a href="bdapp://map/component?target=subway_page_openapi&comName=subway&src=andr.baidu.openAPIdeamo">调起地铁图首页</a>
显示效果如下:

上一篇
下一篇
本篇文章对您是否有帮助?