美文网首页
地理编码及反编码

地理编码及反编码

作者: 陈水寒 | 来源:发表于2017-03-23 11:19 被阅读51次

苹果自带地理编码,通过名称搜索获得相应的经纬度信息,反编码就是通过搜索经纬度获得相应的地理名称

相应代码如下

// 初始化
CLGeocoder geocoder = [[CLGeocoder alloc] init];

- (IBAction)geocode:(id)sender {
    
    NSString *address = self.addressTV.text;
    
    if ([address length] == 0) return;
    
    [self.geocoder geocodeAddressString:address completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) {
        
        if (error) {
            NSLog(@"发生错误");
            return ;
        }
        // 遍历数组
        [placemarks enumerateObjectsUsingBlock:^(CLPlacemark * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
//            self.addressTV.text = obj.name;
            self.latitudeTF.text = @(obj.location.coordinate.latitude).stringValue;
            self.longitudeTF.text = @(obj.location.coordinate.longitude).stringValue;
        }];
    }];
    
}

- (IBAction)reverseGeocode:(id)sender {
    
    if ([self.latitudeTF.text length] == 0) {
        NSLog(@"请输入维度");
        return;
    }
    
    if ([self.longitudeTF.text length] == 0) {
        NSLog(@"请输入经度");
        return;
    }
    
    double latitudeD = [self.latitudeTF.text doubleValue];
    double longitudeD = [self.longitudeTF.text doubleValue];
    
    CLLocation *location = [[CLLocation alloc] initWithLatitude:latitudeD longitude:longitudeD];
    
    [self.geocoder reverseGeocodeLocation:location completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) {
        if (error) {
            NSLog(@"发生错误");
            return ;
        }
        // 遍历数组
        [placemarks enumerateObjectsUsingBlock:^(CLPlacemark * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
            self.addressTV.text = obj.name;
//            self.latitudeTF.text = @(obj.location.coordinate.latitude).stringValue;
//            self.longitudeTF.text = @(obj.location.coordinate.longitude).stringValue;
        }];
    }];
}
编码及反编码演示效果.gif

相关文章

  • 地理编码及反编码

    苹果自带地理编码,通过名称搜索获得相应的经纬度信息,反编码就是通过搜索经纬度获得相应的地理名称 相应代码如下

  • CLGeocoder

    CLGeocoder(地理编码) 使用CLGeocoder可以完成“地理编码”和“反地理编码”地理编码:根据给定的...

  • ios学习笔记之地图(中)

    一 前言 本章主要介绍地理编码及反地理编码,需要用到CLGeocoder类 二 地理编码 在下图绿框内输入地址,点...

  • 地图和定位(三)

    一、地理编码和反地理编码 地理编码:把地址转为经纬度反地理编码:把经纬度转为地址 二、获取当前城市名称(定位+反地...

  • 地理编码

    地理编码和反地理编码都使用CLGeocoder类来实现. 地理编码使用 geocodeAddressString:...

  • 高德地图问题

    1:定位的时候获取用户的省市区位置,通过反地理编码 地理编码与反地理编码 地理编码:根据地址获得相应的经纬度以及详...

  • iOS开发之CoreLocaiton框架使用(地理编码,反地理编

    什么是地理编码和反地理编码? 地理编码 地理编码:根据给定的地名,获得具体的位置信息(比如经纬度、地址的全称等)。...

  • 地理编码与反地理编码

    使用CLGeocoder可以完成“地理编码”和“反地理编码” 地理编码:根据给定的地名,获得具体的位置信息(比如经...

  • iOS 地理编码 / 反地理编码

    一、CLGeocoder 地理编码 与 反地理编码 地理编码:根据给定的地名,获得具体的位置信息(比如经纬度、地址...

  • iOS地理编码的简单实现

    今天来写写地理编码 ,废话不多说,直接进入正题 地理编码有两种方式 反地理编码:把经纬度转换成地名 正地理编码:把...

网友评论

      本文标题:地理编码及反编码

      本文链接:https://www.haomeiwen.com/subject/jwjznttx.html