首页 > 代码库 > Swift基础--定位
Swift基础--定位
// // ViewController.swift // JieCoreLocation // // Created by jiezhang on 14-10-4. // Copyright (c) 2014年 jiezhang. All rights reserved. // import UIKit import CoreLocation class ViewController: UIViewController, CLLocationManagerDelegate{ required init(coder aDecoder: NSCoder) { super.init(coder: aDecoder) } @IBOutlet weak var longitudeTxt: UITextField! @IBOutlet weak var latitudeTxt: UITextField! @IBOutlet weak var HeightTxt: UITextField! @IBOutlet weak var addressTxt: UILabel! var currLocation : CLLocation! //地址反编译出错误,不清楚什么问题,我是在模拟器上模拟的 @IBAction func reverseGeocode(sender: AnyObject) { var geocoder = CLGeocoder() var p:CLPlacemark? geocoder.reverseGeocodeLocation(currLocation, completionHandler: { (placemarks, error) -> Void in if error != nil { println("reverse geodcode fail: \(error.localizedDescription)") return } let pm = placemarks as [CLPlacemark] if (pm.count > 0){ p = placemarks[0] as? CLPlacemark println(p) }else{ println("No Placemarks!") } }) } //用于定位服务管理类,它能够给我们提供位置信息和高度信息,也可以监控设备进入或离开某个区域,还可以获得设备的运行方向 let locationManager : CLLocationManager = CLLocationManager() override func viewDidLoad() { super.viewDidLoad() locationManager.delegate = self //设备使用电池供电时最高的精度 locationManager.desiredAccuracy = kCLLocationAccuracyBest //精确到1000米,距离过滤器,定义了设备移动后获得位置信息的最小距离 locationManager.distanceFilter = kCLLocationAccuracyKilometer } override func viewWillAppear(animated: Bool) { locationManager.startUpdatingLocation() println("定位开始") } override func viewWillDisappear(animated: Bool) { locationManager.stopUpdatingLocation() println("定位结束") } func locationManager(manager: CLLocationManager!, didUpdateLocations locations: [AnyObject]!){ currLocation = locations.last as CLLocation longitudeTxt.text = "\(currLocation.coordinate.longitude)" latitudeTxt.text = "\(currLocation.coordinate.latitude)" HeightTxt.text = "\(currLocation.altitude)" } func locationManager(manager: CLLocationManager!, didFailWithError error: NSError!){ println(error) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } }
Swift基础--定位
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。