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

iOS 地图SDK

百度地图SDK是一套应用程序接口, 通过调用地图SDK接口,开发者可以轻松访问百度地图的服务和数据,构建功能丰富、交互性强的地图类应用程序。

位置短地址分享

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

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

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

POI搜索结果分享

示例如下:

-(void)viewDidLoad  
   {    
    //初始化检索对象  
    _searcher =[[BMKShareURLSearch alloc]init];  
    _searcher.delegate = self;    
    //发起短串搜索获取poi分享url  
    BMKPoiDetailShareURLOption *detailShareUrlSearchOption = [[BMKPoiDetailShareURLOption alloc]init];  
    //从poi检索得到的poi的uid  
    detailShareUrlSearchOption.uid==@"your poi uid";  
    BOOL flag = [_searcher requestPoiDetailShareURL:detailShareUrlSearchOption];  
    [detailShareUrlSearchOption release];  
    if(flag)  
    {  
        NSLog(@"详情url检索发送成功");  
    }  
    else  
    {  
        NSLog(@"详情url检索发送失败");  
    }  
    //发起位置信息分享URL检索  
    //   BMKLocationShareURLOption *option = [[BMKLocationShareURLOption alloc]init];  
    //   option.snippet = @"上地10街10号";  
    //   option.name = @"百度大厦";  
    //   option.location = CLLocationCoordinate2D{40.055,116.037};  
    //   BOOL flag = [_searcher requestLocationShareURL:option];  
    //   [option release];  
    //   if(flag)  
    //   {  
    //        NSLog(@"位置信息分享URL检索发送成功");  
    //   }  
    //   else  
    //   {  
    //       NSLog(@"位置信息分享URL发送失败");  
    //    }  
 
    }  
 
    //实现Delegate处理回调结果  
    //处理Poi详情分享URL结果  
    - (void)onGetPoiDetailShareUrlResult:(BMKShareUrlSearch *)searcher result:(BMKShareURLResult *)result errorCode:(BMKSearchErrorCode)error{  
        if (error == BMK_SEARCH_NO_ERROR) {  
            //在此处理正常结果  
        }  
       else {  
            NSLog(@"抱歉,未找到结果");  
        }  
    }  
 
    //处理位置信息你分享了URL结果  
    //- (void)onGetLocationShareUrlResult:(BMKShareUrlSearch *)searcher result:(BMKShareURLResult *)result errorCode:(BMKSearchErrorCode)error{  
    //    if (error == BMK_SEARCH_NO_ERROR) {  
    //        在此处理正常结果  
    //    }  
    //    else {  
    //        NSLog(@"抱歉,未找到结果");  
    //    }  
    //}  
  
    //不使用时将delegate设置为 nil    
    -(void)viewWillDisappear:(BOOL)animated    
    {    
        _searcher.delegate = nil;    
    }

驾车/公交/骑行/步行路线规划分享

利用此方法,开发者可将公交/驾车/骑行/步行规划路线以短串的形式分享给其他用户,实现方法如下: 利用公交/驾车/骑行/步行路线规划检索,获取待分享的公交/驾车规划(具体方法请参考检索规划的介绍)

1初始化并发起检索
    //初始化检索服务
    _shareurlsearch = [[BMKShareURLSearch alloc]init];
    //设置delegate
    _shareurlsearch.delegate = self;
 
    //构建路线规划短串分享检索信息类
    BMKRoutePlanShareURLOption *option = [[BMKRoutePlanShareURLOption alloc] init];
 
    //起点
    BMKPlanNode *fromNode = [[BMKPlanNode alloc] init];
    fromNode.name = @"百度大厦";
    fromNode.cityID = 131;
    option.from = fromNode;
 
    //终点
    BMKPlanNode *toNode = [[BMKPlanNode alloc] init];
    toNode.name = @"天安门";
    toNode.cityID = 131;
    option.to = toNode;
 
    // option.routePlanType = BMK_ROUTE_PLAN_SHARE_URL_TYPE_DRIVE;//驾车 
    // option.routePlanType = BMK_ROUTE_PLAN_SHARE_URL_TYPE_WALK;//步行 
    ​// option.routePlanType = BMK_ROUTE_PLAN_SHARE_URL_TYPE_RIDE;//骑行
    option.routePlanType = BMK_ROUTE_PLAN_SHARE_URL_TYPE_TRANSIT;//公交
    option.cityID = 131;//当进行公交路线规划短串分享且起终点通过关键字指定时,必须指定
    option.routeIndex = 0;//公交路线规划短串分享时使用,分享的是第几条线路
 
    //发起检索
    BOOL flag = [_shareurlsearch requestRoutePlanShareURL:option];
    if (flag) {
        NSLog(@"routePlanShortUrlShare检索发送成功");
    } else {
        NSLog(@"routePlanShortUrlShare检索发送失败");
    }
2实现delegate方法,获取结果
/**
 *返回路线规划分享url
 *@param searcher 搜索对象
 *@param result 返回结果
 *@param error 错误号,@see BMKSearchErrorCode
 */
- (void)onGetRoutePlanShareURLResult:(BMKShareURLSearch *)searcher result:(BMKShareURLResult *)result errorCode:(BMKSearchErrorCode)error {
    NSLog(@"onGetRoutePlanShareURLResult error:%d", (int)error);
    if (error == BMK_SEARCH_NO_ERROR) {
        //share shore url is result.url
        //share code
    }
}