iOS 硬件 定位 - 地理编码和反地理编码

  1. 导入头文件 #import

pragma -mark 不用代理 协议

  • (CLGeocoder *)geocoder{

    if(_geocoder){

    _geocoder = [[CLGeocoder alloc]init];
    

    }
    return _geocoder;
    }

3.地理编码 ========= 地名==经纬度

NSString *address = _location.text;

if([address length]== 0){

    return;
}

[self.geocoder geocodeAddressString:address completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) {

    if(error == nil){

        [placemarks enumerateObjectsUsingBlock:^(CLPlacemark * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {

            self.location.text = obj.name;

            self.longitude.text = @(obj.location.coordinate.longitude).stringValue;

            self.latitude.text  = @(obj.location.coordinate.latitude).stringValue;

        }];
    }
}];

4.反地理编码 ========== 经纬度==地名

CGFloat longitude = [_longitude.text doubleValue];

CGFloat latitude = [_latitude.text doubleValue];

CLLocation *location = [[CLLocation alloc]initWithLatitude:latitude longitude:longitude];

[self.geocoder reverseGeocodeLocation:location completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) {

    if(error == nil){

        [placemarks enumerateObjectsUsingBlock:^(CLPlacemark * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {

            self.location.text = obj.name;

            self.longitude.text = @(obj.location.coordinate.longitude).stringValue;

            self.latitude.text  = @(obj.location.coordinate.latitude).stringValue;

        }];
    }

}];
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值