关于原生API定位的代码

首先要添加库CoreLocation.framework

然后需要在info.plist里添加两项NSLocationWhenInUseUsageDescription和NSLocationAlwaysUseUsageDescription后边的value随便写点就行

这是询问当前设备是否可以访问位置权限,

#import "ViewController.h"

#import <CoreLocation/CoreLocation.h>

@interfaceViewController ()<CLLocationManagerDelegate>

@property (strong,nonatomic) CLLocationManager *locationManager;

@property (strong,nonatomic) UILabel *lab;

@property (strong,nonatomic) UILabel *lab2;

@end

@implementation ViewController

@synthesize lab,lab2;

- (void)viewDidLoad {

    [superviewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.

    

    lab = [[UILabelalloc] initWithFrame:CGRectMake(100, 100, 300, 50)];

    lab.text = @"经度";

    [self.viewaddSubview:lab];

    

    lab2 = [[UILabelalloc] initWithFrame:CGRectMake(100, 200, 300, 50)];

    lab2.text = @"纬度";

    [self.viewaddSubview:lab2];

    

    UIButton *btn = [[UIButtonalloc] initWithFrame:CGRectMake(150, 50, 100, 50)];

    [btn setTitle:@"定位"forState:UIControlStateNormal];

    [btn setTitleColor:[UIColorredColor] forState:UIControlStateNormal];

    [btn addTarget:selfaction:@selector(Location:) forControlEvents:UIControlEventTouchUpInside];

    [self.viewaddSubview:btn];

    

//    实例化

    

}

-(void) Location:(id) sender

{

//    判断是否可用定位服务

    if ([CLLocationManagerlocationServicesEnabled]) {

        NSLog(@"Star location");

        //设置定位精度  最佳精度

//        self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;

        

        //设置距离过滤器为10米,表示每移动10米,更新一次数据

//        self.locationManager.distanceFilter = 50;

        

        self.locationManager = [[CLLocationManageralloc] init];

        

        self.locationManager.delegate = self;

        

        //访问是否可以定位  重点!!!!!!!!!!!!!!!!!!!搭配info.plist使用的,必须有

        if ([self.locationManagerrespondsToSelector:@selector(requestWhenInUseAuthorization)]) {

            [self.locationManagerrequestWhenInUseAuthorization];

            [self.locationManagerrequestAlwaysAuthorization];

        }

        

        //开始监听位置

        [self.locationManagerstartUpdatingLocation];

        

    }

    else

    {

        NSLog(@"UNSUPPORTED");

    }

}

#pragma mark CLLocationManagerDelegate

-(void) locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray*)locations

{

    NSLog(@"获取数据啊");

    //获取最后一个定位数据

    CLLocation *location = [locations lastObject];

    

    //依次获取  经度,纬度,高度,速度,方向等

    

    lab2.text = @"ddd";

    

    lab.text = [NSStringstringWithFormat:@"%f",location.coordinate.longitude];

    

    lab2.text = [NSStringstringWithFormat:@"%f",location.coordinate.latitude];

    

    

}

//实时更新数据

-(void) locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status

{

//    NSLog(@"获取数据啊");

    

    

}

-(void) locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error

{

    NSLog(@"Failed");

}

- (void)didReceiveMemoryWarning {

    [superdidReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}

@end

 

时间: 2024-11-07 17:29:19

关于原生API定位的代码的相关文章

Android应用中使用百度地图API定位自己的位置(二)

官方文档:http://developer.baidu.com/map/sdkandev-6.htm#.E7.AE.80.E4.BB.8B3 百度地图SDK为开发者们提供了如下类型的地图覆盖物: 我的位置图层(MyLocationOverlay):用于显示用户当前位置的图层(支持自定义位置图标): Poi搜索结果图层(PoiOverlay):用于显示兴趣点搜索结果的图层: 路线图层(RouteOverlay):公交.步行和驾车线路图层,将公交.步行和驾车出行方案的路线及关键点显示在地图上(起.终

(原) 2.1 Zookeeper原生API使用

本文为原创文章,未经允许不得转载 Zookeeper原生API使用 1.jar包引入,演示版本为3.4.6,非maven项目,可以下载jar包导入到项目中 <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.6</version> </dependency> 2.

使用IOS7原生API进行二维码条形码的扫描

使用IOS7原生API进行二维码条形码的扫描 IOS7之前,开发者进行扫码编程时,一般会借助第三方库.常用的是ZBarSDK,IOS7之后,系统的AVMetadataObject类中,为我们提供了解析二维码的接口.经过测试,使用原生API扫描和处理的效率非常高,远远高于第三方库. 一.使用方法示例 官方提供的接口非常简单,代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

Spring MVC 使用Servlet原生API作为参数

具体看代码: 1 @RequestMapping("/testServletAPI") 2 public void testServletAPI(HttpServletRequest request, 3 HttpServletResponse response,HttpSession session, 4 Write r out) throws IOException{ 5 System.out.println(request); 6 System.out.println(respo

注解 @RequestParam,@RequestHeader,@CookieValue,Pojo,servlet原生API

[email protected] 我们的超链接:<a href="springMvc/testRequestParam">testRequestParam</a><br/> /** * * @param username * @param age * @return * 1.没有加required=false, * 这样访问会报错,如果加了的话,数据类型是int,必须加defaultValue="0" * 否则也会报错,要么将数

IOS7使用原生API进行二维码和条形码的扫描

使用IOS7原生API进行二维码条形码的扫描 IOS7之前,开发者进行扫码编程时,一般会借助第三方库.常用的是ZBarSDK,IOS7之后,系统的AVMetadataObject类中,为我们提供了解析二维码的接口.经过测试,使用原生API扫描和处理的效率非常高,远远高于第三方库. 一.使用方法示例 官方提供的接口非常简单,代码如下: @interface ViewController ()<AVCaptureMetadataOutputObjectsDelegate>//用于处理采集信息的代理

Zookeeper学习(三) 客户端和原生API

前言 在这篇博客里我会主要总结下两个部分的操作: 在安装ZooKeeper的机器上利用ZKClient连接Zookeeper的集群,然后利用相应的命令做一些简单的操作.相信很多没有接触过Zookeeper的同学对第一篇简介里的哪些ZNode等等一些概念其实不是那么清楚,但是经过实际操作后会深入了解许多. 简单介绍下做的一个小demo,介绍了一下对Zookeeper原生API的使用.我们实际项目中用的是Curator的接口,但是原生API是根本.顺便也会提一下我们利用Zookeeper做的事-简单

使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用

使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用 选择调用的进程为 24 i386 getuid sys_getuid1647 i386 getgid sys_getgid16 使用库函数API方式 使用C代码中嵌入汇编代码方式

ZooKeeper实现配置中心的实例(原生API实现)(转)

说明:要实现配置中心的例子,可以选择的SDK有很多,原生自带的SDK也是不错的选择.比如使用I0Itec,Spring Boot集成等. 大型应用通常会按业务拆分成一个个业务子系统,这些大大小小的子应用,往往会使用一些公用的资源,比如:需要文件上传.下载时,各子应用都会访问公用的Ftp服务器.如果把Ftp Server的连接IP.端口号.用户名.密码等信息,配置在各子应用中,然后这些子应用再部署到服务器集群中的N台Server上,突然有一天,Ftp服务器要换IP或端口号,那么问题来了?),而是如