Swift - 经纬度位置坐标与真实地理位置相互转化
通过CoreLocation类,得到的定位信息都是以经度和纬度等表示的地理信息,通过CLGeocoder类可以将其反编码成一个地址。反之,也可根据一个地址获取经纬度。
|
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 UIKitimport CoreLocationimport MapKitclass 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 UIKitimport CoreLocationimport MapKitclass 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.通过地址获取改地址的经纬度 /** * @param addr * 查询的地址 * @return ...
- OpenStreetMap、googleMap等经纬度和行列号之间相互转化
# OpenStreetMap经纬度转行列号 def deg2num(lat_deg, lon_deg, zoom): lat_rad = math.radians(lat_deg) n = 2.0 ...
- OpenStreetMap、googleMap等经纬度和行列号之间相互转化(python,JavaScript,php,Java,C#等)
python: # OpenStreetMap经纬度转行列号 def deg2num(lat_deg, lon_deg, zoom): lat_rad = math.radians(lat_deg) ...
- R实现地理位置与经纬度相互转换
本实例要实现目标通过输入城市名或者地名,然后找出其经度纬度值,以及通过可视化展现其线路流向以及周边地图展示 address_list数据: 山西省太原市小店区亲贤北街77号 贵州省贵阳市云岩区书香门第 ...
- 获取经纬度之间两点间真实距离(适用于GoogleMap,BaiduMap,Amap等)
如何获取经纬度之间两点间真实距离(适用于GoogleMap,BaiduMap,Amap等) 目标:使用百度定位sdk开发实时移动距离计算功能,根据经纬度的定位,计算行驶公里数并实时刷新界面显示.大家 ...
- android 照片地理位置 demo
类似qq空间的的带位置的水印相机实现: 基于高德地图的API实现获取地理位置信息.注意修改Androidmanifest.xml文件中的key.去高德地图api去申请自己的key. 现在网上搜索到的通 ...
- h5地理位置API
h5地理位置API 地理API允许javascript程序向浏览器询问用户的真实地理位置,支持地理位置API的浏览器在访问前总是会询问用户是否允许. 获取用户地理的途径有: 1.ip地 ...
- android基站定位程序获取地理位置
目录 一.设置界面 二.为按钮绑定事件 三.获取基站信息 四.获取经纬度 五.获取物理位置 六.显示结果 七.运行程序 八.总结 九.程序代码 正文 在Android操作系统下,基站定位其实很简单,先 ...
- 高德SDK获取到的坐标转换为GPS真实坐标方法,Java版
发现高德SDK不提供高德的坐标转GPS坐标(GCJ_02转WGS_84),下面是一份Java版的 /**************************** 文件名:GCJ2WGS.java 创建时间 ...
随机推荐
- Xamarin.Android开发实践(五)
原文:Xamarin.Android开发实践(五) 一.服务的生命周期 服务与活动一样,在它的整个生命周期中存在着一些事件,下图可以很好解释整个过程以及涉及到的方法: 在真实的使用中,Service来 ...
- android串行化getSerializable、getSerializableExtra
android串行化getSerializable.getSerializableExtra 传参 总结 案例1 不用 Bundle 封装数据 提交activity lst.setOnItemClic ...
- cocos2dx进阶学习之CCLayer
继承关系 CCLayer -> CCNode,CCTouchDelegate,CCAccelerometerDelegate,CCKeypadDelegate CCLayer在cocos2dx中 ...
- IT第二十一天 - Collections、ArrayList集合、LinkedList集合、Set集合、HashMap集合、集合的操作注意【修20130828】
NIIT第二十一天 上午 集合 1. 集合Collection存储数据的形式是单个存储的,而Map存储是按照键值对来存储的,键值对:即键+值同时存储的,类似align="center&quo ...
- Debian下Apache配置多域名访问
请见Github博客:http://wuxichen.github.io/Myblog/php/2014/10/10/DebianApacheSetting.html
- switch case ,while, do while,enum
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace C_编辑 ...
- 一个例子:HelloWorld
作为C语言来说,我是用的是QT Creator作为开发工具. 事实上使用什么工具无所谓.重要的是学到实用的知识. 第一个实例程序就是HelloWorld程序.上代码: 版权声明:您好,转载请离开我的博 ...
- 2015 款 Macbook Pro 的 ForceTouch 触控板开启 三指拖动
RT, 默认的触控板设置中没有了三指拖动这个选项, 但是可以通过勾选 辅助功能 -> 鼠标与触控板 -> 触控板选项 中的 启用拖移 来启用三指拖动...
- .NET通过PowerShell操作ExChange为用户开通邮箱账号
最近工作中一个web项目需要集成exchange邮箱服务,注册用户时需要动态创建邮箱用户,终于在http://www.cnblogs.com/gongguo/archive/2012/03/12/23 ...
- 九度OnlineJudge之1022:游船出租
题目描述: 现有公园游船租赁处请你编写一个租船管理系统.当游客租船时,管理员输入船号并按下S键,系统开始计时:当游客还船时,管理员输入船号并按下E键,系统结束计时.船号为不超过100的正整数. ...