#import "ViewController.h"
#import <CoreLocation/CoreLocation.h>
@interface ViewController ()<CLLocationManagerDelegate>{
CLLocationManager *_manager;//位置管理器
} @end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad]; if ([CLLocationManager locationServicesEnabled]) { NSLog(@"允许定位"); _manager = [[CLLocationManager alloc] init];//初始化 //判断用户是否选择了位置访问权限
if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusNotDetermined) {
//如果尚未选择,则重新弹出请求
[_manager requestWhenInUseAuthorization];
} //设置代理
_manager.delegate = self; _manager.distanceFilter = ;//设置定位频率多少米访问一次位置 _manager.desiredAccuracy = kCLLocationAccuracyBest;//定位的精确度

/*

extern const CLLocationAccuracy kCLLocationAccuracyBest;//最好的位置精度

extern const CLLocationAccuracy kCLLocationAccuracyNearestTenMeters;最近的10米位置精度

extern const CLLocationAccuracy kCLLocationAccuracyHundredMeters;//几百米的位置精度

extern const CLLocationAccuracy kCLLocationAccuracyKilometer;//几公里

extern const CLLocationAccuracy kCLLocationAccuracyThreeKilometers;//3公里

*/
[_manager startUpdatingLocation];//开始定位 // [self getInfoBuyAddress]; [self getInfoBuyCoordinate];
} }
//定位失败
-(void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error{
NSLog(@"---%@",error);
} -(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{
NSLog(@"===%zi---%@",locations.count,locations); // CLLocation *location = [locations firstObject]; // NSLog(@"纬度:%f,经度:%f",location.coordinate.latitude,location.coordinate.longitude); } //地理编码:根据地址信息,获取其对应的经纬度等信息
-(void)getInfoBuyAddress{ CLGeocoder *geo = [[CLGeocoder alloc] init];//初始化编码管理 //地理编码,传入地址,得到具体信息
[geo geocodeAddressString:@"郑州科技学院" completionHandler:^(NSArray *placemarks, NSError *error) { // NSLog(@"--错误信息:%@",error);
//
// NSLog(@"---数量:%zi 信息:%@",placemarks.count,placemarks); CLPlacemark *place = [placemarks firstObject]; NSLog(@"经纬度:%f,%f",place.location.coordinate.longitude,place.location.coordinate.latitude);//经纬度
NSLog(@"街道:%@",place.ocean); }];
} //反向地理编码:根据经纬度得到位置信息 -(void)getInfoBuyCoordinate{
CLGeocoder *geo = [[CLGeocoder alloc] init]; CLLocation *location = [[CLLocation alloc] initWithLatitude:34.708517 longitude:113.510850];//通过经纬度定义位置对象 //传入位置对象,得到对应的地址信息
[geo reverseGeocodeLocation:location completionHandler:^(NSArray *placemarks, NSError *error) {
NSLog(@"数量:%zi 反向:%@",placemarks.count,placemarks); CLPlacemark *place = [placemarks firstObject]; NSLog(@"经纬度:%f,%f",place.location.coordinate.longitude,place.location.coordinate.latitude);//经纬度
NSLog(@"街道:%@",place.ocean); }];
}

IOS定位的更多相关文章

  1. ios 定位

    ios 定位新功能----在程序中实现定位功能 Core Location是iOS SDK中一个提供设备位置的框架.可以使用三种技术来获取位置:GPS.蜂窝或WiFi.在这些技术中,GPS最为精准,如 ...

  2. IOS定位服务的应用

    IOS定位服务的应用 一.授权的申请与设置 二.定位服务相关方法 三.定位服务代理的相关方法 四.定位服务获取到的位置对象 五.航标定位得到的航标信息对象 IOS定位服务的应用 一.授权的申请与设置 ...

  3. Appium+Python3+iOS定位元素

    前言: 最近在做IOS自动化测试,IOS的Appium环境都配置OK,执行起来真的慢,慢到怀疑人生,那么今天就来总结一下IOS定位方式和各个定位方式的速度排序. 据我观察,按查找元素的顺序速度,从快到 ...

  4. iOS定位原理和使用建议(转)

    原文:http://ibbs.91.com/thread-1548870-1-1.html 看到很多网友讨论iOS设备定位的问题,这里将我们所了解的关于iPhone.iPad.iPod等的定位原理做详 ...

  5. IOS定位核心与地图

    IOS定位核心与地图                 Core Location以及Map框架包通常能给我们的应用程序添加定位和地图相关的服务.Core Location框架包通常是使用硬件设备来进行 ...

  6. ios 定位获取当前位置信息

    啊,倦怠的人生啊~~ 什么事情都没做一眨眼就2点半了啊!!赶紧爬起来写博客啊. 诸位看官会鄙视我么,表示我真心不是把这当技术文章写的啊. 啊,下午我们来第二篇.获取地理位置信息.嗯嗯,秘籍上说叫逆向地 ...

  7. iOS定位服务编程详解

    现在的移动设备很多都提供定位服务,使用iOS系统的iPhone.iPod Touch和iPad都可以提供位置服务,iOS设备能提供3种不同途径进行定位:Wifi, 蜂窝式移动电话基站, GPS卫星 i ...

  8. iOS 定位服务、通讯录、日历、提醒事项、照片、蓝牙共享、麦克风、相机等授权检测

    金田 iOS系统版本的不断升级的前提,伴随着用户使用设备的安全性提升,iOS系统对于App需要使用的硬件限制也越来越严格,App处理稍有不妥,轻则造成功能不可用用户还不知道,重则会造成App Cras ...

  9. iOS定位与地图

    定位: 手机上定位的实现主要有三种方式:基站(附近基站的位置),wifi(所连接路由器的位置),卫星(最准确,也最耗能). iOS的定位功能主要是由CLLocationManager类来完成的.这个类 ...

  10. IOS 定位服务与地图的应用开发

    1.定位服务 现在的移动设备很多都提供定位服务,IOS设备提供3种不同定位途径: (1)WiFi定位,通过查询一个WiFi路由器的地理位置的信息,比较省电:IPhone,IPod touch和IPad ...

随机推荐

  1. ORACLE触发器判断是否更新了某个字段

           今天遇到一个有意思的小问题,一同事有这样一个需求:在更新表T时,如果只是更新字段C,那么不希望触发该该表的触发器去处理业务逻辑.即想在触发器中做出判断:如果更新了字段C,那么跳出触发器, ...

  2. jQuery 中的 39 个技巧

    1.当document文档就绪时执行JavaScript代码. 我们为什么使用jQuery库呢?原因之一就在于我们可以使jQuery代码在各种不同的浏览器和存在bug的浏览器上完美运行. <sc ...

  3. Java 对象初始化

      对象A的创建过程: 1. 构造器实际上是静态方法.当首次创建对象A 或者 A类的静态方法/静态域首次被访问时,Java解释器查找类路径,以定位     A.class文件.(当程序创建第一个对类的 ...

  4. Linux 之 目录和文件

    1  初识 1.1  终端 打开终端: Ctrl + Alt + F1 ~ F6 图形界面: Ctrl + Alt + F7 1.2  命令 1)  一般 date; cal - calendar; ...

  5. UVA11478 Halum [差分约束系统]

    https://vjudge.net/problem/UVA-11478 给定一个有向图,每条边都有一个权值.每次你可以选择一个结点v和一个整数d,把所有以v为终点的边的权值减小d,把所有以v为起点的 ...

  6. 第50课 关于对话框(About)

    1. 关于对话框 (1)标准的桌面应用软件都有一个关于对话框 (2)关于对话框用于标识软件自身的信息.如logo.项目名.版本号.开发者信息.版权信息.联系方式等. 2. 经典设计方案 3. 项目持续 ...

  7. [技术分享] centos如何挂载Windows共享文件

    http://www.iyunv.com/thread-294209-1-1.html 最为linux的初学者,自我感觉都会使用Windows中的文件.在Windows与linux之间互传文件是一个问 ...

  8. codeforces 711E. ZS and The Birthday Paradox 概率

    已知一年365天找23个人有2个人在同一天生日的概率 > 50% 给出n,k ,表示现在一年有2^n天,找k个人,有2个人在同一天生日的概率,求出来的概率是a/b形式,化到最简形式,由于a,b可 ...

  9. Sublime Text 3 3126 注册码 + 下载地址

    Sublime Text 3 3126  下载地址 Windows版本 64位:https://download.sublimetext.com/Sublime%20Text%20Build%2031 ...

  10. MATLAB常用字符串函数之二

    1,lower和upper lower: 将包含的全部字母转换为小写. upper: 将包含的全部字母转化为大写. 实例一: >>str='Sophia is a good girl.'; ...