使用纬度和经度查找用户位置的名称[重复]
Posted
技术标签:
【中文标题】使用纬度和经度查找用户位置的名称[重复]【英文标题】:Find the name of the user's location using latitude and longitude [duplicate] 【发布时间】:2013-11-12 05:13:27 【问题描述】:我需要使用纬度和经度查找用户所在位置的名称。我使用以下代码使用注释将点固定在位置上。
//MAP VIEW Point
MKCoordinateRegion myRegion;
//Center
CLLocationCoordinate2D center;
center.latitude=latitude;
center.longitude=longitude;
//Span
MKCoordinateSpan span;
span.latitudeDelta=THE_SPAN;
span.longitudeDelta=THE_SPAN;
myRegion.center=center;
myRegion.span=span;
//Set our mapView
[MapViewC setRegion:myRegion animated:YES];
//Annotation
//1.create coordinate for use with the annotation
CLLocationCoordinate2D wimbLocation;
wimbLocation.latitude=latitude;
wimbLocation.longitude=longitude;
Annotation * myAnnotation= [Annotation alloc];
myAnnotation.coordinate=wimbLocation;
【问题讨论】:
***.com/questions/1382900/… 您的代码与您要解决的问题完全无关。 【参考方案1】:这可能是最简单的方法
- (void)reverseGeocodeLocation
CLLocation *someLocation=[[CLLocation alloc]initWithLatitude:20.256456 longitude:68.545656]
CLGeocoder *geocoder = [[CLGeocoder alloc] init];
[geocoder reverseGeocodeLocation:someLocation completionHandler:^(NSArray *placemarks, NSError *error)
if(placemarks.count)
NSDictionary *dictionary = [[placemarks objectAtIndex:0] addressDictionary];
[self.addressOutlet setText:[dictionary valueForKey:@"Street"]];
[self.cityOutlet setText:[dictionary valueForKey:@"City"]];
[self.stateOutlet setText:[dictionary valueForKey:@"State"]];
[self.zipOutlet setText:[dictionary valueForKey:@"ZIP"]];
];
【讨论】:
如何将 pin 标题设置为街道名称 使用 MKAnnotationView codigator.com/tutorials/mapkit-tutorial-for-ios-beginners【参考方案2】:首先你需要导入AddressBook/AddressBook.h 然后包括以下方法
-(NSString*)locationFromCoordinate:(CLLocationCoordinate2D)coordinate
CLGeocoder *geocoder = [[CLGeocoder alloc] init];
CLLocation *loc = [[CLLocation alloc]initWithLatitude:coordinate.latitude
longitude:coordinate.longitude];
NSString *address;
[geocoder reverseGeocodeLocation:loc
completionHandler:^(NSArray *placemarks, NSError *error)
if (error)
NSLog(@"Failed with error: %@", error);
return;
if (placemarks.count > 0)
CLPlacemark *placemark = placemarks[0];
NSDictionary *addressDictionary =
placemark.addressDictionary;
address = [addressDictionary
objectForKey:(NSString *)kABPersonAddressStreetKey];
return address;
【讨论】:
以上是关于使用纬度和经度查找用户位置的名称[重复]的主要内容,如果未能解决你的问题,请参考以下文章
Android使用GoogleApiClient获取用户位置纬度和经度[重复]