浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。
 
第1行: 第1行:
 
{{iossdk-sidebar}}
 
{{iossdk-sidebar}}
<div class="bluetitle"><div class="services-title-text">云逆地理编码简介(云RGC)</div></div>
+
<div class="wrap-time-sdk" style="margin-top: -15px;">更新时间:2020-06-23</div><div class="bluetitle"><div class="services-title-text">云逆地理编码简介(云RGC)</div></div>
 
云逆地理编码(云RGC),是以逆地理编码服务为基础,开放的一套个性化位置描述服务。
 
云逆地理编码(云RGC),是以逆地理编码服务为基础,开放的一套个性化位置描述服务。
  

2020年6月29日 (一) 09:05的最后版本

更新时间:2020-06-23
云逆地理编码简介(云RGC)

云逆地理编码(云RGC),是以逆地理编码服务为基础,开放的一套个性化位置描述服务。

开发者可自定义用于进行逆地理编码计算的地理数据,以训练出最适用于真实业务场景的位置描述服务。如:坐标“40.055743,116.308243” 逆地理编码推荐结果为真实地物“百度大厦”,通过云逆地理编码服务,可将该坐标定义为“百度班车上车点”、“西二旗快递集中收发处”等更个性化的位置描述。

适用的业务场景

1)自定义业务地点的位置描述。如,专车、拼车类开发者可定义常用上下车地点,从而根据用户当前位置进行最优推荐,提升服务效率和用户体验。

2)自定义业务片区的位置描述。如,同城配送开发者通过定义服务网点区域,可快速计算出用户订单坐标所在网点的位置描述,同时也可作为参考依据实现订单自动分拣。

3)补充重点业务地区所需且未在地图上体现的基础地物或行业专类位置描述。如,社区服务类开发者需要根据用户所在位置的场景来推送定制服务,可按需定义或丰富小区周边公共设施。

使用百度地图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)添加编辑自定义数据

点击数据服务,进行数据的编辑添加,支持可视化界面操作。

LBS_ak_6.png

检索数据实现步骤
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
BMKCloudReverseGeoCodeSearchInfo *reverseGeoCodeInfo = [[BMKCloudReverseGeoCodeSearchInfo alloc]init];
reverseGeoCodeInfo.geoTableId = @"186459";
reverseGeoCodeInfo.reverseGeoPoint= CLLocationCoordinate2DMake(39.915, 116.404);
//初始化请求参数类BMKCloudReverseGeoCodeSearchInfo的实例
let reverseGeoCodeInfo = BMKCloudReverseGeoCodeSearchInfo()
//geo table表主键,必选
reverseGeoCodeInfo.geoTableId = "186459"
//经纬度
reverseGeoCodeInfo.reverseGeoPoint = CLLocationCoordinate2DMake(39.915, 116.404)
5发起自有数据逆地理编码检索请求
Objective-C
Swift
BOOL flag = [search cloudReverseGeoCodeSearch:reverseGeoCodeInfo];
if (flag) {
    NSLog(@"云RGC检索发送成功");
} else {
    NSLog(@"云RGC检索发送失败");
}
/**
 云RGC检索:根据地理坐标获取地址信息,异步方法,返回结果在BMKCloudSearchDelegate的
 onGetCloudReverseGeoCodeResult里
 
 reverseGeoCodeInfo 云RGC检索信息类
 成功返回YES,否则返回NO
 */
let flag = cloudSearch.cloudReverseGeoCodeSearch(reverseGeoCodeInfo)
if flag {
    print("云RGC检索发送成功")
} else {
    print("云RGC检索发送失败")
}
6实现代理方法,获取检索结果
Objective-C
Swift
/**
 RGC云检索结果回调
 
 @param cloudRGCResult RGC云检索结果
 @param type 返回结果类型:BMK_CLOUD_RGC_SEARCH
 @param errorCode 错误码,@see BMKCloudErrorCode
 */
- (void)onGetCloudReverseGeoCodeResult:(BMKCloudReverseGeoCodeResult *)cloudRGCResult searchType:(BMKCloudSearchType)type errorCode:(NSInteger)errorCode {  
    if (error == BMK_CLOUD_NO_ERROR) {  
        //在此处理正常结果  
    } else {  
        NSLog(@"检索失败");  
    }  
}
/**
 RGC云检索结果回调
 
 @param cloudRGCResult RGC云检索结果
 @param type 返回结果类型:BMK_CLOUD_RGC_SEARCH
 @param errorCode 错误码,@see BMKCloudErrorCode
 */
func onGet(_ cloudRGCResult: BMKCloudReverseGeoCodeResult!, searchType type: BMKCloudSearchType, errorCode: Int) {
    if errorCode == Int(BMK_SEARCH_NO_ERROR.rawValue) {
        //在此处理正常结果  
    } else {  
        NSLog(@"检索失败");  
    }  
}
7处理检索返回的结果

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

BMKAddressComponent                  层次化地址信息

BMKCloudMapPOIInfo                     地址周边百度地图POI信息

BMKCloudPOIInfo                           地址周边POI信息

  • 文档根本没法用

  • 文档水平很差

  • 文档水平一般

  • 文档不错

  • 文档写的很好

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

提交反馈

拖动标注工具

添加矩形标注

添加箭头标注

完成

取消