热门标签 | 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



推荐阅读
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了iOS核心笔记—CoreLocation框架-基础相关的知识,希望对你有一定的参考价值。1、 ... [详细]
  • IOS开发之短信发送与拨打电话的方法详解
    本文详细介绍了在IOS开发中实现短信发送和拨打电话的两种方式,一种是使用系统底层发送,虽然无法自定义短信内容和返回原应用,但是简单方便;另一种是使用第三方框架发送,需要导入MessageUI头文件,并遵守MFMessageComposeViewControllerDelegate协议,可以实现自定义短信内容和返回原应用的功能。 ... [详细]
  • IOS开发之百度地图API环境搭建 ... [详细]
  • Ihavemanyannotationsinamapview(withrightCalloutAccessorybuttons).Thebuttonwillperforma ... [详细]
  • iOS 百度地图开发集成使用 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 本文介绍了如何在方法参数中指定一个对象的协议,以及如何调用符合该协议的方法。以一个具体的示例说明了如何在方法参数中指定一个UIView子类对象,并且该对象需要符合PixelUI协议,同时方法需要能够访问该对象的属性。 ... [详细]
  • 开发笔记:实验7的文件读写操作
    本文介绍了使用C++的ofstream和ifstream类进行文件读写操作的方法,包括创建文件、写入文件和读取文件的过程。同时还介绍了如何判断文件是否成功打开和关闭文件的方法。通过本文的学习,读者可以了解如何在C++中进行文件读写操作。 ... [详细]
  • 使用C++编写程序实现增加或删除桌面的右键列表项
    本文介绍了使用C++编写程序实现增加或删除桌面的右键列表项的方法。首先通过操作注册表来实现增加或删除右键列表项的目的,然后使用管理注册表的函数来编写程序。文章详细介绍了使用的五种函数:RegCreateKey、RegSetValueEx、RegOpenKeyEx、RegDeleteKey和RegCloseKey,并给出了增加一项的函数写法。通过本文的方法,可以方便地自定义桌面的右键列表项。 ... [详细]
  • MRMapViewController.mCoreLocation&MapKitCreatedbyMr.Roboton201786. ... [详细]
  • iPhoneSDK提供了三个类来管理位置信息:CLLocationCLLocationManager和CLLHeading(不常用)。除了使用GPS来获取当前的位置信息外,iPho ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
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社区 版权所有