您的位置:首页 > 移动开发 > Swift

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

2016-08-06 00:00 453 查看
使用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()

}

}

尝试了很多种方法去转换经度度到具体地理信息,但是不成功。时间好玩,明天在搞吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  iOS CoreLocation