使用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() }
}
尝试了很多种方法去转换经度度到具体地理信息,但是不成功。时间好玩,明天在搞吧。