高德sdk同时解析多个地址的问题

NL91 2017-12-12 11:14:56
尝试用高德sdk里的AMapGeocodeSearch方法批量解析一个数组中保存的多个地址,发现两个问题:
1. 返回的解析结果并没有按照这些地址在数组中的顺序排列,我猜是解析服务器的响应速度有区别,有什么办法可以让结果输出顺序与地址输入顺序一致吗?
2.我发现如果将geocode方法的代码写在initsearch方法中,然后在viewdidload中的循环中循环调用initsearch方法,解析结果只会出现一个。这是为什么?

代码如下:

- (void)viewDidLoad {
[super viewDidLoad];
[self initSearch];
//批量解析addressArray中包含的多个地址
for(NSString *addr in self.addressArray){
[self geocode:addr];
}

//初始化searchapi对象
-(void)initSearch{
[AMapServices sharedServices].apiKey=Key;
self.search=[[AMapSearchAPI alloc]init];
self.search.delegate=self;
}

//解析方法
-(void)geocode:(NSString*)address{
AMapGeocodeSearchRequest *request=[[AMapGeocodeSearchRequest alloc]init];
request.address=address;
[self.search AMapGeocodeSearch:request];
}

//解析完成后调用函数
-(void)onGeocodeSearchDone:(AMapGeocodeSearchRequest *)request response:(AMapGeocodeSearchResponse *)response{
NSLog(@"返回%@",response.geocodes[0].formattedAddress);
}
...全文
267 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

29,027

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧