//
// 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基础--定位
最新推荐文章于 2023-03-13 16:10:27 发布