iOS 6定位服务编程详解

现在的移动设备很多都提供定位服务,使用iOS系统的iPhone、iPod Touch和iPad都可以提供位置服务,iOS设备能提供3种不同途径进行定位:Wifi, 蜂窝式移动电话基站, GPS卫星

iOS不像Android系统在定位服务编程时,可以指定采用哪种途径进行定位。iOS的API把底层这些细节屏蔽掉了,开发人员和用户并不知道现在设备是采用哪种方式进行定位的,iOS系统会根据设备的情况和周围的环境,采用一套最佳的解决方案。这个方案是这样的,如果能够接收GPS信息,那么设备优先采用GPS定位,否则采用Wifi或蜂窝基站定位,在Wifi和蜂窝基站之间优先使用Wifi,如果无法连接Wifi才使用蜂窝基站定位。

总体来说GPS定位优点是准确、覆盖面广阔,缺点是不能被遮挡(例如:在建筑物里面收不到GPS卫星信号)、GPS开启后比较费电。蜂窝基站不仅误差比较大,而且会耗费用户流量费。而Wifi定位是最经济实惠的。

定位服务编程

定位服务在iOS 6之后API没有太大的变化,主要使用CoreLocation框架,定位时候主要使用CLLocationManager、CLLocationManagerDelegate和CLLocation。CLLocationManager是定位服务管理类它能够给我们提供获得设备的位置信息和高度信息,也可以监控设备进入或离开某个区域,它还可以帮助获得设备的运行方向等。CLLocationManagerDelegate是CLLocationManager类委托协议。CLLocation类是封装了位置和高度信息。

在定位服务的应用中,第一次请求获得位置信息时候,系统会提示用户是否允许开启定位服务。用户所在的位置是比较私密的信息,应用获取这些信息用户是有知情权和否定权的。如果应用在用户不知情的情况下,而获得用户的位置信息,这在某些国家是违法的行为。

选择“不允许”,定位服务就无法获得位置信息了,如果想改变这些设置可以在系统设置应用中开启或关闭。

我们可以关闭所有的定位服务,只需要把最上面的“定位服务”开关控件关闭就可以了。下面的具体应用也可以关闭和开启。

下面我们通过一个案例介绍一下使用定位服务编程,在应用启动时候启动,进入画面时候会获得位置信息,并显示在对应的文本框中,如果设备位置发送变化,也会重新会的位置信息,并更新对应的文本框。

时间: 2024-12-01 04:29:21

iOS 6定位服务编程详解的相关文章

iOS6定位服务编程详解

现在的移动设备很多都提供定位服务,使用iOS系统的iPhone.iPod Touch和iPad都可以提供位置服务,iOS设备能提供3种不同途径进行定位:Wifi, 蜂窝式移动电话基站, GPS卫星 iOS不像Android系统在定位服务编程时,可以指定采用哪种途径进行定位.iOS的API把底层这些细节屏蔽掉了,开发人员和用户并不知道现在设备是采用哪种方式进行定位的,iOS系统会根据设备的情况和周围的环境,采用一套最佳的解决方案.这个方案是这样的,如果能够接收GPS信息,那么设备优先采用GPS定位

陌陌怎么开启定位?陌陌开启定位服务方法详解

1)我们在手机打开陌陌时会弹出一个[定位服务未开启]好了我们选择不管弹提醒什么的,我们只要点击陌百中的[设置]进入如图所示.    2)接着在打开设置中我们再点击[定位服务]在这里找到[陌陌] 然后只要把开关开启就可以了哦.  

PHP SOCKET编程详解

  这篇文章主要介绍了PHP SOCKET编程详解,需要的朋友可以参考下 1. 预备知识 一直以来很少看到有多少人使用php的socket模块来做一些事情,大概大家都把它定位在脚本语言的范畴内吧,但是其实php的socket模块可以做很多事情,包括做ftplist,http post提交,smtp提交,组包并进行特殊报文的交互(如smpp协议),whois查询.这些都是比较常见的查询. 特别是php的socket扩展库可以做的事情简直不会比c差多少. php的socket连接函数 1.集成于内核

[推荐]ORACLE PL/SQL编程详解之一:PL/SQL 程序设计简介(千里之行,始于足下)

原文:[推荐]ORACLE PL/SQL编程详解之一:PL/SQL 程序设计简介(千里之行,始于足下) [推荐]ORACLE PL/SQL编程详解之一: PL/SQL 程序设计简介(千里之行,始于足下) --通过知识共享树立个人品牌. 继上六篇:        [顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功)        [推荐]ORACLE PL/SQL编程详解之三:PL/SQL流程控制语句(不给规则,不成方圆)        [推荐]ORA

《Windows网络与通信程序设计(第3版)》——2.3 Winsock编程详解

2.3 Winsock编程详解 使用TCP创建网络应用程序稍微复杂一些,因为TCP是面向连接的协议,需要通信双方首先建立一个连接.本节先以建立简单的TCP客户端和服务器端应用程序为例,详细说明Winsock的编程流程,然后再介绍较为简单的UDP编程. 2.3.1 Winsock编程流程 使用Winsock编程的一般步骤是比较固定的,可以结合后面的例子程序来理解它们. 1.套接字的创建和关闭 使用套接字之前,必须调用socket函数创建一个套接字对象,此函数调用成功将返回套接字句柄. SOCKET

QtDBus编程详解(一)

                                                       QtDBus编程详解(一) DBus的出现,使得Linux进程间通信更加便捷,不仅可以和用户空间应用程序进行通信,而且还可以和内核的程序进行通信,可以说DBus使得Linux变得更加智能,更加具有交互性.我们可以把DBus看做是一个消息总线(bus) 首先介绍DBus的几个重要的基本概念. 具体的QDBus编程以及通信将在QtDBus编程详解(二)中进行详细介绍 DBus分为两种类型:s

php的socket编程详解_php技巧

php的socket编程算是比较难以理解的东西吧,不过,我们只要理解socket几个函数之间的关系,以及它们所扮演的角色,那么理解起来应该不是很难了,在笔者看来,socket编程,其实就是建立一个网络服务的客户端和服务端,这和mysql的客户端和服务端是一样的,你只要理解mysql的客户端和服务端是怎么一回事,你就应该能够理解下面我要讲的东西吧. 关于socket编程所涉及到的网络协议,什么TCP啊,UDP啊,什么socket三次握手等等,这些网络协议网上有很详细的解释,这里不讲,只截个sock

Android 手势操作编程详解_Android

      手势操作在我们使用智能设备的过程中奉献了不一样的体验.Android开发中必然会进行手势操作方面的编程.那么它的原理是怎样的呢?我们如何进行手势操作编程呢?        手势操作原理        首先,在Android系统中,每一次手势交互都会依照以下顺序执行.        1. 接触接触屏一刹那,触发一个MotionEvent事件.        2. 该事件被OnTouchListener监听,在其onTouch()方法里获得该MotionEvent对象.        3

PHP SOCKET编程详解_php技巧

1. 预备知识 一直以来很少看到有多少人使用php的socket模块来做一些事情,大概大家都把它定位在脚本语言的范畴内吧,但是其实php的socket模块可以做很多事情,包括做ftplist,http post提交,smtp提交,组包并进行特殊报文的交互(如smpp协议),whois查询.这些都是比较常见的查询. 特别是php的socket扩展库可以做的事情简直不会比c差多少. php的socket连接函数 1.集成于内核的socket 这个系列的函数仅仅只能做主动连接无法实现端口监听相关的功能