最后更新时间:2025-03-21


地址解析

地址解析searchWithGeoCodeSearchOption:revGeoOption接口提供由地址描述到所述位置坐标的转换功能。更详细的接口描述可以查阅官网。这里对 SDK 提供的地址解析接口做简要描述。




一、地址解析接口参数

设置地址解析检索参数 QMSGeoCodeSearchOption,其中 address 为必填字段:

属性 说明
NSString *address 必填,用于做地理编码的地址;
如:address=北京市海淀区彩和坊路海淀西大街74号
NSString *region 指定地址所属城市;
如:region=北京

示例如下:

QMSGeoCodeSearchOption *geoOption = [[QMSGeoCodeSearchOption alloc] init];
[geoOption setAddress:@"北京市海淀区彩和坊路海淀西大街74号"];
[geoOption setRegion:@"北京"];

二、发起地址解析检索

调用QMSSearcherAPI中的searchWithGeoCodeSearchOption:发起地址解析检索

[self.mySearcher searchWithGeoCodeSearchOption:revGeoOption];

三、在回调中处理搜索数据

当检索成功后,会调用到searchWithGeoCodeSearchOption: didReceiveResult:回调函数,通过解析 QMSGeoCodeSearchResult 数据把所需的结果绘制到地图上。

- (void)searchWithGeoCodeSearchOption:(QMSGeoCodeSearchOption *)geoCodeSearchOption didReceiveResult:(QMSGeoCodeSearchResult *)geoCodeSearchResult
{ 
    NSLog(@"geoCodeResult: %@", geoCodeSearchResult);
}

1. QMSReverseGeoCodeSearchResult类属性说明:

属性 说明
NSString *address 地址描述
QMSReGeoCodeFormattedAddresses *formatted_addresses 位置描述
QMSAddressComponent *address_component 地址部件,address不满足需求时可自行拼接
QMSReGeoCodeAdInfo *ad_info; 行政区划信息
QMSReGeoCodeAddressReference *address_reference 坐标相对位置参考
NSArray <QMSReGeoCodePoi *> *poisArray POI数组,对象中每个子项为一个POI(QMSReGeoCodePoi)对象
QMSAddressComponent *address_components 解析后的地址部件
NSUInteger poi_count 查询的周边poi的总数

详细类别请参考QMSSearchResult.h文件说明


四、效果示例

在北京地区检索“北京市海淀区彩和坊路海淀西大街74号”,示例如下:

QMSGeoCodeSearchOption *geoOption = [[QMSGeoCodeSearchOption alloc] init];
[geoOption setAddress:@"北京市海淀区彩和坊路海淀西大街74号"];
[geoOption setRegion:@"北京"];
[self.mySearcher searchWithGeoCodeSearchOption:revGeoOption];

根据地址检索出的结果生成对应的POI点:

POI信息详情如下:


五、错误信息回调

当检索失败时,回调函数searchWithSearchOption: didFailWithError:会返回对应的错误信息

- (void)searchWithSearchOption:(QMSSearchOption *)searchOption didFailWithError:(NSError *)error
{
    NSLog(@"%@",error);
}

更详细设置请参考 demo

本页内容