今天碰到了这样一个问题,我从服务器端获取了当前用户的轨迹数据列表,想通过反向检索获取用户的轨迹地址,逻辑代码基本上是这样
BMKGeoSearch *signleSearch;
for(location in locationArray)
{
CLLocationCoordinate2d pt = xxxxx;
BMKReverseGeoCodeOption *reverseGeocodeSearchOption = [[BMKReverseGeoCodeOption alloc]init];
reverseGeocodeSearchOption.reverseGeoPoint = pt;
BOOL flag = [serch reverseGeoCode:reverseGeocodeSearchOption];
if(flag)
{
BMKPointAnnotation *item = [[BMKPointAnnotation alloc]init];
item.coordinate = pt;
[BMapView addAnnotation:item];
}
else
{
NSLog(@"反geo检索发送失败");
}
}
代码运行每次只能获取一个经纬度的地址,其他经纬度的地址都获取不到,查了很久,试了很多方法毫无用处,最后review了一下代码,觉得可能是 一个BMKGeoSearch 实例同一时间只能适配一次检索,然后修改了一下代码,为每个检索都重新分配了一个Search实例,结果就成功了。但是这样就会造成同一时间内的内存爆发,这个问题待后续修改
时间: 2024-10-09 23:52:36