1. 使用UIMapView的showUserLocation属性。

myMapView.showsUserLocation = YES
    显示后读出坐标经纬度:
     self.userLocation.coordinate.latitude
   self.userLocation.coordinate.longitude

2. 使用CLLocationManager

locationManager = [[CLLocationManager alloc] init];
   locationManager.delegate = self;
   locationManager.desiredAccuracy = kCLLocationAccuracyBest; //选择最优定位
   [locationManager startUpdatingLocation];

定位后在委托方法中读出经纬度:

- (void)locationManager:(CLLocationManager *)manager
    didUpdateToLocation:(CLLocation *)newLocation
           fromLocation:(CLLocation *)oldLocation

前两种方法是利用Core Location框架来定位,按照GPS,蜂窝基站(Cell Tower),Wi-Fi的顺序选取最后方案定位:

a.  GPS定位:精确度可以高达10m;
    b.  蜂窝基站:精确度与当地基站的密度有关;
    c.  Wi-Fi:利用IP地址定位,不精确,有时会有数英里的误差。iPhone的Wi-Fi定位使用Skyhook Wireless来返回相应IP地址的的地理坐标。由于公司的IP没有包含在库中,所以无法使用iPhone自带的Wi-Fi定位;

3. 使用FireFox和Safari的定位服务:

写一个html,用MapVIew加载,用alert返回获得的地理坐标信息。
<html>
<head>
<title> Know your current location </title>
<script type="text/javascript" src="json2.js"></script>
<script type="text/javascript">
  navigator.geolocation.getCurrentPosition(getLocation, unknownLocation);
 
  function getLocation(pos)
  {
    var latitde = pos.coords.latitude;
    var longitude = pos.coords.longitude;
    alert(JSON.stringify({"latitude":latitde,
                          "longtitude":longitude}));
  }
  function unknownLocation()
  {
    alert('Could not find location');
  }
</script>
</head>
</html>

这种方法可以实现Wi-Fi定位,但是不精确。

转载于:https://www.cnblogs.com/mac_arthur/archive/2010/04/09/1708334.html

iPhoneiPod Touch定位编写相关推荐

  1. 没落的Ubuntu Touch想翻盘:新技术可运行Android应用

    不知道大家是否还记得魅族和Ubuntu合作的Ubuntu Touch移动操作系统,自从Canonical宣布放弃Ubuntu Touch移动操作系统的开发之后,UBports社区一直在关注这个项目.该 ...

  2. ubuntu+touch+android,移动操作系统Ubuntu Touch支持安卓应用

    原标题:移动操作系统Ubuntu Touch支持安卓应用 [ ] [IT168 资讯]不知道大家是否还记得魅族和Ubuntu合作的Ubuntu Touch移动操作系统,自从Canonical宣布放弃U ...

  3. 【移动测试ios】编写和运行自动化脚本

    [移动测试iOS]编写和运行自动化脚本 准备工作 编写和运行自动化脚本 准备工作 1.使用Xcode打开要运行的程序 2.选择将要运行的程序和模拟器设备 3.command+r运行 4.打开并启动ap ...

  4. Docker学习笔记五 在测试中使用Docker

    2019独角兽企业重金招聘Python工程师标准>>> 5.1 使用Docker测试静态网站(Nginx) 将项目命名为Sample 首先建立构建环境 mkdir sample cd ...

  5. Docker实战(二)

    转至:http://objcoding.com/2017/12/07/Docker(2)/ 制作镜像一般有三种方法,第一种是 run 一个基础容器,在里面下载好我们需要的东西,然后通过 docker ...

  6. iPhone 开发基础教程

    Phone 开发基础教程之 在开始编写iPhone软件之前,需要做一些准备工作.对于初学者,需要一台运行Leopard(OS X 10.5.3或更高版本)的基于Intel的Macintosh计算机.2 ...

  7. @程序员,沟通这项核心技能你掌握了多少?

    当硬实力遇上软技能,你是否在取舍中放弃了本该是程序员核心技能的沟通能力. 2019,向程序员式社交恐惧症 Say Goodbye! 作者 | Matthew Quiros 译者 | 虎说 责编 | 仲 ...

  8. Linux从入门到秃头

    Linux发展史 1. 诞生 Multics项目,MIT.Bell实验室 1970年(Unix元年),Unix诞生,在Multics基础上开发,使用汇编,时间戳(从1970-1-1 00:00:00 ...

  9. iPhone iPad高级编程

    iPhone & iPad高级编程 编辑推荐 1. 本书中的示例颇具价值,浓缩了iPhone和iPad编程智慧,具有新颖独到之处.开发人员在日常工作中可以参考这些绝佳示例迅速找到解决方案.不管 ...

  10. Hadoop_shell脚本

    1.什么是shell Shell(外壳) 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序,这个应用程 ...

最新文章

  1. Ubuntu 系统 Pycharm中无法使用中文输入法问题
  2. js实现数独算法(优化版本)
  3. 出去旅行带上这些常用日语就够啦!
  4. 工作日志之个人统计篇
  5. 运行时的Java 8参数名称
  6. 吴恩达《机器学习》学习笔记四——单变量线性回归(梯度下降法)代码
  7. python中的@、-、*arg、**kwarg使用方法[探索1]
  8. 常用sql001_partition by 以及 row_number()和 dense_rank()和rank()区别
  9. 一线架构师实践指南阅读体会_ADMEMS方法体系理解
  10. 玩客云刷Armbian5.9.0安装青龙提示“面版解决服务异常,请手动执行ql check检查服务状态”
  11. vb中typename函数
  12. 程序员所需要的数学知识都这里了
  13. 求助文章#C语言 #普中51单片机开发板
  14. App渠道安装来源识别与匹配
  15. javascript进阶面向对象ES6
  16. vue项目,解决ie缓存问题
  17. mysql编程界面_MySQL图形界面客户端
  18. 不属于多媒体计算机应用实例,河北职称计算机应用能力考试试题(九)
  19. stm32cubeide烧写程序_STM32Cube工具,覆盖开发全过程(一)
  20. 内部类以及匿名内部类

热门文章

  1. 服务器后端开发系列——《实战Nginx高性能Web服务器》 (转载)
  2. CSDN发布:AI技术人才成长路线图
  3. 人工智能实战2019 - 第4次作业(团队后期项目)- 就起这个名字吧
  4. MyBatis 学习之路其一:使用mybatis 创建一个简单的程序
  5. Python自省 type(),dir(),getattr(),hasattr(),isinstance().
  6. 10%的IOS设备已经更新到版本5.1.1
  7. ASP.NET 4.0事件消息: 发生了验证错误;检测到有潜在危险的 Request.Form 值。
  8. 对话周鸿祎:从程序员创业谈起
  9. 手摸手带你入门ionic3(六):界面跳转
  10. NPM酷库:minimatch,模式匹配字符串