使用 CLGeocoder 的正向地理编码示例
Posted
技术标签:
【中文标题】使用 CLGeocoder 的正向地理编码示例【英文标题】:Forward Geocode Example using CLGeocoder 【发布时间】:2012-03-19 13:37:50 【问题描述】:Apple 文档旁边的工作示例说明或有关如何使用正向地理编码的一些指导。这很笼统(我无法理解)
请,这会很棒!还有谁知道他们是使用 Google API 来实现相同的还是他们自己的?
【问题讨论】:
***.com/questions/1140404/…,试试看 已经做了,一个答案指向 CLGeocoder 但没有显示任何内容。那里的解决方案是pre-ios5。现在,我们将地理编码作为内置解决方案提供。 【参考方案1】:发现这个有用,不过如果其他人觉得有用,我会在这里发布。
CLGeocoder *geocoder = [[CLGeocoder alloc] init];
[geocoder geocodeAddressString:PlaceName.text completionHandler:^(NSArray *placemarks, NSError *error)
//Error checking
CLPlacemark *placemark = [placemarks objectAtIndex:0];
MKCoordinateRegion region;
region.center.latitude = placemark.region.center.latitude;
region.center.longitude = placemark.region.center.longitude;
MKCoordinateSpan span;
double radius = placemark.region.radius / 1000; // convert to km
NSLog(@"Radius is %f", radius);
span.latitudeDelta = radius / 112.0;
region.span = span;
[mapView setRegion:region animated:YES];
];
【讨论】:
根据 Map Kit Data Types Reference,在 MKCoordinateSpan Apple 下的注释:一个纬度始终约为 111 公里(69 英里)。不过还没有验证这是否属实。 @AliakseiN。我没有注意到你的评论。 112不是魔术。如果你将 1 度转换为公里,你会得到这个 @carbonr 1° 纬度 = 69.047 法定英里 = 60 海里 = 111.12 公里以上是关于使用 CLGeocoder 的正向地理编码示例的主要内容,如果未能解决你的问题,请参考以下文章