• 爱情文章
  • 亲情文章
  • 友情文章
  • 生活随笔
  • 校园文章
  • 经典文章
  • 人生哲理
  • 励志文章
  • 搞笑文章
  • 心情日记
  • 英语文章
  • 范文大全
  • 作文大全
  • 新闻阅读
  • 当前位置: 山茶花美文网 > 心情日记 > 正文

    iOS8,根据经纬度显示地名|什么软件在输入地名后可测出经纬度

    时间:2020-05-26来源:山茶花美文网 本文已影响 山茶花美文网手机站

    我们很多时候做项目的时候都选用通过手机获取定位,然后传数据给后台,这是iOS8根据经纬度显示地名的demo

    //1.导入框架

    //

    // NearByViewController.m

    // nearDemo

    //

    // Created by apple on 14/12/5.

    // Copyright (c) 2014年 youdianshang. All rights reserved.

    //

    #import

    #import

    @interface NearByViewController ()

    {

    NSUserDefaults *defaluts;

    NSString * jingduStr;

    NSString *weiduStr;

    NSString *LocationAddress;

    }

    @property(nonatomic,retain)CLLocationManager *locationManager;

    @property(strong,nonatomic)UILabel *positionLabel;

    /*

    经纬度相关设置

    */

    -(void)getLocationAll

    {

    self.locationManager = [[CLLocationManageralloc]init];

    _locationManager.delegate =self;

    _locationManager.desiredAccuracy =kCLLocationAccuracyBest;

    _locationManager.distanceFilter =10;

    [_locationManagerrequestAlwaysAuthorization];//添加这句

    [_locationManagerstartUpdatingLocation];

    }

    /*

    //通过经纬度得到当前地理位置

    -(void)change{

    defaluts=[NSUserDefaultsstandardUserDefaults];

    CLLocationCoordinate2D coordinate;

    titude = [[NSStringstringWithFormat:@"%@",jingduStr]floatValue];

    coordinate.longitude = [[NSStringstringWithFormat:@"%@",weiduStr]floatValue];

    CLLocation *newLocation=[[CLLocationalloc]initWithLatitude:titudelongitude: coordinate.longitude];

    CLGeocoder *geocoder=[[CLGeocoderalloc] init];

    [geocoder reverseGeocodeLocation:newLocationcompletionHandler:^(NSArray* placemarks,NSError* error)

    {

    MKPlacemark*placemark = [placemarks objectAtIndex:0];

    LocationAddress = [NSStringstringWithFormat:@"%@%@%@%@", placemark.locality, placemark.subLocality,placemark.thoroughfare, placemark.subThoroughfare];

    [defaluts setObject:LocationAddress forKey:@"address"];

    NSLog(@"终极目标:1:%@2:%@3:%@4:%@", placemark.locality, placemark.subLocality,placemark.thoroughfare,placemark.subThoroughfare);

    }];

    #pragma mark--实现CLLocationManagerDelegate的代理方法,获取地理位置(镔)===========================================================================

    //(1)获取到位置数据,返回的是一个CLLocation的数组,一般使用其中的一个

    - (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations

    {

    CLLocation *currLocation = [locations lastObject];

    NSLog(@"经度=%f纬度=%f高度=%f", titude, currLocation.coordinate.longitude, currLocation.altitude);

    jingduStr =[NSStringstringWithFormat:@"%f", titude];

    weiduStr =[NSStringstringWithFormat:@"%f", currLocation.coordinate.longitude];

    NSLog(@"jijijijijij:%@",jingduStr);

    [self change];

    }

    //(2)获取用户位置数据失败的回调方法,在此通知用户

    - (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error

    {

    if ([error code] ==kCLErrorDenied)

    {

    //访问被拒绝

    }

    if ([errorcode] == kCLErrorLocationUnknown) {

    //无法获取位置信息

    }

    }

    • iOS8,根据经纬度显示地名|什么软件在输入地名后可测出经纬度 相关文章:
    • 爱情文章
    • 亲情文章
    • 友情文章
    • 随笔
    • 哲理
    • 励志
    • 范文大全