地理编码指的是将地址信息建立空间坐标关系的过程。又可分为正向地理编码和逆地理编码。
地址是按照行政区域层级关系标准化后的表示唯一位置的字符串,包含国家、市、区或县、乡或镇、村、街道、门牌号等信息。
正向地理编码指的是由地址信息转换为坐标点的过程。该功能适用于根据用户输入的地址确认用户具体位置的场景,常用于配送人员根据用户输入的具体地址找地点。
正地理编码检索功能使用的是地图SDK的检索功能,需要在工程中导入检索功能包BaiduMapAPI_Search.framework
#import <BaiduMapAPI_Base/BMKBaseComponent.h>#import <BaiduMapAPI_Search/BMKSearchComponent.h>
BMKGeoCodeSearch *search = [[BMKGeoCodeSearch alloc] init];
search.delegate = self;
BMKGeoCodeSearchOption *geoCodeSearchOption = [[BMKGeoCodeSearchOption alloc]init];geoCodeSearchOption.address = @"海淀区上地十街十号";geoCodeSearchOption.city = @"北京";
BOOL flag = [search geoCode: geoCodeSearchOption];if (flag) {NSLog(@"geo检索发送成功");} else {NSLog(@"geo检索发送失败");}
/**正向地理编码检索结果回调@param searcher 检索对象@param result 正向地理编码检索结果@param error 错误码,@see BMKCloudErrorCode*/- (void)onGetGeoCodeResult:(BMKGeoCodeSearch *)searcher result:(BMKGeoCodeSearchResult *)result errorCode:(BMKSearchErrorCode)error {if (error == BMK_SEARCH_NO_ERROR) {//在此处理正常结果} else {NSLog(@"检索失败");}}
通过代理返回的error判断检索是否成功,如果检索成功,可通过解析result字段获取具体的结果。具体使用示例可参照官方demo中的BMKGeoCodeSearchPage。BMKGeoCodeSearchResult类结构如下图:
说明:
BMKGeoCodeSearchResult | 正地址编码结果类 | ||
CLLocationCoordinate2D location | 地址对应的经纬度坐标 |
逆地理编码服务实现了将地址坐标转换为标准地址的过程。逆地理编码提供了坐标定位引擎,帮助用户通过地面某个地物的坐标值来反向查询得到该地物所在的行政区划、所处街道,召回周边地标类POI服务,以及最匹配的标准地址信息。通过丰富的标准地址库中的数据,可帮助用户在进行移动端查询、商业分析、规划分析等领域创造无限价值。
常用于根据定位的坐标来获取该地点的位置详细信息,与定位功能是黄金搭档。
逆地理编码检索功能使用的是地图SDK的检索功能,需要在工程中导入检索功能包BaiduMapAPI_Search.framework
#import <BaiduMapAPI_Base/BMKBaseComponent.h>#import <BaiduMapAPI_Search/BMKSearchComponent.h>
BMKGeoCodeSearch *search = [[BMKGeoCodeSearch alloc] init];
search.delegate = self;
BMKReverseGeoCodeSearchOption *reverseGeoCodeOption = [[BMKReverseGeoCodeSearchOption alloc]init];reverseGeoCodeOption.location = CLLocationCoordinate2DMake(39.915, 116.404);// 是否访问最新版行政区划数据(仅对中国数据生效)reverseGeoCodeOption.isLatestAdmin = YES;
BOOL flag = [search reverseGeoCode: reverseGeoCodeOption];if (flag) {NSLog(@"逆geo检索发送成功");} else {NSLog(@"逆geo检索发送失败");}
/**反向地理编码检索结果回调@param searcher 检索对象@param result 反向地理编码检索结果@param error 错误码,@see BMKCloudErrorCode*/- (void)onGetReverseGeoCodeResult:(BMKGeoCodeSearch *)searcher result:(BMKReverseGeoCodeSearchResult *)result errorCode:(BMKSearchErrorCode)error {if (error == BMK_SEARCH_NO_ERROR) {//在此处理正常结果} else {NSLog(@"检索失败");}}
通过代理返回的error判断检索是否成功,如果检索成功,可通过解析result字段获取具体的结果。具体使用示例可参照官方demo中的BMKReverseGeoCodeSearchPage。BMKReverseGeoCodeSearchResult类结构如下图:
说明:
BMKReverseGeoCodeSearchResult | 逆地理编码检索结果类 | ||
BMKAddressComponent | 地址结果的层次化信息类 | ||
NSArray <BMKPoiInfo *> *poiList | 地址周边POI信息,成员类型为BMKPoiInfo | ||
NSArray <BMKSearchRGCRegionInfo *> *poiRegions | 地址所属区域面信息 |
上一篇
下一篇
本篇文章对您是否有帮助?