-->

不能循环地理编码?(Can't loop geocoding?)

2019-10-18 03:53发布

目前我正在为iPad,它在某一点上应该表现出与旁边的这些城市从用户当前位置的距离,城市的列表的应用程序。

我使用它使用一个数据库我前面建一个循环。 这是代码:

NSString *address = [NSString stringWithFormat:@"%@, Nederland", [info2 objectForKey:@"stadsnaam"]];
    [self.geocoder geocodeAddressString:address completionHandler:^(NSArray *placemarks, NSError *error) {
        CLPlacemark *placemark = [placemarks objectAtIndex:0];
        CLLocation *location = placemark.location;
        CLLocationCoordinate2D firstLocation = location.coordinate;
        NSLog(@"%f,%f", firstLocation.latitude, firstLocation.longitude);
    }];

这一段代码是内部的for循环。 但它是第一次运行时,它只是返回0.0000

第二次循环被激活(我敢肯定,它运行一个以上的时间),它只返回当前位置和第一城市之间的距离。

该应用程序从这段代码获取城市名称: [NSString stringWithFormat:@"%@, Nederland", [info2 objectForKey:@"stadsnaam"]]

这是我和验证工作。 我想避免使用谷歌API,因为我每天大概XD可以使超过最高要求更多

任何帮助表示赞赏,请告诉我如果有什么是不能彻底清除,并在此先感谢!

Answer 1:

你需要阅读的文件为-geocodeAddressString:completionHandler:

启动正向地址解析请求后,请不要尝试启动另一个正向或反向地址解析请求。

您可以使用CLGeocoder的geocoding属性来确定地理编码操作是否正在进行中。



文章来源: Can't loop geocoding?