iOS 8 及以上需要在info.plist文件中添加下面两个属性
  NSLocationWhenInUseUsageDescription 使用应用期间
  NSLocationAlwaysUsageDescription 始终
 
 

  1. import UIKit
  2.  
  3. import CoreLocation //系统定位包
  4.  
  5. class ViewController: UIViewController,CLLocationManagerDelegate {
  6.  
  7. override func viewDidLoad() {
  8. super.viewDidLoad()
  9. // Do any additional setup after loading the view, typically from a nib.
  10.  
  11. getCurrentLocation()
  12. }
  13.  
  14. override func didReceiveMemoryWarning() {
  15. super.didReceiveMemoryWarning()
  16. // Dispose of any resources that can be recreated.
  17. }
  18.  
  19. //CodeStart
  20.  
  21. /// 定位对象
  22. let locationManager = CLLocationManager()
  23.  
  24. /// 当前所在城市(默认空)
  25. var currentCity = ""
  26.  
  27. /**
  28. 定位获取所在城市
  29. */
  30. func getCurrentLocation(){
  31.  
  32. locationManager.desiredAccuracy = kCLLocationAccuracyBest
  33.  
  34. locationManager.delegate = self
  35.  
  36. if(UIDevice.currentDevice().systemVersion>="8.0"){
  37.  
  38. //locationManager.requestAlwaysAuthorization()
  39.  
  40. locationManager.requestWhenInUseAuthorization()
  41.  
  42. }
  43.  
  44. locationManager.startUpdatingLocation()
  45. }
  46.  
  47. /**
  48. 定位失败
  49. */
  50. func locationManager(manager: CLLocationManager!, didFailWithError error: NSError!) {
  51. println(error.code)
  52. }
  53.  
  54. /**
  55. 定位完成调用
  56. */
  57. func locationManager(manager: CLLocationManager!, didUpdateLocations locations: [AnyObject]!) {
  58.  
  59. let cloc = locations.last as! CLLocation
  60.  
  61. let geoCoder = CLGeocoder()
  62.  
  63. var error = NSError()
  64.  
  65. geoCoder.reverseGeocodeLocation(cloc, completionHandler: { (placeMarks:[AnyObject]!, error:NSError!) -> Void in
  66. if error == nil {
  67.  
  68. var placeMark: AnyObject = placeMarks[0]
  69.  
  70. var locationInfo:Dictionary = placeMark.addressDictionary
  71.  
  72. var locationCity = locationInfo["State"] as! String
  73.  
  74. if self.currentCity != locationCity{
  75.  
  76. self.currentCity = locationCity
  77.  
  78. println("当前定位城市:\(self.currentCity)")
  79.  
  80. }
  81.  
  82. }
  83.  
  84. })
  85.  
  86. manager.stopUpdatingLocation()
  87.  
  88. }
  89.  
  90. }

swift 定位的更多相关文章

  1. swift 定位 根据定位到的经纬度转换城市名

    好久没写随笔了   最近这段时间项目有点紧  天天在加班  国庆 一天假都没放  我滴娃娃   好啦  牢骚就不发了  毕竟没有什么毛用    待我那天闲了专门写一篇吐槽的随笔  

  2. 使用CoreLocation进行定位(Swift版)

    在应用开发中,很多情况需要我们获取到当前的位置和高度信息,方便搜索周边,查看周边相同应用等,一切与定位有关的都得使用CoreLocation库,而且,系统是不允许第三发定位的,当然可以使用第三方对其封 ...

  3. Swift基础--定位

    // // ViewController.swift // JieCoreLocation // // Created by jiezhang on 14-10-4. // Copyright (c) ...

  4. Swift - 使用CoreLocation实现定位(经纬度、海拔、速度、距离等)

    CoreLocation是iOS中一个提供设备定位的框架.通过这个框架可以实现定位处理,从而获取位置数据,比如经度.纬度.海拔信息等.   1,定位精度的设置 定位服务管理类CLLocationMan ...

  5. Swift - 给表格UITableView添加索引功能(快速定位)

    像iOS中的通讯录,通过点击联系人表格右侧的字母索引,我们可以快速定位到以该字母为首字母的联系人分组.   要实现索引,我们只需要两步操作: (1)实现索引数据源代理方法 (2)响应点击索引触发的代理 ...

  6. 基于swift MKMapkit 开发的地图定位导航

    //  DTOneViewController.swift //  Mapper-JSON // //  Created by kcl on 16/8/8. //  Copyright © 2016年 ...

  7. swift 相机、相册、定位的权限判断

    //是否开启相机权限 func IsOpenCamera() -> Bool{ let authStatus = AVCaptureDevice.authorizationStatus(for: ...

  8. 定位框一闪而过 iOS Swift

    需求:获取经纬度. 方案:我自定义了一个类模块CLLocationModule.swift 备注以下代码里 let IS_IOS8 = (UIDevice.currentDevice().system ...

  9. 使用Xcode HeaderDoc和Doxygen文档化你的Objective-C和Swift代码

    在一个应用的整个开发过程中涉及到了无数的步骤.其中一些是应用的说明,图片的创作,应用的实现,和实现过后的测试阶段.写代码可能组成了这个过程的绝大部分,因为正是它给了应用生命,但是这样还不够,与它同等重 ...

随机推荐

  1. Markdown学习和插件介绍

    markdown能干啥 亲们github上的项目首页的 内容+样式,都是项目中README.md文件控制的.将md风格的代码,转化成html. 而且markdown语法非常简单,5-10分钟即可学会! ...

  2. jQuery 学习笔记

    jQuery 学习笔记   一.jQuery概述    宗旨: Write Less, Do More.    基础知识:        1.符号$代替document.getElementById( ...

  3. Kinect外包团队(长年承接微软Kinect体感项目外包,有大型Kinect案例)

    承接Kinect体感企业项目.游戏项目外包 北京公司.专业团队,成员为专业WPF产品公司一线开发人员,有大型产品开发经验: 提供优质的售后服务,保证产品质量,轻量级产品可以提供规范清晰的源代码,有业务 ...

  4. DOM常用操作总结

    一.getElementById() 寻找一个有着给定 id 属性值的元素,返回值是一个有着给定 id 属性值的元素节点.如果不存在,这样的元素,它返回 null. 二.getElementsByNa ...

  5. 关于layui

    之前用layer用了很长时间,感觉很好用,最近看到了layui的发布很想尝试尝试. 加入了挺多的功能,比如编辑器,上传,form表单等等.

  6. Repeart控件使用

    对于刚刚接触到repearter控件,了解不深,现做个记录方便以后的查看 <asp:Repeater ID="rpt_OrderList" runat="serve ...

  7. loadrunner获取当前CST时间

    第一种方法:使用LR的参数化功能. 代码如下,nowtime是保存当前CST时间的字符串变量,local_time是要参数化的变量. Action() { char *nowtime; nowtime ...

  8. DevExpress GridView属性说明

    转自http://www.cnblogs.com/-ShiL/archive/2012/06/08/ShiL201206081335.html (一)双击展开,收缩字表 1 Private Sub E ...

  9. ArcGIS Engine控件运行许可(转)

    ArcGIS Engine控件运行许可   Runtime绑定: 在ArcGIS Engine10.0中,许可方式发生了一定的变化,ArcGis10有一个新的要求---runtime绑定.就是在任何A ...

  10. PHP之PhpDocument的使用

    参考资料: 1.http://manual.phpdoc.org/HTMLSmartyConverter/HandS/ric_INSTALL.html 2.http://blog.csdn.net/s ...