在 iphone dev 的反向地理编码器中获取奇怪的输出
Posted
技术标签:
【中文标题】在 iphone dev 的反向地理编码器中获取奇怪的输出【英文标题】:Getting Strange Output in Reverse Geo coder in iphone dev 【发布时间】:2012-01-02 11:34:03 【问题描述】:我正在研究地图工具包,我的任务是使用UILongPressGestureRecognizer
类更改地图工具包中的位置,我总是成功地获得纬度和经度,但有一段时间我无法获得位置。我就是这样做的。
UILongPressGestureRecognizer *lpgr = [[UILongPressGestureRecognizer alloc]
initWithTarget:self action:@selector(handleGesture:)];
lpgr.minimumPressDuration = 2.0; //user must press for 2 seconds
[mapView addGestureRecognizer:lpgr];
[lpgr release];
- (void)handleGesture:(UIGestureRecognizer *)gestureRecognizer
MKPointAnnotation *pa = [[MKPointAnnotation alloc] init];
pa.coordinate = touchMapCoordinate;
temp.latitude= pa.coordinate.latitude;
temp.longitude= pa.coordinate.longitude;
MKReverseGeocoder *reverseGeocoder = [[MKReverseGeocoder alloc] initWithCoordinate:pa.coordinate];
reverseGeocoder.delegate = self;
[reverseGeocoder start];
- (void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFindPlacemark:(MKPlacemark *)placemark
temp.location = ABCreateStringWithAddressDictionary(placemark.addressDictionary, NO);
NSLog(@"original location is %@",temp.location);
但有时我会遇到这样的错误
/SourceCache/ProtocolBuffer/ProtocolBuffer-92/Runtime/PBRequester.m:687 服务器返回错误:503 2012-01-02 16:19:36.284 openInvite[303:707] reverseGeocoder:didFailWithError:错误 Domain=NSURLErrorDomain Code=-1011 "无法执行该操作 完全的。 (NSURLErrorDomain 错误 -1011。)“UserInfo=0x124ea0 PBHTTPStatusCode=503
请帮助我。
【问题讨论】:
【参考方案1】:HTTP 状态码就是线索。
503 服务不可用
服务器当前无法处理请求,因为 服务器临时超载或维护。含义是 这是一种暂时的情况,经过一段时间后会得到缓解 延迟。如果已知,延迟的长度可以在一个 重试后标头。如果没有给出 Retry-After,客户端应该 像处理 500 响应一样处理响应。
Note: The existence of the 503 status code does not imply that a server must use it when becoming overloaded. Some servers may wish to simply refuse the connection.
所以检查 HTTP 状态代码,如果它的 503 再次发送请求。这应该可以解决问题
【讨论】:
这是一次又一次尝试的最佳方法,因为我要将我的应用程序上传到iTunes上,那么如何永久解决这个问题? 如果服务器拒绝连接,您没有其他机会再试一次。当然,您不应该这样做无限,因此您还应该对请求数实施限制。以上是关于在 iphone dev 的反向地理编码器中获取奇怪的输出的主要内容,如果未能解决你的问题,请参考以下文章