通过CoreLocation类,得到的定位信息都是以经度和纬度等表示的地理信息,通过CLGeocoder类可以将其反编码成一个地址。反之,也可根据一个地址获取经纬度。

1,通过经纬度获取地址
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import UIKit
import CoreLocation
import MapKit
class ViewController: UIViewController ,CLLocationManagerDelegate {
    @IBOutlet weak var textView: UITextView!
     
    override func viewDidLoad() {
        super.viewDidLoad()
        reverseGeocode()
    }
     
    //地理信息反编码
    func reverseGeocode(){
        var geocoder = CLGeocoder()
        var p:CLPlacemark?
        var currentLocation = CLLocation(latitude: 32.029171, longitude: 118.788231)
        geocoder.reverseGeocodeLocation(currentLocation, completionHandler: {
            (placemarks:[AnyObject]!, error:NSError!) -> Void in
            //强制转成简体中文
            var array = NSArray(object: "zh-hans")
            NSUserDefaults.standardUserDefaults().setObject(array, forKey: "AppleLanguages")
            //显示所有信息
            if error != nil {
                //println("错误:\(error.localizedDescription))")
                self.textView.text = "错误:\(error.localizedDescription))"
                return
            }
            let pm = placemarks as! [CLPlacemark]
            if pm.count > 0{
                p = placemarks[0] as? CLPlacemark
                //println(p) //输出反编码信息
                self.textView.text = p?.name
            } else {
                println("No placemarks!")
            }
        })
    }
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}

2,通过地址获取经纬度

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import UIKit
import CoreLocation
import MapKit
class ViewController: UIViewController ,CLLocationManagerDelegate {
    @IBOutlet weak var textView: UITextView!
     
    override func viewDidLoad() {
        super.viewDidLoad()
        locationEncode()
    }      
     
    //地理信息编码
    func locationEncode(){
        var geocoder = CLGeocoder()
        var p:CLPlacemark!
        geocoder.geocodeAddressString("南京市新街口大洋百货", completionHandler: {
            (placemarks:[AnyObject]!, error:NSError!) -> Void in
             
            if error != nil {
                self.textView.text = "错误:\(error.localizedDescription))"
                return
            }
            let pm = placemarks as! [CLPlacemark]
            if pm.count > 0{
                p = placemarks[0] as! CLPlacemark
                self.textView.text = "经度:\(p.location.coordinate.longitude)   "
                    + "纬度:\(p.location.coordinate.latitude)"
            } else {
                println("No placemarks!")
            }
        })
    }
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}

Swift - 经纬度位置坐标与真实地理位置相互转化相关推荐

  1. js 封装经纬度成json_R实现地理位置与经纬度相互转换

    原标题:R实现地理位置与经纬度相互转换 本实例要实现目标通过输入城市名或者地名,然后找出其经度纬度值,以及通过可视化展现其线路流向以及周边地图展示 address_list数据: 山西省太原市小店区亲 ...

  2. rn 地图根据区名获取经纬度_React Native获取地理位置(获取具体城市、经纬度)...

    并不是所有的APP都要获取你当前的地理位置的,但是有的APP对这方面是特别重要的,例如催收的行业,准确获取借款人的位置,才能不扑空~~ 基本上实现的原理其实很简单,前端要做的事情就是每次打开APP的时 ...

  3. 微信如何根据经纬度坐标查询具体地理位置

    微信如何根据经纬度坐标查询具体地理位置 好多人会问为什么微信高级接口获取的坐标信息位置不准,主要原因不是微信获取的不准,而是微信获取的是gps坐标,如果你直接用百度或google的api去解析的话肯定 ...

  4. 赚四五百万,一款打卡作弊软件的 CEO 被判5年6个月!因破坏了钉钉系统获取用户真实地理位置...

    ‍ ‍上面这个公号,是我的一个备用号,平时我也会发一些很短.很生活的图片.文字,也会推荐看到的好书.节目.电影等. 1 发现商机 昨天看到这个案例,蛮唏嘘的,特别对于我们技术人创业来讲,也算是提了一个 ...

  5. Unity GPS定位之逆地理编码(获取经纬度并转换成地理位置)

    unity定位 前言 最近在做一款手游,然后策划给的需求就是定位到当前用户所在的城市,然后花了一个上午给做了出来,思路大概就是通过手机定位获取到当前位置的经度和纬度,然后通过各个地图(我这里用的是百度 ...

  6. mysql经纬度 微信_微信如何根据经纬度坐标查询具体地理位置

    好多人会问为什么微信高级接口获取的坐标信息位置不准,主要原因不是微信获取的不准,而是微信获取的是gps坐标,如果你直接用百度或google的api去解析的话肯定会出现误差的. 首先你需要吧gps位置转 ...

  7. C++实现查询对方ip地址,确定真实地理位置!

    小编提供的方法是一个比较完整的解决方案,并附有详细的实现细节.其实,如果你熟悉Windows的Sockets API,并了解一些底层的Winsock知识.那么要获得某台机器的IP地址并不是什么难事.一 ...

  8. WEBGIS实现限制地图拖动范围及缩放比例及extent()参数说明

    项目要求:使用图片覆盖在地图 根据经纬度确定图片真实地理位置 使用切图工具(MapTiler)对图片进行瓦片化 然后显示在地图. 问题描述:图片覆盖到地图后可以随意拖动和缩放,影响用户体验. 解决方法 ...

  9. 地理位置与经纬度之间相互转换(基于python调用百度API)

    百度API 位置与经纬度相互转换 每天限制6000次 百度API平台 https://lbsyun.baidu.com/apiconsole/key#/home 1.pip install 安装相关p ...

最新文章

  1. java 封装事务_Spring之路(36)–事务很重要吗?Spring为何要封装事务?Spring事务有陷阱吗?...
  2. golang sqlite数据库 rows.Close()造成 错误database is locked
  3. 利用反射,泛型,静态方法快速获取表单值到Model。
  4. Ubuntu18.10的chrome免输入密码
  5. 开源数据库中间件-MyCa初探与分片实践
  6. 基于感知机Perceptron的鸢尾花分类实践
  7. 经典面试题(7):下面的代码运行结果是什么么?
  8. 《游戏大师Chris Crawford谈互动叙事》一1.1 故事叙述的历史
  9. html+css基础-4-html标签、Doctype、iframe,table布局
  10. [图文详解]图像处理中的高斯模糊
  11. 蓝牙技术谈之跳频技术(一)
  12. Redis_Study
  13. 数学基础——数理逻辑
  14. [转载]jQuery诞生记-原理与机制
  15. python节日贺卡绘制
  16. 发生了一次 MySQL 误操作导致的事故,「高可用」都顶不住了
  17. redis学习——redis事务
  18. 用矩阵表示图形旋转缩放变换
  19. unity2D:无限跳跃bug和卡墙bug处理
  20. 实战-H3C交换机之Web界面

热门文章

  1. jquery 半透明遮罩效果 小结
  2. .NET Entity Framework入门简介及简单操作
  3. PX Deq: Execution Msg等待事件
  4. SUN StorEdge 3320更改磁盘状态
  5. 5-django——验证码,中间件
  6. 百度或者Google---SEO优化
  7. 柳传志:联想又遇新坎儿 要做斯巴达克方针
  8. Android 控件架构及View、ViewGroup的测量
  9. Html5之基础-7 HTML列表
  10. c# 之 URL资源访问