我从Web服务获取82个地址,并且正在使用正向地址解析器。现在,如何在mapview上一次显示所有82个地址。我将代码放入for循环中,但抛出错误“对该API密钥进行了太多查询”。有什么方法可以发送所有地址并获取所有地址的位置吗?
这是我在for循环中的代码...
NSMutableDictionary *dictLoc = [[self.arrObjects objectAtIndex:indexValue]valueForKey:@"object_location"];
NSString *searchString = [NSString stringWithFormat:@"%@,%@,%@,%@",[dictLoc valueForKey:@"object_location_number"],[dictLoc valueForKey:@"object_location_street"],[dictLoc valueForKey:@"object_location_city"],[dictLoc valueForKey:@"object_location_zip"]];
// if (self.forwardGeocoder == nil) {
BSForwardGeocoder *forwardGeocoder = [[[BSForwardGeocoder alloc] initWithDelegate:self] autorelease];
// }
CLLocationCoordinate2D southwest, northeast;
southwest.latitude = 34.172684;
southwest.longitude = -118.604794;
northeast.latitude = 34.236144;
northeast.longitude = -118.500938;
BSForwardGeocoderCoordinateBounds *bounds = [BSForwardGeocoderCoordinateBounds boundsWithSouthWest:southwest northEast:northeast];
// Forward geocode!
#if NS_BLOCKS_AVAILABLE
[forwardGeocoder forwardGeocodeWithQuery:searchString regionBiasing:nil viewportBiasing:bounds success:^(NSArray *results) {
[self forwardGeocodingDidSucceed:forwardGeocoder withResults:results withIndexValue:indexValue];
} failure:^(int status, NSString *errorMessage) {
if (status == G_GEO_NETWORK_ERROR) {
[self forwardGeocoderConnectionDidFail:forwardGeocoder withErrorMessage:errorMessage];
}
else {
[self forwardGeocodingDidFail:forwardGeocoder withErrorCode:status andErrorMessage:errorMessage];
}
}];
#else
[self.forwardGeocoder forwardGeocodeWithQuery:searchString regionBiasing:nil viewportBiasing:nil];
#endif
提前致谢.. :)
最佳答案
我将代码放入for循环中,但抛出错误“太多
已对此API密钥进行了查询。”有没有办法发送所有
地址并获取所有地址的位置??
否。此错误表示您正在使用的API限制了您可以进行的查询数量。摆脱该错误并显示所有“82”引脚的唯一方法是与API开发人员联系,以了解如何增加在给定条件下可以对API进行查询的次数大体时间。很有可能这是一项优质服务,您可能需要为此付费。
现在,一个更好的解决方案是永远不要在 map 上显示82个图钉,更像5/10这样对用户更友好。而且很有可能您的API允许每分钟10次查询或类似的查询。
一个更酷的解决方案是建立一个查询队列,该查询队列仅允许您的代码像10个查询一样进行调用,然后将其他查询排队。然后,在分配的时间之后,它又进行了10个查询。
关于iphone - 一次在 map 上掉下82个图钉,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14954768/