Swift - 使用CoreLocation实现定位(经纬度、海拔、速度、距离等)
CoreLocation是iOS中一个提供设备定位的框架。通过这个框架可以实现定位处理,从而获取位置数据,比如经度、纬度、海拔信息等。
kCLLocationAccuracyBestForNavigation :精度最高,一般用于导航
kCLLocationAccuracyBest : 精确度最佳
kCLLocationAccuracyNearestTenMeters :精确度10m以内
kCLLocationAccuracyHundredMeters :精确度100m以内
kCLLocationAccuracyKilometer :精确度1000m以内
kCLLocationAccuracyThreeKilometers :精确度3000m以内
var currentLocation = CLLocation(latitude: 52.104526, longitude: 51.111151) var targetLocation = CLLocation(latitude: 52.105526, longitude: 51.141151) var distance:CLLocationDistance = currentLocation.distanceFromLocation(targetLocation) println("两点间距离是:\(distance)")
4,下面通过一个样例演示如何获取设备相关的位置数据(经度,纬度,海拔,速度等信息)
(2)代码如下:
import UIKit import CoreLocationclass ViewController: UIViewController, CLLocationManagerDelegate {//定位管理器let locationManager:CLLocationManager = CLLocationManager()@IBOutlet weak var label1: UILabel!@IBOutlet weak var label2: UILabel!@IBOutlet weak var label3: UILabel!@IBOutlet weak var label4: UILabel!@IBOutlet weak var label5: UILabel!@IBOutlet weak var label6: UILabel!@IBOutlet weak var label7: UILabel!override func viewDidLoad() {super.viewDidLoad()//设置定位服务管理器代理locationManager.delegate = self//设置定位进度locationManager.desiredAccuracy = kCLLocationAccuracyBest//更新距离locationManager.distanceFilter = 100发送授权申请locationManager.requestAlwaysAuthorization()if (CLLocationManager.locationServicesEnabled()){//允许使用定位服务的话,开启定位服务更新locationManager.startUpdatingLocation()print("定位开始")}}//定位改变执行,可以得到新位置、旧位置func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {//获取最新的坐标let currLocation:CLLocation = locations.last!label1.text = "经度:\(currLocation.coordinate.longitude)"//获取纬度label2.text = "纬度:\(currLocation.coordinate.latitude)"//获取海拔label3.text = "海拔:\(currLocation.altitude)"//获取水平精度label4.text = "水平精度:\(currLocation.horizontalAccuracy)"//获取垂直精度label5.text = "垂直精度:\(currLocation.verticalAccuracy)"//获取方向label6.text = "方向:\(currLocation.course)"//获取速度label7.text = "速度:\(currLocation.speed)"} }
原文出自:www.hangge.com 转载保留原文链接:http://www.hangge.com/blog/cache/detail_783.html
转载于:https://www.cnblogs.com/LiuLady12138/p/5048521.html
Swift - 使用CoreLocation实现定位(经纬度、海拔、速度、距离等)相关推荐
- 安卓开发入门gps获取定位经纬度海拔速度
layout xml 文件 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xm ...
- Swift 使用CoreLocation获取定位与位置信息
大多数情况下APP会在开启应用的时候获取当前的位置,所以我写在APPDelegate里 第一步 import CoreLocationvar locationManager = CLLocationM ...
- iOS swift 位置 定位 获取海拔
我自己的另外一篇博客(推荐):ios swift 获取手机位置 定位 Swift - 使用CoreLocation实现定位(经纬度.海拔.速度.距离等)
- 使用CoreLocation进行定位(Swift版)
使用CoreLocation进行定位(Swift版) 在应用开发中,很多情况需要我们获取到当前的位置和高度信息,方便搜索周边,查看周边相同应用等,一切与定位有关的都得使用CoreLocation库,而 ...
- IOS 使用CoreLocation实现定位(Swift版)
1.配置Custom IOS Target Prpperties文件 2.导入CoreLocation.framework 3.使用步骤 在使用的swift文件的开始导入头文件->" ...
- shineblink NEO-6M GPS模块获取经纬度/海拔/时间详解
NEO-6M GPS模块获取经纬度/海拔/时间 一.本例程实现功能 二. GPS使用说明 三.接线图 五.完整代码 六.代码运行结果 七.坐标系转换(需注意): 一.本例程实现功能 通过NEO-6M ...
- 模拟器无法定位经纬度的问题
模拟器无法定位经纬度的问题: 2014-11-24 20:25:22.987 simpleMapDemo[1560:60b] location failed:Error Domain=kCLError ...
- vue 微信公众号获取定位经纬度 腾讯地图逆地址解析为具体地址
最近做项目需要用到 微信公众号获取定位,并将定位转换为具体地址的需求,找了挺多,最后整理下,分享给大家~ 我这里使用的是腾讯地图,也可以使用其他的如百度.高德等. 思路是,先使用微信开放文档的获取定位 ...
- HTML网页获取当前定位经纬度/地理位置定位/百度定位/高德定位
需求描述 在HTML页面获取当前定位经纬度 代码 优先使用地理位置定位,定位失败时取百度定位,否则使用高德IP定位: <!-- 引入百度地图API(需申请百度地图开发者账号,创建秘钥使用) -- ...
最新文章
- jQuery-事件委托(基本概述+实例)
- 一个小栗子聊聊JAVA泛型基础
- 【linux】——linux ls命令参数及用法详解---linux显示目录内容命令
- UILable和UITextField的详细讲解
- TokenInsight:反映区块链行业整体表现的TI指数较昨日同期上涨5.35%
- Windows下Tuxedo的安装与配置-无数据库
- linux安装redis和mysql
- python中unicode编码表_python unicode 编码整理
- 什么是QCIF? CIF?2CIF?4CIF?DCIF?
- Mybatis的联合查询
- Ionic for Angular 环境搭建
- 台式计算机有哪些硬件,台式机包括什么
- android 126邮箱格式,如何在Android系统邮件应用程序中添加帐户(默认POP3)
- CREATE DATABASE 或 ALTER DATABASE 失败,因为结果数据库的累计大小将超出每 数据库 为 4096 MB 的
- pythyon爬虫实现12306查票
- java日期计算天数_用Java计算两个日期之间的天数
- Ubuntu 安装uwsgi出错
- 电商平台中的架构实践
- KEIL工程中汇编文件添加条件编译宏
- Scrum立会报告+燃尽图(Beta阶段第二周第五次)