Skip to content

逆地理编码转换

构造DMKPoiReverseGeoSearch对象

定义主搜索对象 DMKPoiReverseGeoSearch

self.reverseGeoSearch = [[DMKPoiReverseGeoSearch alloc] init];

设置检索参数

进行上车点检索的请求参数类为 DMKPoiSearchOption.

DMKPoiSearchOption *option = [[DMKPoiSearchOption alloc] init];
option.latitude = 40.05014946831597;                        //要查询位置的维度(必设)
option.longitude = 116.285842827691;                        //要查询位置的精度(必设)
option.deviceLatitude = 40.05014946831597;                  //当前设备维度
option.deviceLongitude = 116.285842827691;                  //当前设备精度

设置代理

继承搜索协议<DMKPoiSearchDelegate>.

self.reverseGeoSearch.delegate = self;

启动搜索

调用 DMKPoiReverseGeoSearch 的 poiReverseGeoSearchWithOption 并发起上车点检索.

[self.reverseGeoSearch poiReverseGeoSearchWithOption:option];

结果解析

当检索成功时,会进到onGetPoiSearch 回调函数中,通过解析 DMKPoiSearchResult 对象把检索结果在地图上绘制点展示出来。

说明:

1)可以在回调中解析 poiResult,获取 POI 信息。

2)poiResult.poiDataList 可以获取到 DMKPoiData 列表,POI 详细信息可参考 DMKPoiData 类。

3)如果回调失败,可通过 errorCode 诊断错误类型, 具体错误类型可参考DMKPoiSearchErrorCode类.

- (void)onGetPoiSearch:(DMKPoiBaseSearch *)search result:(DMKPoiSearchResult *)poiResult errorCode:(DMKPoiSearchErrorCode)errorCode {
    if (errorCode != DMK_SEARCH_NO_ERROR) {
        NSLog(@"获取失败");
    }
     
    if (poiResult && [poiResult.poiDataList count] > 0) {
        DMKPoiData *poiData = [poiResult.poiDataList firstObject];
        NSLog(@"%@", poiData);
    }
 
}