[Xcode 實際操做]9、實用進階-(10)定位設備的使用

目錄:[Swift]Xcode實際操做html

本文將演示定位設備的使用。git

在項目導航區,打開視圖控制器的代碼文件【ViewController.swift】swift

 1 import UIKit
 2 //導入須要用到的定位CoreLocation框架
 3 //該框架能夠利用三種技術來實現定位:
 4 //1.全球衛星定位系統
 5 //2.蜂窩基站三角網定位
 6 //3.無線網絡定位服務
 7 //其中,全球衛星定位系統是最精確的。
 8 import CoreLocation
 9 
10 //添加一個地理定位的代理協議CLLocationManagerDelegate
11 class ViewController: UIViewController, CLLocationManagerDelegate {
12 
13     //添加一個屬性,該屬性是框架提供的一個位置管理類
14     var locationManager:CLLocationManager!
15     override func viewDidLoad() {
16         super.viewDidLoad()
17         // Do any additional setup after loading the view, typically from a nib.
18         
19         //爲了使用定位功能,須要建立一個位置管理器實例
20         locationManager = CLLocationManager()
21         //設置位置管理器的代理對象爲當前視圖控制器
22         locationManager.delegate = self
23         //給位置管理對象,設置最佳的精度級別
24         locationManager.desiredAccuracy = kCLLocationAccuracyBest
25         //設置在設備已經從上一次報告的位置,移動了1000米以後,再調用其委託方法
26         locationManager.distanceFilter = 1000.0
27         //開始啓動位置管理器
28         locationManager.startUpdatingLocation()
29     }
30     
31     //添加一個代理方法,用來響應位置更新的事件。
32     func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
33         //得到定位設備返回的定位數組,並得到數組中的第一個元素
34         let location:CLLocation = locations[0]
35         //得到元素中的經度數值
36         let longitude = location.coordinate.longitude
37         //得到元素中的維度數值
38         let latitude = location.coordinate.latitude
39         //在控制檯打印經度信息
40         print(longitude)
41         //在控制檯打印維度信息
42         print(latitude)
43 
44         //系統定位服務是比較耗電的,當不使用定位服務時,
45         //須要及時中止定位服務的運行。
46         locationManager.stopUpdatingLocation()
47     }
48 
49     override func didReceiveMemoryWarning() {
50         super.didReceiveMemoryWarning()
51         // Dispose of any resources that can be recreated.
52     }
53 }

須要使用真實設備進行調試。數組

相關文章
相關標籤/搜索