在 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 的反向地理编码器中获取奇怪的输出的主要内容,如果未能解决你的问题,请参考以下文章

使用 iPhone 的纬度和经度进行反向地理编码

iPhone地理编码

需要一种从 iPhone CoreLocation 上的地址获取 GPS 坐标的方法

Android地理编码器反向定位-获取城市的可靠方法?

如何在iphone中实现前向地理编码

从反向地理编码中获取地址