标题 | ios如何根据经纬度坐标取详细地址 |
内容 | 以当前手机为例: 获取当前手机地址,再从经纬度转换成详细地址(包括:国家名-国家代码,省,市,街道名,邮政代代码等)。 1:获取当前手机经纬度 reverse geoder class 1:- (void)startedreversegeoderwithlatitude:(double)latitude longitude:(double)longitude{ cllocationcoordinate2d coordinate2d; coordinate2d.longitude = longitude; coordinate2d.latitude = latitude; // if (self.locationinfo == nil) { self.locationinfo = [[[location alloc] init] autorelease]; } self.locationinfo.latitude = latitude; self.locationinfo.longitude = longitude; // mkreversegeocoder *geocoder = [[mkreversegeocoder alloc] initwithcoordinate:coordinate2d]; geocoder.delegate = self; [geocoder start];}#pragma mark -#pragma mark mkreversegeocoderdelegate methods- (void)reversegeocoder:(mkreversegeocoder *)geocoder didfindplacemark:(mkplacemark *)placemark { nslog(@reverse finished...); nslog(@country:%@,placemark.country); nslog(@countrycode:%@,placemark.countrycode); nslog(@locality:%@,placemark.locality); nslog(@sublocality:%@,placemark.sublocality); nslog(@postalcode:%@,placemark.postalcode); nslog(@subthoroughfare:%@,placemark.subthoroughfare); nslog(@thoroughfare:%@,placemark.thoroughfare); nslog(@administrativearea:%@,placemark.administrativearea); self.locationinfo.locationname = [nsstring stringwithformat:@%@ @ @, placemark.country, placemark.administrativearea, placemark.locality, placemark.sublocality, placemark.thoroughfare]; nslog(@administrativearea:%@,self.locationinfo.locationname); [self.target performselector:self.callback withobject:@0]; geocoder = nil;}- (void)reversegeocoder:(mkreversegeocoder *)geocoder didfailwitherror:(nserror *)error { nslog(@error %@ , error); [self.target performselector:self.callback withobject:@1];} 2:获取当前手机经纬度的, 详细地址。 current location class -(void) startupdatinglocation{ // start the location manager. [[selflocationmanager] startupdatinglocation]; }#pragma mark -#pragma mark location manager/** return a location manager -- create one if necessary. */- (cllocationmanager *)locationmanager { if (locationmanager != nil) { return locationmanager; } locationmanager = [[cllocationmanager alloc] init]; [locationmanager setdesiredaccuracy:kcllocationaccuracynearesttenmeters]; [locationmanager setdelegate:self]; return locationmanager;}/** conditionally enable the add button: if the location manager is generating updates, then enable the button; if the location manager is failing, then disable the button. */- (void)locationmanager:(cllocationmanager *)manager didupdatetolocation:(cllocation *)newlocation fromlocation:(cllocation *)oldlocation { [self.target performselector:self.callback withobject:@0];}- (void)locationmanager:(cllocationmanager *)manager didfailwitherror:(nserror *)error { [self.target performselector:self.callback withobject:@1];} |
随便看 |
|
在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。