短地址分享(简称短串分享)是指,用户搜索查询后得到的每一个地理位置结果将会对应一条短串(短链接),用户可以通过短信、邮件或第三方分享组件(如微博、微信等)把短串分享给其他用户从而实现地理位置信息的分享。当其他用户收到分享的短串后,点击短串即可打开手机上的百度地图客户端或者手机浏览器进行查看。
例如,用户搜索“百度大厦”后通过短信使用短串分享功能把该地点分享给好友,好友点击短信中的短串“http://j.map.baidu.com/BkmBk” 后可以调起百度地图客户端或者手机浏览器查看“百度大厦”的地理位置信息。
目前短串分享功能开放了POI详情分享、驾车/公交/骑行/步行路线规划分享和位置信息分享。
开发者可将POI详情以短串的形式分享给其他用户。以下以POI详情短串分享的实现步骤。
#import <BaiduMapAPI_Search/BMKSearchComponent.h>#import <BaiduMapAPI_Base/BMKBaseComponent.h>
BMKShareURLSearch *shareurlSearch = [[BMKShareURLSearch alloc] init];
shareurlSearch.delegate = self;
BMKPoiDetailShareURLOption *detailShareUrlSearchOption = [[BMKPoiDetailShareURLOption alloc]init];//POI的uiddetailShareUrlSearchOption.uid = @"ba97895c02a6ddc7f60e775f";
BOOL flag = [shareurlSearch requestPoiDetailShareURL:detailShareUrlSearchOption];if(flag) {NSLog(@"POI详情短串分享URL获取成功");} else {NSLog(@"POI详情短串分享URL获取失败");}
#pragma mark - BMKShareURLSearchDelegate/**返回POI详情分享url@param searcher 检索对象@param result 检索结果:url@param error 错误码*/- (void)onGetPoiDetailShareURLResult:(BMKShareURLSearch *)searcher result:(BMKShareURLResult *)result errorCode:(BMKSearchErrorCode)error {if (error == BMK_SEARCH_NO_ERROR) {NSLog(@"POI详情分享检索成功,URL为:%@",result.url);} else {NSLog(@"POI详情分享检索失败");}}
开发者可将公交/驾车/骑行/步行规划路线以短串的形式分享给其他用户。以下以公交路线规划分享为例来介绍实现步骤。
#import <BaiduMapAPI_Base/BMKBaseComponent.h>#import <BaiduMapAPI_Search/BMKSearchComponent.h>
BMKShareURLSearch *shareurlSearch = [[BMKShareURLSearch alloc] init];
shareurlSearch.delegate = self;
BMKRoutePlanShareURLOption *option = [[BMKRoutePlanShareURLOption alloc] init];/**BMK_ROUTE_PLAN_SHARE_URL_TYPE_DRIVE:驾车路线规划短串分享BMK_ROUTE_PLAN_SHARE_URL_TYPE_WALK:步行路线规划短串分享BMK_ROUTE_PLAN_SHARE_URL_TYPE_RIDE:骑行路线规划短串分享BMK_ROUTE_PLAN_SHARE_URL_TYPE_TRANSIT:公交路线规划短串分享**/option.routePlanType = BMK_ROUTE_PLAN_SHARE_URL_TYPE_DRIVE;//起终点通过关键字指定时,必须指定option.cityID = 131;//分享的是第几条线路option.routeIndex = 0;//初始化BMKPlanNode的实例,线路检索起点BMKPlanNode *start = [[BMKPlanNode alloc] init];//名称start.name = @"百度大厦";//城市IDstart.cityID = 131;//起点,可通过关键字、坐标两种方式指定,使用关键字时必须指定from.cityIDoption.from = start;//初始化BMKPlanNode的实例,线路检索终点BMKPlanNode *end = [[BMKPlanNode alloc] init];//名称end.name = @"天安门";//城市IDend.cityID = 131;//终点,可通过关键字、坐标两种方式指定,使用关键字时必须指定to.cityIDoption.to = end;
BOOL flag = [shareurlSearch requestRoutePlanShareURL:option];if (flag) {NSLog(@"路线规划短串分享URL获取成功");} else {NSLog(@"路线规划短串分享URL获取失败");}
#pragma mark - BMKShareURLSearchDelegate/**返回路线规划分享url@param searcher 检索对象@param result 检索结果:url@param error 错误码*/- (void)onGetRoutePlanShareURLResult:(BMKShareURLSearch *)searcher result:(BMKShareURLResult *)result errorCode:(BMKSearchErrorCode)error {if (error == BMK_SEARCH_NO_ERROR) {NSLog(@"路线规划分享检索成功,URL为:%@",result.url);} else {NSLog(@"路线规划分享检索失败");}}
上一篇
下一篇
本篇文章对您是否有帮助?