iOS之获取经纬度并通过反向地理编码获取详细地址

 1 _locationManager = [[CLLocationManager alloc] init];
 2
 3     //期望的经度
 4
 5     _locationManager.desiredAccuracy = kCLLocationAccuracyBest;
 6
 7     //大约变化100米更新一次
 8
 9     _locationManager.distanceFilter = 100;
10
11     //认证NSLocationAlwaysUsageDescription
12
13     if ([[UIDevice currentDevice] systemVersion].doubleValue > 8.0) {//如果iOS是8.0以上版本
14
15         if ([_locationManager respondsToSelector:@selector(requestAlwaysAuthorization)]) {//位置管理对象中有requestAlwaysAuthorization这个方法
16
17             //运行
18
19             [_locationManager requestAlwaysAuthorization];
20
21         }
22
23     }
24
25     _locationManager.delegate = self;
26
27     [_locationManager startUpdatingLocation];
28
29
30
31 //获取经纬度和详细地址
32
33 - (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray<CLLocation *> *)locations {
34
35
36
37     CLLocation *location = [locations lastObject];
38
39     NSLog(@"latitude === %g  longitude === %g",location.coordinate.latitude, location.coordinate.longitude);
40
41
42
43     //反向地理编码
44
45     CLGeocoder *clGeoCoder = [[CLGeocoder alloc] init];
46
47     CLLocation *cl = [[CLLocation alloc] initWithLatitude:location.coordinate.latitude longitude:location.coordinate.longitude];
48
49     [clGeoCoder reverseGeocodeLocation:cl completionHandler: ^(NSArray *placemarks,NSError *error) {
50
51         for (CLPlacemark *placeMark in placemarks) {
52
53
54
55             NSDictionary *addressDic = placeMark.addressDictionary;
56
57
58
59             NSString *state=[addressDic objectForKey:@"State"];
60
61             NSString *city=[addressDic objectForKey:@"City"];
62
63             NSString *subLocality=[addressDic objectForKey:@"SubLocality"];
64
65             NSString *street=[addressDic objectForKey:@"Street"];
66
67
68
69             NSLog(@"所在城市====%@ %@ %@ %@", state, city, subLocality, street);
70
71             [_locationManager stopUpdatingLocation];
72
73         }
74
75     }];
76
77 }
78
79  
时间: 2024-10-07 01:33:24

iOS之获取经纬度并通过反向地理编码获取详细地址的相关文章

iOS CLGeocoder反地理编码获取地理位置

要得到当前的位置,只需要2步就能完成 1:判断设备是否支持定位功能,然后创建MKMapView if ([CLLocationManager locationServicesEnabled]) { myMapView =[[MKMapView alloc] init]; myMapView.delegate=self; myMapView.showsUserLocation=YES; } 2:实现MKMapViewDelegate协议 -(void)mapView:(MKMapView *)ma

(七十七)地理编码与反地理编码

所谓地理编码,指的是通过地名获取位置信息,例如经纬度.详细地址等. 所谓反地理编码,指的是通过经纬度.海拔等信息获取地理位置信息. 在iOS上使用地理编码和反地理编码,如果是手动输入经纬度,是不需要获取用户授权的,但是一般是获取用户的经纬度,然后再通过地理编码实现精确定位,因此需要授权,本文因为是单独讲解地理编码的相关知识,因此采用手动输人经纬度,不再赘述授权的代码. ①导入框架: #import <CoreLocation/CoreLocation.h> ②新建CLGeocoder对象: @

ios百度地图逆地理编码(基于2.3.0--2.4.0SDK开发)

不得不说,现在的百度LBS部门是不是没人了啊,时不时的搞出来一些不好用得东西 要做百度的逆地理编码功能,肯定是要先启动百度服务了,这些就不再扯了.  BMKGeoCodeSearch *_geoCodeSearch = [[BMKGeoCodeSearch alloc]init];  _geoCodeSearch.delegate = self; BMKReverseGeoCodeOption *reverseGeoCodeOption= [[BMKReverseGeoCodeOption al

objective-c开发——地图定位之地理编码和地理反编码

我们平时做地图定位,主要是靠经纬度来准确定位某个位置. 但是,我们是人啊,我们不是卫星啊. 用户在地图上查一个地方,我们总不能告诉他,这个地方是东经多少度,北纬多少度吧. 咱们好歹得告诉人家个地名不是? 这就是我们今天说的地理编码和地理反编码. 地理编码:你说个地名,比如“西湖”,我们给你返回它的经纬度,然后你通过查出来的这个经纬度去定位 反地理编码:我告诉你一个经纬度,你通过经度纬度返回地名.最好在插个大头针在地图上就更好了,啥叫大头针,咱们以后再说. 首先,我的界面是这个样纸的,就是两个按钮

地理编码和地理反编码

#import <UIKit/UIKit.h> #import <CoreLocation/CoreLocation.h> @interface ViewController : UIViewController<CLLocationManagerDelegate> { CLLocationManager *_locationManager; CLGeocoder *_geocoder; } @property (strong, nonatomic) IBOutlet

ArcGIS Server-发布地理编码服务

目录(?)[+] 引言 地理编码服务发布 1创建定位器 2定位器发布 3查看发布的服务 在网页调用地理编码服务 1.引言 地理编码服务是指建立地理位置坐标与给定地址的过程,简单的说就是将一个地址的描述信息映射为地图上所对应的空间位置,地理编码服务是GIS中比较重要的一个功能.       有的时候我们知道一个具体的地理坐标,却想知道这个地方的地址,就称作逆地理编码. 2.地理编码服务发布 2.1创建定位器 在Catalog中打开地理编码工具->创建地址定位器 定位器创建成功(我们根据sushel

转载]IOS LBS功能详解[0](获取经纬度)[1](获取当前地理位置文本 )

原文地址:IOS LBS功能详解[0](获取经纬度)[1](获取当前地理位置文本作者:佐佐木小次郎 因为最近项目上要用有关LBS的功能.于是我便做一下预研. 一般说来LBS功能一般分为两块:一块是地理定位,就是获取当前精度.纬度和地理位置的功能,这一部分功能主要用到CoreLocation.Frameworks.一部分就是显示地图信息.丰富地图内容等,这一部分主要用到MapKit.Frameworks.以上这几个功能的测试最好都要在真机上进行.模拟器上定位一般会在Apple的加州总部. 首先介绍

iOS定位服务与地图开发(1)---获取经纬度

定位服务是通过GPS等方式查找定位自己的位置的,再通过地图标注出来. 在iOS中定位服务和地图开发是使用两套API分别完成的. 1.定位服务: iOS系统提供3种不同定位途径: 1>WiFi定位:通过查询一个WiFi路由器的地理位置信息,iPhone.iPod Touch.iPad都可以采用. 2>蜂窝式移动电话基站定位:通过移动运营商基站定位 3>GPS卫星定位:通过3~4颗GPS卫星位置定位,最为准确,但是耗电量大 iOS不像Android系统在定位服务编程时可以指定采用哪种途径进行

猫猫学iOS 之CoreLocation反地理编码小Demo输入经纬度得到城市

猫猫分享,必须精品 原创文章,欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243 一:效果 输入经纬度,能够得到相应的地名 二:思路 跟地里编码差点儿相同 1.获取用户输入的经纬度 2.依据用户输入的经纬度创建CLLocation对象 3.依据CLLocation对象获取相应的地标信息 三:代码 #import "ViewController.h" #import <CoreLocation/CoreLocation.h>