地图定位
来源:互联网 发布:redhat yum 编辑:程序博客网 时间:2024/05/29 02:21
//1.导入库
//2.配置info.plist
//如果设置了后台定位
#import "ViewController.h"
#import <CoreLocation/CoreLocation.h>
@interface ViewController ()<CLLocationManagerDelegate>
@property (nonatomic ,strong)CLLocationManager *manager;
@end
@implementation ViewController
- (void)viewDidLoad {
[superviewDidLoad];
//1. 创建位置管理器(注意:生命周期)
self.manager = [CLLocationManagernew];
//2.请求授权(注意:配置info.plist)
//应用使用期间定位
[self.managerrequestWhenInUseAuthorization];
//一直定位(app在后台使依然请求定位)
// [self.manager requestAlwaysAuthorization];
//距离筛选器(米),当移动超过上次定位5米之后,才会调用更新定位的函数
// self.manager.distanceFilter = 5;
/*
extern const CLLocationAccuracy kCLLocationAccuracyBestForNavigation 导航专用
extern const CLLocationAccuracy kCLLocationAccuracyBest; 最佳精准度
extern const CLLocationAccuracy kCLLocationAccuracyNearestTenMeters; 十米误差
extern const CLLocationAccuracy kCLLocationAccuracyHundredMeters; 百米误差
extern const CLLocationAccuracy kCLLocationAccuracyKilometer; 千米误差
extern const CLLocationAccuracy kCLLocationAccuracyThreeKilometers; 三千米误差
*/
//设置期望精准度
// self.manager.desiredAccuracy = kCLLocationAccuracyBestForNavigation;
//
// //app进入后台继续定位
if([self.managerrespondsToSelector:@selector(setAllowsBackgroundLocationUpdates:)]) {
self.manager.allowsBackgroundLocationUpdates = YES;
}
//3.设置代理
self.manager.delegate =self;
//4.开始定位
[self.managerstartUpdatingLocation];
}
#pragma mark
#pragma mark 更新定位
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray<CLLocation *> *)locations {
//取出最后一次定位
CLLocation *location = locations.lastObject;
//如果无法打印,重启模拟器
NSLog(@"经度:%f,纬度:%f",location.coordinate.longitude,location.coordinate.latitude);
//停止定位
// [manager stopUpdatingLocation];
/*
typedef struct {
CLLocationDegrees latitude; // 纬度
CLLocationDegrees longitude; // 精度
} CLLocationCoordinate2D;
// 坐标
@property(readonly, nonatomic) CLLocationCoordinate2D coordinate;
// 海拔
@property(readonly, nonatomic) CLLocationDistance altitude;
// 水平精准度(经纬度)
@property(readonly, nonatomic) CLLocationAccuracy horizontalAccuracy;
// 垂直精准度(海拔)
@property(readonly, nonatomic) CLLocationAccuracy verticalAccuracy;
// 朝向(正北 0)
@property(readonly, nonatomic) CLLocationDirection course __OSX_AVAILABLE_STARTING(__MAC_10_7,__IPHONE_2_2) __TVOS_PROHIBITED __WATCHOS_PROHIBITED;
// 速度 m/s
@property(readonly, nonatomic) CLLocationSpeed speed __OSX_AVAILABLE_STARTING(__MAC_10_7,__IPHONE_2_2) __TVOS_PROHIBITED __WATCHOS_PROHIBITED;
// 时间戳
@property(readonly, nonatomic, copy) NSDate *timestamp;
// 楼层
@property(readonly, nonatomic, copy, nullable) CLFloor *floor __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_8_0);
// 描述
@property (nonatomic, readonly, copy) NSString *description;
// 计算距离
- (CLLocationDistance)getDistanceFrom:(const CLLocation *)location __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_NA,__MAC_NA,__IPHONE_2_0,__IPHONE_3_2) __TVOS_PROHIBITED __WATCHOS_PROHIBITED;
// 计算距离
- (CLLocationDistance)distanceFromLocation:(const CLLocation *)location __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_3_2);
*/
}
@end
- 地图定位
- 地图定位
- 地图定位
- 地图定位
- 地图、定位
- 地图定位
- 地图定位
- 地图定位
- 地图定位
- 地图定位
- 地图定位
- 地图定位
- 地图定位
- 地图定位
- 地图定位
- 百度地图 定位 地图
- 百度地图定位,高德地图定位
- android百度地图:地图定位
- Centos 7 下LAMP环境调试搭配(+phpmyadmin+phpstorm)
- HDU 3683 Gomoku(模拟)
- Objective-C isa 指针 与 runtime 机制
- "library not found for - "解决办法
- webpack(二)配置
- 地图定位
- 使用 Swift 创建简单的二维码扫描应用
- Swift 语言面面观(一)
- 51Nod-1315-合法整数集
- Swift 语言面面观(二)
- Solr6-踩坑
- 增、删、改、查
- GitHub上传常见问题
- GitHub上传本地文件(Windows)