浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。
LBS云数据简介

百度地图LBS云是百度地图针对LBS开发者全新推出的平台级服务,不仅适用PC应用开发,同时适用移动设备应用的开发。

LBS云数据包含LBS云存储,云检索等功能。使用LBS云数据,可以实现移动开发者存储海量位置数据的服务器零成本及维护压力,且支持高效检索用户存储在云服务上的自定义数据,并在地图上展现。

使用百度地图LBS云

1.申请服务端AK

首先,需要访问控制台申请一个“服务端”的AK,其他类型的AK无效;

2.数据存储

1)登录LBS云管理后台,点击创建按钮

LBS_ak_1.png

2)创建一张表,按要求填写数据名称即表名

LBS_ak_2.png

3)添加自定义字段

LBS_ak_3.png

4)完成创建

LBS_ak_4.png

5)点击表数据管理

LBS_ak_5.png

6)添加编辑自定义数据

数据的编辑添加支持可视化界面操作,另外也支持上传格式为csv

的数据文件批量导入数据,并提供数据模版

LBS_ak_6.png


检索数据实现步骤

开发者在完成数据的LBS云端数据存储之后,便可调用SDK云检索服务,检索自己存储在云端的数据。

百度地图API提供以下几类云检索类型:本地检索,周边检索,矩形检索,详情检索。 此处以本地云检索为例说明。

1引入头文件

本地云检索功能使用的是地图SDK的检索功能,需要在工程中导入检索功能包BaiduMapAPI_Cloud.framework

Objective-C
Swift
#import <BaiduMapAPI_Base/BMKBaseComponent.h>
#import <BaiduMapAPI_Cloud/BMKCloudSearchComponent.h>
// 在桥接头文件BMKSwiftDemo-Bridging-Header中添加
#import <BaiduMapAPI_Base/BMKBaseComponent.h>
#import <BaiduMapAPI_Cloud/BMKCloudSearchComponent.h>
2初始化本地云检索对象
Objective-C
Swift
BMKCloudSearch *search = [[BMKCloudSearch alloc] init];
let cloudSearch = BMKCloudSearch()
3设置本地云检索代理
Objective-C
Swift
search.delegate = self;
cloudSearch.delegate = self
4构造本地云检索参数
Objective-C
Swift
BMKCloudLocalSearchInfo *cloudLocalInfo = [[BMKCloudLocalSearchInfo alloc]init];
cloudLocalInfo.ak = @"F2Kjz***KguLSokSG7w8RVU6hnsDcRII" ; 
cloudLocalInfo.geoTableId = @"186459";
cloudLocalInfo.region = @"北京市";
cloudLocalInfo.keyword = @"天安门";
//初始化请求参数类BMKCloudLocalSearchInfo的实例
let cloudLocalInfo = BMKCloudLocalSearchInfo()
//access_key,最大长度50,必选
cloudLocalInfo.ak = "F2Kjz***KguLSokSG7w8RVU6hnsDcRII"
//用户的权限签名,最大长度50,可选
//cloudLocalInfo.sn = "***"
//geo table表主键,必选
cloudLocalInfo.geoTableId = "186459"
//检索关键字,最长45个字符,可选
cloudLocalInfo.keyword = "天安门"
//区域名称(市或区的名字,如北京市,海淀区),最长不超过25个字符,必选
cloudLocalInfo.region = "北京市"
5发起本地云检索请求
Objective-C
Swift
BOOL flag = [search localSearchWithSearchInfo: cloudLocalInfo];
if (flag) {
   NSLog(@"本地云检索成功");
} else {
   NSLog(@"本地云检索失败");
}
/**
 本地云检索,异步方法,返回结果在BMKCloudSearchDelegate的
 onGetCloudPoiResult里
 
 cloudLocalInfo 本地云检索信息类
 成功返回YES,否则返回NO
 */
let flag = cloudSearch.localSearch(with: info)
if flag {
    print("本地云检索成功")
} else {
    print("本地云检索失败")
}
6实现代理方法,获取检索结果
Objective-C
Swift
/**
 *返回云检索POI列表结果
 *@param poiResultList 云检索结果列表,成员类型为BMKCloudPOIList
 *@param type 返回结果类型: BMK_CLOUD_LOCAL_SEARCH,BMK_CLOUD_NEARBY_SEARCH,BMK_CLOUD_BOUND_SEARCH
 *@param error 错误号,@see BMKCloudErrorCode
 */
- (void)onGetCloudPoiResult:(NSArray*)poiResultList searchType:(int)type errorCode:(int)error {  
    if (error == BMK_CLOUD_NO_ERROR) {  
         //在此处理正常结果  
    } else {  
        NSLog(@"检索失败");  
    }  
}
/**
 POI云检索结果回调
 
 @param poiResultList POI云检索结果列表
 @param type 返回结果类型:BMK_CLOUD_LOCAL_SEARCH,BMK_CLOUD_NEARBY_SEARCH,BMK_CLOUD_BOUND_SEARCH
 @param error 错误码,@see BMKCloudErrorCode
 */
func onGetCloudPoiResult(_ poiResultList: [Any]!, searchType type: Int32, errorCode error: Int32) {
    if error == Int32(BMK_SEARCH_NO_ERROR.rawValue) {
        //在此处理正常结果  
    }
}
7处理检索返回的结果

1)通过代理返回的error判断检索是否成功,如果检索成功,可通过解析result字段获取具体的结果。具体使用示例可参照官方demo中的BMKCloudLocalSearchPage。poiResultList结果结构如下图:
LBS_Cloud.png
说明:
BMKCloudPOIList      云检索结果列表类

BMKCloudPOIInfo      云检索结果信息类

2)周边检索、矩形检索、详情检索可参考demo中的BMKCloudNearbySearchPage、BMKCloudBoundSearchPage、BMKCloudDetailSearchPage

注意事项

LBS云检索服务允许用户检索自有数据,包括本地检索、周边检索、矩形检索、详情检索,该服务对开发者免费开放;

官方SDK的云检索示例代码中,使用了测试AK,从而可以检索相关测试数据,开发者在实际使用过程中需将测试AK更换为自己的AK(此AK必须为服务端AK),还需将测试的geoTableId更换为自己的geotable_id,具体位置请参考云检索示例代码“本地云检索”中的注释

欲详细了解LBS云检索的使用方法,请访问LBS云检索开发指南;存入待检索数据,请访问LBS云检索管理后台

开发过程中如有任何问题,也可以访问反馈平台的iOS开发分类进行询问和反馈。

  • 文档根本没法用

  • 文档水平很差

  • 文档水平一般

  • 文档不错

  • 文档写的很好

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

提交反馈

拖动标注工具

添加矩形标注

添加箭头标注

完成

取消