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

文档全面上新

更科技的视觉体验,更高效的页面结构,快前往体验吧!

体验新版
更新时间:2020-06-23
调起百度地图功能介绍

百度地图SDK提供简单的接口调用,通过调起百度地图客户端,实现复杂的业务逻辑。

目前所支持的调起类型有:POI周边检索、POI详情检索、POI全景、步行线路规划、驾车线路规划、新能源车路线规划、货车路线规划、公交线路规划、驾车导航、新能源车导航、摩托车导航、货车导航、步行导航、骑行导航、步行AR导航。

注意:当手机中安装了百度地图App(版本号为8.8及以上版本),可直接调起百度地图客户端;当没有安装或版本号不符合要求,则默认调起百度地图WebApp展示,开发者可以通过BaiduMapRoutePlan中的setSupportWebRoute设置是否支持调起WebApp;同时请确保传入的坐标类型要跟SDK的全局类型一致。

环境配置

使用调起百度地图客户端功能,必须在"Info.plist"中进行如下配置,否则不能调起百度地图客户端。

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>baidumap</string>
</array>
实现步骤

以公交线路规划调起百度地图为例,介绍具体使用方法:

1引入头文件
调起百度地图客户端是SDK工具组件的的能力,需引入头文件:
Objective-C
Swift
#import <BaiduMapAPI_Base/BMKBaseComponent.h>
#import <BaiduMapAPI_Utils/BMKUtilsComponent.h>
// 在桥接头文件BMKSwiftDemo-Bridging-Header中添加
#import <BaiduMapAPI_Base/BMKBaseComponent.h>
#import <BaiduMapAPI_Utils/BMKUtilsComponent.h>
2初始化调起百度地图公交路线时传入的参数
Objective-C
Swift
BMKOpenTransitRouteOption *option = [[BMKOpenTransitRouteOption alloc] init];
//公交策略,默认:BMK_OPEN_TRANSIT_RECOMMAND(异常值,强制使用BMK_OPEN_TRANSIT_RECOMMAND)
option.openTransitPolicy = BMK_OPEN_TRANSIT_RECOMMAND;
//指定返回自定义scheme
option.appScheme = @"baidumapsdk://mapsdk.baidu.com";
//调起百度地图客户端失败后,是否支持调起web地图,默认:YES
option.isSupportWeb = YES;
//实例化线路检索节点信息类对象
BMKPlanNode *start = [[BMKPlanNode alloc]init];
//指定起点名称
start.name = @"西直门";
//指定起点经纬度
start.pt = CLLocationCoordinate2DMake(39.90868, 116.204);
//指定起点
option.startPoint = start;
//实例化线路检索节点信息类对象
BMKPlanNode *end = [[BMKPlanNode alloc]init];
//指定终点名称
end.pt = CLLocationCoordinate2DMake(39.90868, 116.3956);
//终点名称
end.name = @"天安门";
//终点节点
option.endPoint = end;
let option = BMKOpenTransitRouteOption.init()
//公交策略,默认:BMK_OPEN_TRANSIT_RECOMMAND(异常值,强制使用BMK_OPEN_TRANSIT_RECOMMAND)
option.openTransitPolicy = BMK_OPEN_TRANSIT_RECOMMAND
//指定返回自定义scheme
option.appScheme = "baidumapsdk://mapsdk.baidu.com"
//调起百度地图客户端失败后,是否支持调起web地图,默认:YES
option.isSupportWeb = true
//实例化线路检索节点信息类对象
let start = BMKPlanNode.init()
//指定起点名称
start.name = "西直门"
//指定起点经纬度
start.pt = CLLocationCoordinate2DMake(39.90868, 116.204)
//指定起点
option.startPoint = start
//实例化线路检索节点信息类对象
let end = BMKPlanNode.init()
//指定终点名称
end.pt = CLLocationCoordinate2DMake(39.90868, 116.3956)
//终点名称
end.name = "天安门"
//终点节点
option.endPoint = end
3调起百度地图客户端公交路线界面
Objective-C
Swift
NSInteger flag =  [BMKOpenRoute openBaiduMapTransitRoute:option];
if (flag == BMK_OPEN_NO_ERROR) {
    NSLog(@"调起百度地图客户端公交路线界面成功!");
}
let flag =  BMKOpenRoute.openBaiduMapTransitRoute(option)
if flag == BMK_OPEN_NO_ERROR {
    print("调起百度地图客户端公交路线界面成功!")
}
  • 文档根本没法用

  • 文档水平很差

  • 文档水平一般

  • 文档不错

  • 文档写的很好

如发现文档错误,或对此文档有更好的建议,请在下方反馈。问题咨询请前往反馈平台提交工单咨询。

提交反馈

拖动标注工具

添加矩形标注

添加箭头标注

完成

取消