iOS-地图定位 && 解码与反解码
- MapKit:用于地图展示
- Core
Location :用于地理定位
- CoreLocation框架使用须知
- CoreLocation框架中所有数据类型的前缀都是CL
- CoreLocation中使用CLLocationManager对象来做用户定位
配置plist文件NSLocationWhenInUseUsageDescription
配置plist文件NSLocationAlwaysUsageDescription
代码如下:
#import "ViewController.h"
#import <CoreLocation/CoreLocation.h>
@interface ViewController ()<CLLocationManagerDelegate>
@property (nonatomic, strong) CLLocationManager *locationManager;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
[self location];
}
-(void)location{
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
if ([[UIDevice currentDevice].systemVersion floatValue] >= 8.0) {
[self.locationManager requestWhenInUseAuthorization];
}
[self.locationManager startUpdatingLocation];
}
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray<CLLocation *> *)locations{
NSLog(@"%@",locations);
//[self.locationManager stopUpdatingLocation];
}
- 当调用了startUpdatingLocation方法后,就开始不断地定位用户的位置,中途会频繁地调用代理的下面方法
- - (void)locationManager:(CLLocationManager*)managerdidUpdateLocations:(NSArray*)locations;
- locations参数里面装着CLLocation对象
- @property(assign,nonatomic)CLLocationDistancedistanceFilter;
- 每隔多少米定位一次
- @property(assign,nonatomic)CLLocationAccuracydesiredAccuracy;
- 定位精确度(越精确就越耗电)
- @property(readonly,nonatomic)CLLocationCoordinate2D coordinate;
- 经纬度
- @property(readonly,nonatomic)CLLocationDistance altitude;
- 海拔
- @property(readonly,nonatomic)CLLocationDirection course;
- 路线,航向(取值范围是0.0°~359.9°,0.0°代表真北方向)
- @property(readonly,nonatomic)CLLocationSpeed speed;
- 行走速度(单位是m/s)
- 用- (CLLocationDistance)distanceFromLocation:(constCLLocation*)
location方法可以计算2个位置之间的距离
= [[CLLocationalloc]initWithLatitude:80longitude:100];
= [[CLLocationalloc]initWithLatitude:60longitude:100];
= [locationFirst
distanceFromLocation:locationSecond];
km ",distance/1000);
- 用户的位置
- 用户的通讯录、日历、相机、相册等
- 使用CLGeocoder可以完成“地理编码”和“反地理编码”
- 地理编码:根据给定的地名,获得具体的位置信息(比如经纬度、地址的全称等)
- 反地理编码:根据给定的经纬度,获得具体的位置信息
- 地理编码方法
- - (void)geocodeAddressString:(NSString*)addressStringcompletionHandler:(CLGeocodeCompletionHandler)completionHandler;
- 反地理编码方法
- typedefvoid(^CLGeocodeCompletionHandler)(NSArray*placemarks,NSError*error);
- @property(nonatomic,readonly)CLLocation*location;
- 地理位置
- @property(nonatomic,readonly)CLRegion*region;
- 区域
- @property(nonatomic,readonly)NSDictionary*addressDictionary;
- 详细的地址信息
- @property(nonatomic,readonly)NSString*name;
- 地址名称
- @property(nonatomic,readonly)NSString*locality;
- 城市
解码和反解码的一个非常简单的demo在我的github上,有兴趣的可以去看看。
https://github.com/yscGit/MapCodeUncode
iOS-地图定位 && 解码与反解码的更多相关文章
- iOS | 地图定位
在IOS开发中,最常见的功能之一就是地图定位功能,不单单是百度地图,高德地图等专业的地图导航软件,还有美团,咕咚等一些美食购物类和运动类也需要这样的功能,所以学会这项技能是一名IOS开发工程师必须的. ...
- iOS地图 -- 定位初使用
iOS的定位服务用到的框架是#import <CoreLocation/CoreLocation.h> 定位中用到的类是CLLocationManager 一.iOS8.0之前的定位 向用 ...
- 关于iOS地图定位中点击设置->隐私->定位服务 闪退问题
iOS8之后,如果应用中用到了地图定位,那么点击设置->隐私->定位服务 再点击该应用有时候会出现闪退问题,其原因是iOS8之后定位中添加了 NSLocationWhenInUseDesc ...
- iOS 地图定位及大头针的基本使用
地图 Part1 - 定位及大头针的基本使用 一.MapKit 作用 : 用于地图展示 如大头针,路线,覆盖层展示等(着重界面展示) 使用步骤 导入头文件 #import <MapKit/Map ...
- iOS地图 -- 地理编码和反地理编码
地理编码和反地理编码 用到的类和方法 CLGeocoder --> 地理编码管理器 - (void)geocodeAddressString:(NSString *)addressString ...
- iOS地图 -- 定位中的CLLocation的介绍与小练习
通过定位练习,熟悉CLLocation 在上篇笔记中提到了CLLocation类,这里通过练习来讲解一下这个类,类中包含了获取到的用户位置的信息 coordinate --> 坐标,经度和纬度 ...
- ios8版本地图定位注意点
学习ios地图定位 我先定义一个属性: @property (weak, nonatomic) IBOutlet MKMapView *mapV; 然后在项目运行时初始化该属性一些参数: //设置地图 ...
- iOS之定位与地图
概览 现在很多社交.电商.团购应用都引入了地图和定位功能,似乎地图功能不再是地图应用 和导航应用所特有的.的确,有了地图和定位功能确实让我们的生活更加丰富多彩,极大的改变了我们的生活方式.例如你到了一 ...
- 地图定位CoreLocation框架,地理位置编码与反编码
在现代互联网时代,越来越多的应用,都用到了地图定位功能,在iOS开发中,想要加入这种功能,必须基于两个框架进行开发: 1.Map Kit:用于显示地图, 2.CoreLocation:用于显示地理位置 ...
随机推荐
- flex和flex:1的含义
一.flex详解 flex可以参考阮一峰老师的flex布局教程,很详细看完啥都懂了 链接:http://www.ruanyifeng.com/blog/2015/07/flex-grammar.htm ...
- maven打包相关配置
1.在pom.xml中进行如下配置: <build> <plugins> <plugin> <groupId>org.springframework.b ...
- Gym101630L Laminar Family
题目链接:https://cn.vjudge.net/problem/Gym-101630L 题目大意: 对于一个集合的集合,若其中任意两个集合 \(A\) 和 \(B\) 都满足下述三个条件之一:\ ...
- 26-13 order by排序
表中数据是集合,集合是没有顺序的.order by返回的数据是有顺序的,故此我们把order by以后返回的数据集合叫“游标”. --------------------------通过order b ...
- 第3章_关系数据库标准语言(SQL)_006_由元组关系演算到SQL Command_001_蕴含式 (其中有对EXISTS的分析)
前序的链接:元组关系演算 六. 蕴含式 ===>1. 什么是“蕴含式”===>设p.q为两个命题.复合命题“如果p,则q”称为p与q的蕴含式,记作p→q,并称p为蕴含式的前件,q为后件.定 ...
- (八)Filter&ThreadLocal实现处理事务
ConnectionContext.java package com.aff.bookstore.web; import java.sql.Connection; public class Conne ...
- python requests用于测试
https://blog.csdn.net/niedongri/article/details/71404314 https://blog.csdn.net/temanm/article/detail ...
- 深度学习入门: CNN与LSTM(RNN)
1. 理解深度学习与CNN: 台湾李宏毅教授的入门视频<一天搞懂深度学习>:https://www.bilibili.com/video/av16543434/ 其中对CNN算法的矩阵卷积 ...
- Hello, CTF
0x01 拿到题目后查壳,发现什么也没有,32位vc++ 0x02 放到IDA里,F5反编译,得到下图 很容易我们就看到了比较的函数,以及出现wrong和success的字符串,所以接下来就是仔细分析 ...
- python基本操作-文件、目录及路径
目录 1 前言 2 文件夹操作 2.1 查询操作 2.2 创建操作 2.3 删除操作 2.4 修改操作 3 文件操作 3.1 查询操作 3.2 创建操作 3.3 修改操作 3.4 删除 4 路径操作 ...