ios中Core Location跟Map Kit的基本使用
地图类开发应用中,离不开地理位置跟MKMapView的使用,下面就记录下自己在使用这两个东西中学到的。
不过并不是所有苹果的设备都支持地理位置,我们在使用前应该做个判断,代码如下:
BOOL locationAvailabe = [CLLocationManager locationServicesEnabled];
BOOL magnetometerAvailable = [CLLocationManager headingAvailable];
在地理位置中,我们用到主要类就是:CLLocationManager,关于它的常见代码如下:
CLLocationManager *locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.distanceFilter = ; // 1km
locationManager.desiredAccuracy = kCLLocationAccuracyKilometer;
if ([CLLocationManager locationServicesEnabled] ) {
[locationManager startUpdatingLocation];
} else {
NSLog(@"Location services not enabled.");
}
通过设置distancFilter我们可以做到只有位置变动在1公里以上的时候才会进行通知,然后我们通过设置delegate,实现自己相应的逻辑,常见实现的两个协议如下:
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
NSLog(@"Moved from %@ to %@", oldLocation, newLocation);
}
- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error {
NSLog(@"Received Core Location error %@", error);
[manager stopUpdatingLocation];
}
上面就是关于地理位置的常见用法,当然还有CLLocationCoorinate2D类,这是一个关于区域的地理类。
好了,接下来说说MKMapView这个控件,这是一个地图应用常规控件,常用代码如下:
MKMapView.layer.cornerRadius = 10.0; //园角
MKMapView。showsUserLocation = YES;
[MKMapView setRegion: animated:] //使地图显示哪个区域附近的信息
如果我们想在地图控件插上大头针,应该怎么做呢,专业术语就是:Annotating Maps,显示效果如下:

那如何来做到这一点呢,其实关键是我们要实现一个协议,此协议名是:MKAnnotation。
然后通过如下代码
[MKMapView addAnnotation:]
把这个annotation加入到MapView中,运行查看就是上面图中的效果了。
ios中Core Location跟Map Kit的基本使用的更多相关文章
- iOS开发-Core Location和Map Kit
一.Core Location确定物理位置 利用以下3种技术: 1.GPS(最精确的) 2.蜂窝基站ID定位(cell ID Location) 3.WPS(Wi-Fi Positioning Ser ...
- ios中core Plot (2)
#import "ViewController.h" @interface ViewController () //指定要画得view @property(nonatomic,as ...
- Core Location Framework学习
在Apple开发中,尤其是移动设备开发,经常会使用Core Location Framework,这个框架可以使得iOS设备获取当前的地理位置.本文就具体到Core Location 框架中,查看其声 ...
- iOS 苹果自带地图定位Core Location
Core Location是iOS SDK中一个提供设备位置的框架.可以使用三种技术来获取位置:GPS.蜂窝或WiFi.在这些技术中,GPS最为精准,如果有GPS硬件,Core Location将优先 ...
- 关于Core Location-ios定位
IOS中的core location提供了定位功能,能定位装置的当前坐标,同一时候能得到装置移动信息.由于对定位装置的轮询是非常耗电的,所以最好仅仅在非常必要的前提下启动. 当中,最重要的类是CLLo ...
- IOS开发之Core Location
IOS 支持三种检测当前位置的方式:手机基站.Wi-Fi.和GPS,其中GPS是经度最高的,同时也是最耗费手机电量的.一般情况下在室内是无法通过GPS获 取位置信息的,通过Wi-Fi获取位置的原理是通 ...
- Core Location :⽤用于地理定位
Core Location :⽤用于地理定位 在移动互联⽹网时代,移动app能解决⽤用户的很多⽣生活琐事,⽐比如 导航:去任意陌⽣生的地⽅方 周边:找餐馆.找酒店.找银⾏行.找电影院 在上述应⽤用中, ...
- Core Location和MapKit的一些简单使用
Core Location 1. 基本对象是CLLocation,有属性coordinate, altitude, horizontal/vertical Accuracy, timestamp, ...
- 关于ios中的文本操作-简介
来源:About Text Handling in iOS 官方文档 iOS平台为我们提供了许多在app中展示文本和让用户编辑文本的方式.同时,它也允许你在app视图中展示格式化的文本和网页内容.你可 ...
随机推荐
- AC日记——[SDOI2017]树点涂色 bzoj 4817
4817 思路: 跪烂大佬 代码: #include <bits/stdc++.h> using namespace std; #define maxn 500005 struct Tre ...
- Centos7安装和配置NFS
(1)nfs简介 作用:通过网络的不同的主机之间共享资源,支持多节点挂载并发写入 特点:单台,适合小型网络集群架构,非常稳定:大型公司使用(mfs,glusterfs,fastdfs) nfs优点:部 ...
- springBoot service层 事务控制
springBoot使用事物比较简单,在Application启动类s上添加@EnableTransactionManagement注解,然后在service层的方法上添加@Transactional ...
- JSON字符串转对象
JSON(JavaScript Object Notation) JavaScript对象标记法:JSON是与JavaScript高度契合的:JSON 语法: --数组(Array)用" ...
- 洛谷——P1529 回家 Bessie Come Home
P1529 回家 Bessie Come Home 题目描述 现在是晚餐时间,而母牛们在外面分散的牧场中. 农民约翰按响了电铃,所以她们开始向谷仓走去. 你的工作是要指出哪只母牛会最先到达谷仓(在给出 ...
- 在intellij idea 中进行android 单元测试
本次用来测试的代码是sqlite进行数据操作. ######右键选择要进行单元测试的应用 #############弹出选择框,选择Android>Test Module>Next ### ...
- JDBC 编程工具包
工具包结构 工具包代码 BeanCountHander.java import java.sql.ResultSet; public class BeanCountHander implements ...
- hdu 5961 传递 (2016ccpc 合肥站 A题)
传递 Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submiss ...
- [HDU1532]Drainage Ditches
最大流模板题 今天补最大流,先写道模板题,顺便写点对它的理解 最大流问题就是给一个幽香有向图,每一条边有容量,问若从$s$点放水,最多会有多少水流到$t$ 为了解决整个问题,第一步我们当然要找到一条路 ...
- [JZOJ5426]摘Galo
题目大意: 有一棵n个结点的树,每个点都有一个权值,你要从中选出不超过k+1个点使得权值和尽量大. 同时要注意如果一个点被选择,那么它的子树和这个点到根结点路径上的点不能被选择. 思路: 很水的树形D ...