IOS定位
#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定位的更多相关文章
- ios 定位
ios 定位新功能----在程序中实现定位功能 Core Location是iOS SDK中一个提供设备位置的框架.可以使用三种技术来获取位置:GPS.蜂窝或WiFi.在这些技术中,GPS最为精准,如 ...
- IOS定位服务的应用
IOS定位服务的应用 一.授权的申请与设置 二.定位服务相关方法 三.定位服务代理的相关方法 四.定位服务获取到的位置对象 五.航标定位得到的航标信息对象 IOS定位服务的应用 一.授权的申请与设置 ...
- Appium+Python3+iOS定位元素
前言: 最近在做IOS自动化测试,IOS的Appium环境都配置OK,执行起来真的慢,慢到怀疑人生,那么今天就来总结一下IOS定位方式和各个定位方式的速度排序. 据我观察,按查找元素的顺序速度,从快到 ...
- iOS定位原理和使用建议(转)
原文:http://ibbs.91.com/thread-1548870-1-1.html 看到很多网友讨论iOS设备定位的问题,这里将我们所了解的关于iPhone.iPad.iPod等的定位原理做详 ...
- IOS定位核心与地图
IOS定位核心与地图 Core Location以及Map框架包通常能给我们的应用程序添加定位和地图相关的服务.Core Location框架包通常是使用硬件设备来进行 ...
- ios 定位获取当前位置信息
啊,倦怠的人生啊~~ 什么事情都没做一眨眼就2点半了啊!!赶紧爬起来写博客啊. 诸位看官会鄙视我么,表示我真心不是把这当技术文章写的啊. 啊,下午我们来第二篇.获取地理位置信息.嗯嗯,秘籍上说叫逆向地 ...
- iOS定位服务编程详解
现在的移动设备很多都提供定位服务,使用iOS系统的iPhone.iPod Touch和iPad都可以提供位置服务,iOS设备能提供3种不同途径进行定位:Wifi, 蜂窝式移动电话基站, GPS卫星 i ...
- iOS 定位服务、通讯录、日历、提醒事项、照片、蓝牙共享、麦克风、相机等授权检测
金田 iOS系统版本的不断升级的前提,伴随着用户使用设备的安全性提升,iOS系统对于App需要使用的硬件限制也越来越严格,App处理稍有不妥,轻则造成功能不可用用户还不知道,重则会造成App Cras ...
- iOS定位与地图
定位: 手机上定位的实现主要有三种方式:基站(附近基站的位置),wifi(所连接路由器的位置),卫星(最准确,也最耗能). iOS的定位功能主要是由CLLocationManager类来完成的.这个类 ...
- IOS 定位服务与地图的应用开发
1.定位服务 现在的移动设备很多都提供定位服务,IOS设备提供3种不同定位途径: (1)WiFi定位,通过查询一个WiFi路由器的地理位置的信息,比较省电:IPhone,IPod touch和IPad ...
随机推荐
- 初识sqoop
Sqoop 产生背景 Sqoop 的产生主要源于以下几种需求: 1.多数使用 Hadoop 技术处理大数据业务的企业,有大量的数据存储在传统的关系型数据库(RDBMS)中. 2.由于缺乏工具的支持,对 ...
- hive load数据为null
建表语句: CREATE EXTERNAL TABLE IF NOT EXISTS student2 > (sno INT,sname STRING,age INT,sex STRING) &g ...
- WinForm常用属性
Text: 字符串,窗体标题 MaximizeBox: 布尔, 窗体能否最大化 MinimizeBox: 布尔,窗体能否最小化 ShowIcon: 布尔,左上角图标 ShowInTaskbar: 布尔 ...
- ubuntu与centos安装软件的不同点总结
ubuntu与redhat系列的linux操作系统安装软件区别是很大的.下表列出了两者之间的对比.
- mongoDB的安装(一)
0.安装环境说明: linux系统:centos6.5 mongoDB版本:mongodb-linux-x86_64-rhel62-3.2.7.tgz 1.下载 mongoDB的下载:https:// ...
- Ubuntu开发笔记
这些操作在ubuntu14.04.1或者ubuntu12.04.5中进行 首先,安装ubuntu12.04(LTS)版本 安装按照高级安装方式,系统分配40G如下: /dev/sda* ext4 ...
- monkey之monkey简介
1.Monkey 是什么 Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序 ...
- 服务器504——一般情况下是由nginx默认的fastcgi进程响应慢引起的
情况一解决办法: 默认的fastcgi进程响应的缓冲区是8K,我们可以设置大一点,在nginx.conf里,加入:fastcgi_buffers 8 128k 这表示设置fastcgi缓冲区为8块12 ...
- hdoj 2075 A|B?
A|B? Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- [转载]彻底弄清struct和typedef struct
struct和typedef struct 分三块来讲述: 1 首先://注意在C和C++里不同 在C中定义一个结构体类型要用typedef: typedef struct Student { int ...