`
iaiai
  • 浏览: 2196008 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

IOS 用内置代码获取定位信息

 
阅读更多
xxx.h:
#import <UIKit/UIKit.h>
#import "BaseViewController.h"
#import <CoreLocation/CoreLocation.h>

@interface ViewController : BaseViewController<CLLocationManagerDelegate>

@property(nonatomic,retain) CLLocationManager* locationManager;

- (IBAction)onSubmit:(UIButton *)sender;

@end


xxx.m:
#import "ViewController.h"
#import <CoreLocation/CoreLocation.h>

@implementation ViewController

@synthesize locationManager;

- (void)viewDidLoad{
    [super viewDidLoad];
    
        // 判断定位操作是否被允许
    if([CLLocationManager locationServicesEnabled]) {
        locationManager = [[CLLocationManager alloc] init];
//        locationManager.distanceFilter = 1; //设置距离筛选器distanceFilter,表示设备至少移动1000米,才通知委托更新
        locationManager.distanceFilter = kCLDistanceFilterNone;   //这是默认,就是不做这个限制,可能会不断更新


        locationManager.delegate = self;

        // 开始定位
        [locationManager startUpdatingLocation];
    }else {
        //提示用户无法进行定位操作
    }
}

-(void) viewDidUnload{
    [LogUtil d:@"viewDidUnload"];
    [self.locationManager stopUpdatingLocation];
}

-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{
    //此处locations存储了持续更新的位置坐标值,取最后一个值为最新位置,如果不想让其持续更新位置,则在此方法中获取到一个值之后让locationManager stopUpdatingLocation
    CLLocation *currentLocation = [locations lastObject];
    
    CLLocationCoordinate2D coord = currentLocation.coordinate;
//    [LogUtil d:@"%f",coord.latitude];
//    [LogUtil d:@"%f",coord.longitude];
    //[self.locationManager stopUpdatingLocation];
}

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
//    [LogUtil d:@"%f",newLocation.coordinate.latitude];
//    [LogUtil d:@"%f",newLocation.coordinate.longitude];
}

- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error {
    if (error.code == kCLErrorDenied) {
        // 提示用户出错原因,可按住Option键点击 KCLErrorDenied的查看更多出错信息,可打印error.code值查找原因所在
    }
}

@end
分享到:
评论

相关推荐

    ios 自带的定位。

    在iOS开发中,苹果提供了内置的定位服务框架Core Location,使得开发者可以轻松地在应用程序中集成定位功能。本文将深入探讨iOS自带的定位服务,并基于提供的`mapViewController`这一文件名称,推测这是一个与地图和...

    ios自带的定位

    在iOS开发中,苹果提供了内置的Core Location框架,使得开发者能够轻松地集成定位功能到自己的应用中。这个框架允许我们获取设备的地理位置信息,包括经纬度、海拔、速度和方向等。下面我们将深入探讨如何使用iOS...

    ios服务端 + 客户端代码实例

    在服务端,可以使用如Log4j这样的日志框架,而在iOS客户端,可以利用Xcode的内置调试工具和NSLog或swift的print函数来输出信息。 总之,"ios服务端 + 客户端代码实例"是一个涵盖服务端开发、数据库管理、客户端网络...

    ios8 百度定位

    在iOS 8中使用百度定位,你需要先在百度开放平台注册并获取API密钥(AK),然后将百度地图SDK集成到你的项目中。 集成百度地图SDK的过程通常包括以下几个步骤: 1. 下载百度地图SDK:从百度官方开发者网站下载适用...

    SuperMap iMobile for iOS 超图云地图中实现GPS定位

    GPS定位是移动应用中的基础功能,它依赖于设备内置的GPS模块获取实时地理位置信息。在超图云地图中实现GPS定位,我们需要做以下几个关键步骤: 1. **初始化地图**:首先,我们需要创建一个地图视图,并加载超图云...

    疯狂的ios讲义下册光盘代码

    9. **地图与定位服务**:集成MapKit框架可以让应用显示地图,获取用户位置,并提供导航功能。学习者将学习如何使用MKMapView和CLLocationManager。 10. **推送通知**:通过UserNotifications框架,开发者可以向用户...

    ios中右侧索引定位中文联系人

    标题“ios中右侧索引定位中文联系人”和描述“ios中右侧索引定位中文联系人的demo.”表明我们将讨论如何在iOS应用中实现这样一个功能,并提供了一个相关的示例项目名为"MyTableViewIndex"。 首先,我们要理解这个...

    代码模拟点击反控iOS页面

    然而,需要注意的是,由于苹果在iOS 9之后弃用了UIAutomation,现在的自动化测试更多地转向了Xcode内置的XCTest框架。XCTest提供了更强大且安全的API,支持Swift和Objective-C编写测试用例,同时也可以模拟用户交互...

    Unity 在安卓IOS等移动设备环境下的log查看解决方案

    在开发Unity游戏或应用并将其部署到Android或iOS等移动设备时,日志(Log)的查看对于调试和问题定位至关重要。本方案将探讨如何在这些平台上有效地查看和分析Unity的运行日志。 首先,Unity引擎在运行时会产生各种...

    ios11.4真机调试包

    这些工具可以帮助开发者定位和修复代码中的错误,优化性能,以及监控内存使用情况。 7. **测试计划**:在真机调试阶段,开发者应制定详尽的测试计划,覆盖各种使用场景,包括正常操作、边界条件和异常情况。通过...

    The iOS Apprentice 3 MyLocations v2.1

    9. **测试和调试**:了解如何使用Xcode的内置调试工具,如Instruments,来检查性能问题和定位错误,确保应用的稳定性和效率。 10. **App Store发布流程**:教程可能还会涵盖应用的打包、签名和提交到App Store的...

    app内打开第三方地图进行导航iOS

    这不仅能够丰富应用的功能,还能利用这些专业地图服务的精准定位和实时交通信息,提高用户体验。以下将详细介绍如何在iOS app内实现这个功能。 一、集成准备 1. 获取权限:在Info.plist文件中添加相应的权限,例如...

    iOS游戏应用源代码——iosdeveloper-TwitterFeed-d779d5a.zip

    开发者可能会使用Xcode内置的 Instruments工具来定位性能问题,或利用 XCTest 进行单元测试和UI测试,确保代码质量和应用稳定性。 综上所述,这个项目涵盖了Swift编程、Twitter API集成、网络请求、JSON解析、图形...

    iOS12.2真机调试包

    8. **错误日志与Crash Report**:真机调试可以帮助开发者获取设备上的错误日志和崩溃报告,这些信息对于定位和解决问题至关重要。 9. **实时性能监控**:在真机调试时,开发者可以实时监控应用的CPU、内存、网络等...

    IOS车库管理(毕业设计+服务器代码)

    5. **定位**:用户可以使用GPS定位服务,找到自己车辆的具体位置,便于取车。同时,应用还能提供室内导航指引,帮助用户顺利驶出车库。 6. **服务器代码**:这部分代码是整个系统的中枢,负责处理客户端请求,管理...

    iOS开发秘籍中文版 iOS 5 Programming Cookbook

    10. **Location Services**:利用iOS 5的定位服务,开发者可以创建基于地理位置的应用,书中会讲解如何获取和处理GPS数据,以及如何使用Core Location框架。 通过阅读《iOS 5 Programming Cookbook》,开发者不仅...

    iOS四万公里

    开发者可以通过Storyboard或代码创建美观且易于使用的界面,展示旅行信息,如目的地介绍、照片滑动视图等。 除此之外,iOS的推送通知服务可以提醒用户关于旅行的更新或提醒,如天气变化、交通信息等。HealthKit和...

    ios10.1真机调试包

    3. **崩溃日志**:如果应用崩溃,查看Xcode中的设备日志和崩溃报告,以获取错误信息。 4. **设备兼容性**:确认应用不使用iOS10.1之后才引入的API,以确保老版本设备兼容。 通过以上步骤和技巧,开发者可以充分利用...

    iOS崩溃日志收集

    5. **获取设备信息**:崩溃日志中通常包含设备类型、操作系统版本、内存使用情况等信息,这对于分析问题是否与特定设备或系统版本有关很有帮助。 6. **用户反馈集成**:除了系统生成的崩溃日志,还可以通过集成第三...

    IOS 典型实例大全源代码下册3

    iOS系统内置了多种传感器,如加速度计、陀螺仪、磁力计、光线传感器、接近传感器等,这些都为我们提供了丰富的数据来实现各种创新功能。 1. 加速度计:用于检测设备的线性加速度,例如识别设备的移动、晃动或摇摆,...

Global site tag (gtag.js) - Google Analytics