全部服务产品
开发者频道
定价
登录
位置短地址分享
下载开发文档
短地址分享简介

短地址分享(简称短串分享)是指,用户搜索查询后得到的每一个地理位置结果将会对应一条短串(短链接),用户可以通过短信、邮件或第三方分享组件(如微博、微信等)把短串分享给其他用户从而实现地理位置信息的分享。当其他用户收到分享的短串后,点击短串即可打开手机上的百度地图客户端或者手机浏览器进行查看。

例如,用户搜索“百度大厦”后通过短信使用短串分享功能把该地点分享给好友,好友点击短信中的短串“http://j.map.baidu.com/BkmBk” 后可以调起百度地图客户端或者手机浏览器查看“百度大厦”的地理位置信息。

目前短串分享功能开放了POI详情分享、驾车/公交/骑行/步行路线规划分享和位置信息分享。

POI详情分享短地址获取

开发者可将POI详情以短串的形式分享给其他用户。以下以POI详情短串分享的实现步骤。

实现步骤
1. 引入头文件
#import <BaiduMapAPI_Search/BMKSearchComponent.h>
#import <BaiduMapAPI_Base/BMKBaseComponent.h>
2. 初始化BMKShareURLSearch的实例
BMKShareURLSearch *shareurlSearch = [[BMKShareURLSearch alloc] init];
3. 设置shareurlSearch的代理
shareurlSearch.delegate = self;
4. 初始化请求参数类BMKPoiDetailShareURLOption
BMKPoiDetailShareURLOption *detailShareUrlSearchOption = [[BMKPoiDetailShareURLOption alloc]init];
//POI的uid
detailShareUrlSearchOption.uid = @"ba97895c02a6ddc7f60e775f";
5. 发起poi详情短串分享检索
BOOL flag = [shareurlSearch requestPoiDetailShareURL:detailShareUrlSearchOption];
if(flag) {
NSLog(@"POI详情短串分享URL获取成功");
} else {
NSLog(@"POI详情短串分享URL获取失败");
}
6. 实现Delegate处理回调结果
#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详情分享检索失败");
}
}
驾车/公交/骑行/步行路线规划分享

开发者可将公交/驾车/骑行/步行规划路线以短串的形式分享给其他用户。以下以公交路线规划分享为例来介绍实现步骤。

实现步骤
1. 引入头文件
#import <BaiduMapAPI_Base/BMKBaseComponent.h>
#import <BaiduMapAPI_Search/BMKSearchComponent.h>
2. 初始化BMKShareURLSearch的实例
BMKShareURLSearch *shareurlSearch = [[BMKShareURLSearch alloc] init];
3. 设置shareurlSearch的代理
shareurlSearch.delegate = self;
4. 初始化请求参数类BMKRoutePlanShareURLOption
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 = @"百度大厦";
//城市ID
start.cityID = 131;
//起点,可通过关键字、坐标两种方式指定,使用关键字时必须指定from.cityID
option.from = start;
//初始化BMKPlanNode的实例,线路检索终点
BMKPlanNode *end = [[BMKPlanNode alloc] init];
//名称
end.name = @"天安门";
//城市ID
end.cityID = 131;
//终点,可通过关键字、坐标两种方式指定,使用关键字时必须指定to.cityID
option.to = end;
5. 发起路线规划分享检索
BOOL flag = [shareurlSearch requestRoutePlanShareURL:option];
if (flag) {
NSLog(@"路线规划短串分享URL获取成功");
} else {
NSLog(@"路线规划短串分享URL获取失败");
}
6. 实现Delegate处理回调结果
#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(@"路线规划分享检索失败");
}
}

上一篇

调起百度地图功能

下一篇

错误码对照表

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