更新时间:2020-09-14
推荐上⻋点功能是基于用户定位的周边范围内的道路信息、步行距离、方向等信息实现的,该数据依托百度位置大数据的沉淀积累,推送合理上⻋点,降低接驾时间。
使用说明
推荐上⻋点功能对普通开发者仅提供试用配额。 配额提升针对合作用户。如果有配额需求,请在工单反馈给我们。
实现步骤
1引入头文件
推荐上车点检索功能使用的是地图SDK的检索功能,需要在工程中导入检索功能包
Objective-C
Swift
#import <BaiduMapAPI_Base/BMKBaseComponent.h> #import <BaiduMapAPI_Search/BMKSearchComponent.h>
// 在桥接头文件BMKSwiftDemo-Bridging-Header中添加 #import <BaiduMapAPI_Base/BMKBaseComponent.h> #import <BaiduMapAPI_Search/BMKSearchComponent.h>
2初始化推荐上车点检索对象
Objective-C
Swift
BMKRecommendStopSearch *search = [[BMKRecommendStopSearch alloc] init];
let recommendStopSearch = BMKRecommendStopSearch()
3设置推荐上车点检索服务代理
Objective-C
Swift
recommendStopSearch.delegate = self;
recommendStopSearch.delegate = self;
4构造推荐上车点检索参数
Objective-C
Swift
BMKRecommendStopSearchOption *stopSearchOption = [[BMKRecommendStopSearchOption alloc] init]; // 推荐上车点经纬度 (必选) stopSearchOption.location = CLLocationCoordinate2DMake(40.047471, 116.31372);
let recommendStopOption = BMKRecommendStopSearchOption() // 推荐上车点的经纬度坐标(必选) recommendStopOption.location = CLLocationCoordinate2DMake(40.047471, 116.31372)
5发起推荐上车点检索请求
Objective-C
Swift
BOOL flag = [search recommendStopSearch:stopSearchOption]; if (flag) { NSLog(@"推荐上车点检索成功"); } else { NSLog(@"推荐上车点检索失败"); }
let flag = recommendStopSearch.recommendStopSearch(recommendStopOption); if flag { NSLog("推荐上车点检索成功") } else { NSLog("推荐上车点检索失败") }
6实现代理方法,获取检索结果
Objective-C
Swift
/** 推荐上车点检索结果回调 @param searcher 检索对象 @param recommendStopResult 搜索结果 @param errorCode 错误号,@see BMKSearchErrorCode */ - (void)onGetRecommendStopResult:(BMKRecommendStopSearch *)searcher result:(BMKRecommendStopSearchResult *)recommendStopResult errorCode:(BMKSearchErrorCode)errorCode { if (error == BMK_SEARCH_NO_ERROR) { //在此处理正常结果 } else { NSLog(@"检索失败"); } }
func onGetRecommendStopResult('''_''' searcher: BMKRecommendStopSearch, result recommendStopResult: BMKRecommendStopSearchResult, errorCode: BMKSearchErrorCode) { if error == BMK_SEARCH_NO_ERROR { //在此处理正常结果 } else { print("检索失败"); } }
7处理检索返回的结果
通过代理返回的error判断检索是否成功,如果检索成功,可通过解析result字段获取具体的结果。具体使用示例可参照官方demo中的通过代理返回的error判断检索是否成功,如果检索成功,可通过解析result字段获取具体的结果。 具体使用示例可参照官方demo中的BMKRecommendStopSearchPage。BMKRecommendStopSearchResult类结构如下图:

说明:
BMKRecommendStopSearchResult 推荐上车点检索结果类

说明:
BMKRecommendStopSearchResult 推荐上车点检索结果类
BMKRecommendStopInfo 推荐上车点信息类