最后更新时间:2025-03-25
逆地址解析searchWithReverseGeoCodeSearchOption:接口提供由坐标到坐标所在位置的文字描述的转换。输入坐标返回地理位置信息和附近poi列表。目前应用于物流、出行、O2O、社交等场景。服务响应速度快、稳定,支撑亿级调用。更详细的接口描述可以查阅官网。
满足传统对省市区、乡镇村、门牌号、道路及交叉口、河流、湖泊、桥、poi列表的需求。
提供易于人理解的地址描述:海淀区中钢国际广场(欧美汇购物中心北)。
提供精准的商圈、知名的大型区域、附近知名的一级地标、代表当前位置的二级地标等。
设置逆地址解析检索参数 QMSReverseGeoCodeSearchOption,其中 location 为必填字段
QMSReverseGeoCodeSearchOption revGeoOption = [[QMSReverseGeoCodeSearchOption alloc] init];
[revGeoOption setLocationWithCenterCoordinate:CLLocationCoordinate2DMake(39.907053,116.395984)];
| 参数 | 说明 |
|---|---|
| NSString *location | 位置坐标,格式:location=lat<纬度>,lng<经度> |
| NSString *poi_options | 周边POI(AOI)列表控制参数: 1.返回短地址,缺省时返回长地址 poi_options=address_format=short 2. 半径,取值范围 1-5000(米) poi_options=radius=5000 3. 控制返回场景, poi_options=policy=1/2/3/4/5 policy=1[默认] 以地标+主要的路+近距离POI为主,着力描述当前位置; policy=2 到家场景:筛选合适收货的POI,并会细化收货地址,精确到楼栋; policy=3 出行场景:过滤掉车辆不易到达的POI(如一些景区内POI),增加道路出入口、交叉口、大区域出入口类POI,排序会根据真实API大用户的用户点击自动优化。 policy=4 社交签到场景,针对用户签到的热门 地点进行优先排序。 policy=5 位置共享场景,用户经常用于发送位置、位置分享等场景的热门地点优先排序 注:policy=1/2/3最多返回10条周边POI,policy=4/5最多返回20条, 4. 按距离排序 poi_options=orderby=_distance,开启POI距离排序 注:仅在policy=1/2/3时生效 5. 返回POI附加字段: added_fields=字段1,字段2,… 可同时指定多个字段,逗号分隔,支持: is_aoi 是否为aoi:1是(即该POI包含轮廓边界),0否 category_code 分类代码(仅policy=1/2/3时、及无poi分类筛选时支持) area 控制aoi返回面积,单位:平方米,非aoi返回-1 |
| BOOL get_poi | 是否返回周边POI列表 默认不返回 |
| QMSStreetNumberFormat street_number_format | 控制返回street_number要不要拼上路名,默认值: QMSStreetNumberFormatJoined,具体见 QMSStreetNumberFormat |
option.poi_options=@"address_format=short";
option.poi_options=@"address_format=short;radius=5000;page_size=20;page_index=1;policy=2";
调用QMSSearcherAPI中的searchWithReverseGeoCodeSearchOption:发起逆地址解析检索
[self.mySearcher searchWithReverseGeoCodeSearchOption:revGeoOption];
当检索成功后,会调用到searchWithReverseGeoCodeSearchOption: didReceiveResult:回调函数,通过解析 QMSReverseGeoCodeSearchResult 数据把所需的结果绘制到地图上。
- (void)searchWithReverseGeoCodeSearchOption:(QMSReverseGeoCodeSearchOption *)reverseGeoCodeSearchOption didReceiveResult:(QMSReverseGeoCodeSearchResult *)reverseGeoCodeSearchResult
{
self.revResult = reverseGeoCodeSearchResult;
NSLog(@"get result %@",self.revResult);
}
| 属性 | 说明 |
|---|---|
| NSString *address | 地址描述 |
| QMSReGeoCodeFormattedAddresses *formatted_addresses | 位置描述 |
| QMSAddressComponent *address_component | 地址部件,address不满足需求时可自行拼接 |
| QMSReGeoCodeAdInfo *ad_info | 行政区划信息 |
| QMSReGeoCodeAddressReference *address_reference | 坐标相对位置参考 |
| NSArray *poisArray | POI数组,对象中每个子项为一个POI(QMSReGeoCodePoi)对象 |
| NSUInteger poi_count | 查询的周边poi的总数 |
从poisArray中可获取地址附近的POI(QMSReGeoCodePoi类)信息,属性说明:
| 属性 | 说明 |
|---|---|
| NSString *id_ | POI唯一标识 |
| NSString *title | poi名称 |
| NSString *address | 地址 |
| NSString *category | POI分类 |
| CLLocationCoordinate2D location | 坐标(经纬度) |
| double _distance | 该POI到逆地址解析传入的坐标的直线距离 |
| QMSReGeoCodePoiAdInfo *ad_info | 行政区划信息 |
| NSString *_dir_desc | 逆地址解析传入的坐标的相对方位描述 |
QMSReverseGeoCodeSearchResult 属性说明表格的其他类详情请参考 QMSSearchResult.h文件。
解析坐标(39.939791, 116.444579)的位置信息:
QMSReverseGeoCodeSearchOption *revGeoOption = [[QMSReverseGeoCodeSearchOption alloc] init];
[revGeoOption setLocationWithCenterCoordinate:CLLocationCoordinate2DMake(39.939791, 116.444579)];
[revGeoOption setGet_poi:YES];
revGeoOption.poi_options = @"page_size=5;page_index=1";
[self.mySearcher searchWithReverseGeoCodeSearchOption:revGeoOption];
在地图上生成的标记点:
逆地址解析的信息:
当检索失败时,回调函数searchWithSearchOption: didFailWithError:会返回对应的错误信息
- (void)searchWithSearchOption:(QMSSearchOption *)searchOption didFailWithError:(NSError *)error
{
NSLog(@"%@",error);
}
更详细设置请参考 demo
有帮助
没帮助