热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

IOS9之当前位置定位

2019独角兽企业重金招聘Python工程师标准#import*.h文件中导入以下两个框架*#import

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

#import 
/*.h 文件中导入以下两个框架*/
#import 
#import 
@interface CurentLocation : NSObject
@property(nonatomic,strong) CLLocationManager *locaManager;
//获取定位信息
-(void)getUSerLocation;
+ (CurentLocation *)sharedManager;
@end/*.m文件中实现代码如下*/
#import "CurentLocation.h"@implementation CurentLocation
//定位回调代理
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{for(CLLocation *location in locations){NSLog(@"---------%@-------",location);}CLLocation *currLocation=[locations lastObject];CLGeocoder *geoCoder = [[CLGeocoder alloc]init];//反向解析,根据及纬度反向解析出地址CLLocation *location = [locations objectAtIndex:0];[geoCoder reverseGeocodeLocation:location completionHandler:^(NSArray *placemarks, NSError *error) {for(CLPlacemark *place in placemarks){//取出当前位置的坐标NSLog(@"latitude : %f,longitude: %f",currLocation.coordinate.latitude,currLocation.coordinate.longitude);NSString *latStr = [NSString stringWithFormat:@"%f",currLocation.coordinate.latitude];NSString *lngStr = [NSString stringWithFormat:@"%f",currLocation.coordinate.longitude];NSDictionary *dict = [place addressDictionary];NSMutableDictionary *resultDic = [[NSMutableDictionary alloc] init];[resultDic setObject:dict[@"SubLocality"] forKey:@"xian"];[resultDic setObject:dict[@"City"] forKey:@"shi"];[resultDic setObject:latStr forKey:@"wei"];[resultDic setObject:lngStr forKey:@"jing"];[resultDic setObject:dict[@"State"] forKey:@"sheng"];[resultDic setObject:dict[@"Name"] forKey:@"all"];NSLog(@"------addressDictionary-%@------",dict);[[NSUserDefaults standardUserDefaults] setObject:dict[@"SubLocality"] forKey:@"XianUser"];[[NSUserDefaults standardUserDefaults] setObject:resultDic forKey:@"LocationInfo"];[[NSUserDefaults standardUserDefaults] synchronize];}}];
}
#pragma mark - 检测应用是否开启定位服务
- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error
{[manager stopUpdatingLocation];switch([error code]) {case kCLErrorDenied:[self openGPSTips];break;case kCLErrorLocationUnknown:break;default:break;}
}-(void)openGPSTips{UIAlertView *alet = [[UIAlertView alloc] initWithTitle:@"当前定位服务不可用" message:@"请到“设置->隐私->定位服务”中开启定位" delegate:self cancelButtonTitle:nil otherButtonTitles:@"确定", nil];[alet show];
}
//获取定位信息
-(void)getUSerLocation{//初始化定位管理类_locaManager = [[CLLocationManager alloc] init];//delegate_locaManager.delegate = self;//The desired location accuracy.//精确度_locaManager.desiredAccuracy = kCLLocationAccuracyBest;//Specifies the minimum update distance in meters.//距离_locaManager.distanceFilter = 10;if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0){[_locaManager requestWhenInUseAuthorization];[_locaManager requestAlwaysAuthorization];}//开始定位[_locaManager startUpdatingLocation];
}
+ (CurentLocation *)sharedManager{static CurentLocation *sharedAccountManagerInstance = nil;static dispatch_once_t predicate;dispatch_once(&predicate, ^{sharedAccountManagerInstance = [[self alloc] init];});return sharedAccountManagerInstance;
}
@end



转:https://my.oschina.net/LiuChongYang/blog/516304



推荐阅读
  • 本文详细介绍了Java中org.neo4j.helpers.collection.Iterators.single()方法的功能、使用场景及代码示例,帮助开发者更好地理解和应用该方法。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • 本文详细介绍了Java中org.eclipse.ui.forms.widgets.ExpandableComposite类的addExpansionListener()方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。这些示例来源于多个知名开源项目,具有很高的参考价值。 ... [详细]
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本文深入探讨了 Java 中的 Serializable 接口,解释了其实现机制、用途及注意事项,帮助开发者更好地理解和使用序列化功能。 ... [详细]
  • 本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • 本文详细介绍了如何构建一个高效的UI管理系统,集中处理UI页面的打开、关闭、层级管理和页面跳转等问题。通过UIManager统一管理外部切换逻辑,实现功能逻辑分散化和代码复用,支持多人协作开发。 ... [详细]
  • python的交互模式怎么输出名文汉字[python常见问题]
    在命令行模式下敲命令python,就看到类似如下的一堆文本输出,然后就进入到Python交互模式,它的提示符是>>>,此时我们可以使用print() ... [详细]
  • 在前两篇文章中,我们探讨了 ControllerDescriptor 和 ActionDescriptor 这两个描述对象,分别对应控制器和操作方法。本文将基于 MVC3 源码进一步分析 ParameterDescriptor,即用于描述 Action 方法参数的对象,并详细介绍其工作原理。 ... [详细]
  • 探讨一个显示数字的故障计算器,它支持两种操作:将当前数字乘以2或减去1。本文将详细介绍如何用最少的操作次数将初始值X转换为目标值Y。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 本文介绍如何使用 Python 将一个字符串按照指定的行和元素分隔符进行两次拆分,最终将字符串转换为矩阵形式。通过两种不同的方法实现这一功能:一种是使用循环与 split() 方法,另一种是利用列表推导式。 ... [详细]
author-avatar
黑暗中的数字
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有