30天学习Swift项目实战第五天------获取定位经纬度

使用CoreLocation来完成定位信息。 本来我还想完成一下经纬度转换为具体地理位置的,但是一直报错,以后补充吧。不想拖进度。 注意,info.plist文件的权限添加。 本项目只有一个类,ViewController:

// // ViewController.swift // MyLocation // // Created by luopan on 16/8/6. // Copyright © 2016年 Hust University. All rights reserved. //

import UIKit

//导入定位框架包 import CoreLocation

class ViewController: UIViewController,CLLocationManagerDelegate{

@IBOutlet weak var showLabel: UILabel!

//定位管理器
var locationManager: CLLocationManager!

//按钮点击事件
[@IBAction](http://my.oschina.net/u/866341) func GetLocation(sender: UIButton) {
    
    locationManager = CLLocationManager()
    
    // 设置代理为当前对象
    locationManager.delegate = self
    // 设置定位的精确度
    locationManager.desiredAccuracy = kCLLocationAccuracyBest
    //授权定位
    locationManager.requestAlwaysAuthorization()
    
    if CLLocationManager.locationServicesEnabled(){
        // 开启定位服务
        locationManager.startUpdatingLocation()
    }else{
       showLabel.text = "请打开定位服务。"
    }
}

//定位失败回掉方法
func locationManager(manager: CLLocationManager,didFailWithError error: NSError) {
    showLabel.text = error.localizedDescription
    print(error.localizedDescription)
}

// 定位更新地理信息调用的代理方法
func locationManager(manager: CLLocationManager,didUpdateLocations locations: [CLLocation]) {
    
    if locations.count > 0 {
        let newLocation = locations.last
        let longitude = newLocation?.coordinate.longitude
        let latitude = newLocation?.coordinate.latitude
        self.showLabel.text = "经度是:\(longitude!)----纬度是:\(latitude!)"
        
          }

}


override func viewDidLoad() {
    super.viewDidLoad()
    
}

}

尝试了很多种方法去转换经度度到具体地理信息,但是不成功。时间好玩,明天在搞吧。

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...