不允许安装用户燃气表的位置定位后为什么会定位到其他位置

&先分析一下有用信息:
使用的IPhone;
微信添加过对方为好友,随后解除好友关系;
接收了对方一段视频,随后并删除;
在那一片,还会被找到。
IPhone系统比较封闭,对用户隐私保护较好,微信对用户隐私保护也很好,那么是怎么被定位的呢?
& & & 首先想到是接收的视频(.exe格式,或其他)里含有病毒,在播放视频后,会感染手机,同时窃取一些用户信息。如果这病毒在系统里一直存在,随时窃取用户信息(包括位置信息),以IOS系统的安全性应该会发现并删除。这种方式应该不可行。
& & & 那会不会通过微信号或其他方式获取了用户的手机号码呢?由基站定位原理可以知道,手机在连接运营商服务时,会不断同步自己的一些状态信息,根据这些信息就可以获得用户的大致位置。但可以根据电话号码定位手机位置的技术应该只有公检法和运营商具备,个人或者公司怎么获取呢?这又是一个问题。
& & & 那会不会是通过WiFi定位呢?通过某些方式获得手机的一些信息,如MAC地址,然后通过附近的WiFi热点对手机进行了定位。当然,这也存在一些问题。
还有就是&在这一片,还会被找到&,说明在这一块区域应该有定位能力,那么应该是在这特定的区域内,安装了一些设备,对附近的手机进行定位与识别。
& & & 究竟是以怎样的方式窃取的位置信息,已经无从得知。也很有可能比我预想的简单很多,以一种更为简洁和直接的方式进行定位。随着IT技术发展,有越来越多的黑科技产生,信息安全也越来越重要。好多个人信息暴露在网络上,在互联网上裸奔很危险,以后要注意个人信息保护。
PS/欢迎探讨文中那位知友被别人如何定位的,我也很想知道。
阅读(...) 评论()什么意思?说是不需要用户位置信息,为什么还让我打开定位功能?传个照片也要定位。@-智无不言- @千山晚报
全部答案(共4个回答)
不一定需要位置!
我没有要求谁打开过定位器呀
新版本不是必须要打开手机位置才可以发微博的,你可以关掉也能同样的发微博的。
版本的特性
回复@微博小秘书:没事别让别人升级ios,shit,升级手机变板砖了。。。。
删除位置信息
答: 领导吩咐买微信投票1万票多少钱,人工投票多少钱5000票
答: 网络和软件都很不错的 还可以根据你自己的情况来选择 如果你英语和高数不错的话 可以学软件 如果都不是很理想的话 可以选择网络啊 我认为网络还是不错的 网络工程师...
答: 用代IP的QQ就可以看
无锡至少有两所正规大学:
1、江南大学
2、南京农业大学无锡渔业学院。由于它不直接在无锡召本科生,所以许多人不知道这个学校:它位于山水东[西?]路九号,拥有约20位正教授/研究员,80位副教授/副研究员,和多位首席科学家。去年还有中国工程院的院士一名。
1、江南大学坐落于太湖之滨的江南名城——江苏省无锡市,是教育部直属的国家“211工程”重点建设高校。
  享有“轻工高等教育明珠”美誉的江南大学,有着久远的历史渊源和深厚的文化底蕴。在1902年创建的三江师范学堂基础上发展起来的中央大学(现南京大学)是江南大学办学的前身。1952年全国高校院系调整时,南京大学食品工业系、浙江大学农化系、江南大学食品工业系以及复旦大学、武汉大学的有关系科合并组建成南京工学院(现东南大学)食品工业系。1958年该系整建制东迁无锡,成立无锡轻工业学院,1995年更名为无锡轻工大学,1998年由隶属中国轻工总会划转直属教育部。2001年1月,经教育部批准,无锡轻工大学、江南学院、无锡教育学院合并组建江南大学。
  学校学科涉及经济学、法学、教育学、文学、理学、工学、农学、医学、管理学等九大门类,设有生物工程学院、食品学院、纺织服装学院、化学与材料工程学院、设计学院、机械工程学院、通信与控制工程学院、信息工程学院、商学院、法政学院、文学院、师范学院、理学院、外国语学院、土木工程系、医学系、艺术系、体育系等18个院(系),共56个本科专业,全日制在校本科学生18500余人。成人学历教育在籍学生5000余人,网络学历教育在籍学生1万余人。还有经教育部批准的中外合作办学的莱姆顿学院及与社会力量合作办学的江南大学太湖学院。
  学校设有轻工技术与工程、食品科学与工程等2个博士后流动站和10个博士点,覆盖发酵工程等16个二级博士学科专业和39个硕士学科专业,基本包涵了轻工、纺织、食品的全部领域。现有在校各类硕士研究生、博士研究生2500余人。学校拥有4个国家级和部省级重点学科,建有教育部、国家计委批准的“国家生命科学与技术人才培养基地”,培养本硕连读、本硕博连读的高层次人才。食品科学、发酵工程等2个国家重点学科在国内同类学科中具有独特优势,实力雄厚,处于领先地位,在国际上有较大影响。经近50年的建设与发展,江南大学已成为一所规模结构较为合理,教学质量优异,科研水平上乘,社会服务盛誉,各方面均得到社会公认,在国内外具有较高知名度的多科性大学。
  学校师资力量雄厚,现有专任教师1519名,其中中国工程院院士3名(2名为双聘院士),教授160名,副教授456名。由300多名博士生导师、硕士生导师组成的学术带头群体,为高层次人才培养、科技创新和社会服务奠定了厚实的基础。学校始终坚持社会主义办学方向,坚持以育人为本,把为经济建设和社会发展培养高质量的人才作为学校的根本任务。经过多年努力,形成了具有自身特点的人才培养体系和教学质量保障体系,做到人才培养与市场需求紧密结合,培养高素质创新型的专门人才。学校注重学生综合素质、基础知识和实践能力的培养,如在本科教学中,将相对狭窄的专业对口教育转到本科通识加特色教育;推进多样化的人才培养方式,学生通过辅修、第二专业、第二学位等途径培养复合型人才;让学生早期介入科研活动,从科研实践中感受和理解知识产生和发展过程,培养学生科学素养、科学精神、创新能力。学校十分重视校园精神文明建设。一年一度的江南之春文化艺术节、科技节、金秋体育节等活动精彩纷呈,暑期社会实践、校园文化生活丰富多彩。在大学生数学建模竞赛、数学竞赛、电子制作竞赛、机器人竞赛、艺术设计竞赛等全国性比赛中,学生连年获得大奖。建校以来,学校已为国家输送了数万名毕业生,许多毕业生已成为各条战线的科技精英和领导骨干。
  作为我国轻工、食品、生物技术高科技的摇篮与依托单位之一,“九五”期间,学校承担并完成了大批国家重大科技攻关项目及省部级应用基础研究课题,其中有70多项研究成果填补了国内空白,并达到了国际先进水平,30多项科研成果荣获国家和省级科技进步奖。“十五”以来,学校科研实力进一步增强,科技项目和科技成果逐年增多。2003年取得国家、部省级以上科技成果奖励20项,其中有国家科学技术发明二等奖(一等奖空缺)一项,中国石油和化学工业科学技术一等奖一项等。2004年,科技总经费9000多万元,获准立项的纵向科研项目97项,横向科研270多项;鉴定或验收科技成果86项,其中30%以上成果达到国际领先或国际先进水平。全校教职工共发表各类论文2700多篇,出版专著130多部,被国际三大检索收录论文143篇。学校承担的国家“十五”科技攻关“农产品深加工”、“发酵工程关键技术”课题全面通过结题验收并进入后期滚动;国家自然科学基金项目获资助13项;获部省级以上科技成果奖励8项,其中1项科研成果获得江苏省科技进步一等奖;全年申请专利356项,学校专利申请量位居全国高校第7名、江苏省第1名;人文社科领域承担的项目、层次、经费等方面都有较大增长。
  学校重视面向经济建设主战场,加快科技创新,推进科技成果产业化,建有科技部、国家计委批准的“发酵技术国家工程研究中心”等10个国家级、省部级研究中心、实验室。建立了由海尔集团、茅台酒集团、青岛啤酒集团、北京燕京啤酒集团、绍兴黄酒集团、江苏小天鹅集团等100多家企事业单位加盟的董事会,注重学校与企业、社会之间的联系,促进了产学研的结合和为社会各方面的服务。各院(系)还建有二级董事会,共有400余家企事业单位参加。学校十分重视发挥在轻工、食品、艺术设计、纺织、环境、化工、生物医药等方面的科技优势,积极为全国轻工纺织行业的科技进步、产品开发、人才知识更新服务,积极参与国家西部大开发和为江苏省沿江发展战略、苏北发展战略及海上苏东发展战略服务,积极适应无锡市支柱产业的创新发展、科技和人才需求,在科研开发、技术服务、人才培养等方面与企业开展全面合作,推动企业的技术改造和产品更新换代。与地方政府合资建立的省级大学科技园,成为高科技研究项目的重要孵化基地,为国民经济和社会发展作出贡献。由于学校的优质服务,中国电信、丹尼斯克(中国)有限公司、嘉里粮油(深圳)商务拓展有限公司、东海粮油工业(张家港)有限公司、国民淀粉上海化学有限公司、三得利(中国)投资有限公司、青岛啤酒集团、重庆啤酒集团、杰能科生物工程有限公司、广州天赐高新材料科技有限公司、国际特品(ISP)(香港)有限公司、东洋之花化妆品有限公司等大型企业都在学校设立各类奖学、奖教金,每年发放的奖学金总额达600多万元。
  学校与国内外的教学科研交流合作频繁,是教育部批准的首批接受外国留学生和港澳台学生的高校。自六十年代开始,就接受和培养来自世界各国的留学生,现有本科、硕士、博士等各级各类留学生260余人。学校已与20多个国家和地区的44所大学建立了紧密的校际交流关系,并与美国、加拿大、日本等近20个国家的高校、机构开展办学、科研等方面的合作。目前正在执行的校际合作与交流项目有17个,其中与澳大利亚、英国一流大学之间的“2+2”学分互认合作项目受到学生的欢迎。学校聘请了50多位国外著名的学者和教授担任学校的名誉教授或客座教授,每年举办国际及双边学术交流会,已逐步成为轻纺、食品、艺术设计等领域的国际交流中心。
  学校图书馆现有藏书152.76万余册、电子图书37.40万册,中外文期刊3100余种,建有教育部科技查新工作站。学校编辑出版自然科学、人文社会科学、食品与生物技术、教育科学等4种学报及《冷饮与速冻食品工业》和《电池工业》杂志,向国内外公开发行。
  在教育部、省、市政府的大力支持下,地处无锡蠡湖新城、太湖之畔,占地3100多亩的学校新校区已建成面积36万平方米。新校区以“生态校园•曲水流觞”为设计理念,融青瓦白墙的江南建筑风格与小溪、树林、草坪的多层次园林空间为一体,展现绿色、水乡、文化韵味。设施先进、功能齐全、环境优美的现代化校园,为莘莘学子学习研究提供了良好的条件。
  钟灵毓秀的江南山水,造就了江南校园开拓进取的学术氛围;蕴涵深厚的人文传统,赋予了江南学子锐意求新的创造精神。迈入新世纪,学校迎来了改革、发展的良好机遇,“211工程”将重点建设和发展工业生物技术、食品科学工程和安全、工业设计创新系统、纤维制品现代加工技术、中小企业管理与发展、轻工过程信息化科学与工程等6个优势和特色明显的学科群,进一步提升学校在轻纺、食品等学科领域的优势地位,使学校的整体办学水平和人才培养质量得到全方位的提高。
  积百载跬步,创世纪辉煌。江南大学提出的发展总体目标是,经过五至十年时间的努力,把学校建成以工为主、理工结合、工理文交融,科技教育与人文教育协调发展,具有鲜明特色、先进水平,在国内有较大影响的教学研究型开放式多科性大学;通过不断创特色、上水平、求发展、增实力,力争在本世纪中叶,把学校建成国内一流、国际有影响、部分学科达到国际先进水平的综合性大学。
2、南京农业大学无锡渔业学院是南京农业大学与中国水产科学研究院淡水渔业研究中心,在多年联合办学的基础上于1993年7月成立的,她依托南京农业大学雄厚的基础教学条件,和淡水渔业研究中心优越的专业教学条件,为我国及国际水产事业的发展培养了一大批优秀的专业技术人员和管理人才。
学院的宗旨是以推进我国和发展中国家的渔业科学和渔业生产,使渔业产品在当今人类改革食物结构,提高营养水平,创造经济财富方面起重要作用。通过努力,使该院成为一个国际性的渔业科学教育和研究中心。
学院座落在风景秀丽的太湖之滨,中国著名的旅游城市--无锡的西南角上,与中央电视台太湖影视基地相邻,离市区仅10公里之遥,依山傍水,环境十分幽美,交通便利,有1路和820路公交车直达。学院占地面积26公顷,建筑面积达35000多平方米。
南京农业大学从1984年开始和淡水渔业研究中心联合办学,设淡水渔业专业(专科)。学院于1994年新开设了“淡水渔业”本科专业。现设水产养殖本、专科专业,水产养殖博士点和硕士点,每年招收博士生、硕士、本科、专科各种层次。
该院长期招收外国留学生,为亚太地区名国培养淡水渔业的技术人才,今后还将进一步提高留学生的办学层次,招收硕士研究生,在招收留学生方面曾受到联合国FAO和UNDP、亚洲水产养殖中心网(NACA)的大力支持。
设有以中国工程院院士夏德全研究员为主的淡水鱼类遗传育种生物技术研究室、营养与饲料、特种水产养殖室、水产品病害研究室、渔业环境保护、渔业经济与信息中心、内陆水域增养殖等7个教研室。学院现有教职员工340名,其中具中高级职称的教师有80名。有突出贡献的农业部中青年专家和享受政府特殊津贴的18人。现有博士3人,硕士25人。
在科学研究方面,先后承担和圆满完成了国家自然科学基金、“八六三”、国家攻关和省、部级课题190多项,获得各类奖励成果85项,其中国家科技进步二等奖1项,国家科技进步三等奖4项。92年获农业部农业机构综合科研能力奖。
在多年的联合办学的实践中,南京农业大学无锡渔业学院的领导非常重视提高学院的教学质量,办学条件逐年得到改善,教学管理趋于完善,教风好、学风正,经过多年的努力,学院的各项办学条件已得到改善,教学手段已基本实现了现代化,配备了语音室、电脑房和先进的电教中心。
学院非常重视发展工作。依托淡水渔业研究中心,综合利用经贸部TCDC培训项目的人力、财力、物力。扎实提高教学质量,改善教学条件,学院领导在经费许可的情况下,投入大量的资金,进行教学设施的改造和教学仪器、设备的添置,积极改善学院的办学备件。建院六年来,学院不断改进教学设施,提高教学质量,目前已拥有教学楼、实验室、图书馆、学生宿舍楼、语音室、电脑房、活动健身房、学生食堂、足球场、蓝球场、大客车、教学实习基地等设施,为国家培养水产专业人才创造了较好的条件。
铝属于两性金属,遇到酸性或碱性都会产生不同程度的腐蚀,尤其是铝合金铸件的孔隙较多,成分中还含有硅和几种重金属,其防腐蚀性能比其他铝合金更差,没有进行防护处理的铝铸件只要遇到稍带碱性或稍带酸性的水,甚至淋雨、水气、露水等就会受到腐蚀,产生白锈。
解决的办法。
铝铸件完成铸造后,在机械加工前,先要进行表面预处理,如预先对铸件进行喷砂,涂上一道底漆(如锌铬黄底漆),在此基础上再进行机械加工,以避免铸铝件在没有保护的情况下放久了被腐蚀。
嫌麻烦就把你洗衣机的型号或断皮带,拿到维修点去买1个,自己装上就可以了(要有个小扳手把螺丝放松,装上皮带,拉紧再紧固螺丝)。
考虑是由于天气比较干燥和身体上火导致的,建议不要吃香辣和煎炸的食物,多喝水,多吃点水果,不能吃牛肉和海鱼。可以服用(穿心莲片,维生素b2和b6)。也可以服用一些中药,如清热解毒的。
确实没有偿还能力的,应当与贷款机构进行协商,宽展还款期间或者分期归还; 如果贷款机构起诉到法院胜诉之后,在履行期未履行法院判决,会申请法院强制执行; 法院在受理强制执行时,会依法查询贷款人名下的房产、车辆、证券和存款;贷款人名下没有可供执行的财产而又拒绝履行法院的生效判决,则有逾期还款等负面信息记录在个人的信用报告中并被限制高消费及出入境,甚至有可能会被司法拘留。
第一步:教育引导
不同年龄阶段的孩子“吮指癖”的原因不尽相同,但于力认为,如果没有什么异常的症状,应该以教育引导为首要方式,并注意经常帮孩子洗手,以防细菌入侵引起胃肠道感染。
第二步:转移注意力
比起严厉指责、打骂,转移注意力是一种明智的做法。比如,多让孩子进行动手游戏,让他双手都不得闲,或者用其他的玩具吸引他,还可以多带孩子出去游玩,让他在五彩缤纷的世界里获得知识,增长见识,逐渐忘记原来的坏习惯。对于小婴儿,还可以做个小布手套,或者用纱布缠住手指,直接防止他吃手。但是,不主张给孩子手指上“涂味”,比如黄连水、辣椒水等,以免影响孩子的胃口,黄连有清热解毒的功效,吃多了还可导致腹泻、呕吐。
合肥政务区网络广告推广网络推广哪家公司比较好 一套能在互联网上跑业务的系统,被网络营销专家赞为目前最 有效的网络推广方式!
1、搜索引擎营销:分两种SEO和PPC,即搜索引擎优化,是通过对网站结构、高质量的网站主题内容、丰富而有价值的相关性外部链接进行优化而使网站为用户及搜索引擎更加友好,以获得在搜索引擎上的优势排名为网站引入流量。
良工拥有十多位资深制冷维修工程师,十二年生产与制造经验,技术力量雄厚,配有先进的测试仪器,建有系列低温测试设备,备有充足的零部件,包括大量品牌的压缩机,冷凝器,蒸发器,水泵,膨胀阀等备品库,能为客户提供迅捷,优质的工业冷水机及模温机维修和保养。
楼主,龙德教育就挺好的,你可以去试试,我们家孩子一直在龙德教育补习的,我觉得还不错。
成人可以学爵士舞。不过对柔软度的拒绝比较大。  不论跳什么舞,如果要跳得美,身体的柔软度必须要好,否则无法充分发挥出理应的线条美感,爵士舞也不值得注意。在展开暖身的弯曲动作必须注意,不适合在身体肌肉未几乎和暖前用弹振形式来做弯曲,否则更容易弄巧反拙,骨折肌肉。用静态方式弯曲较安全,不过也较必须耐性。柔软度的锻炼动作之幅度更不该超过疼痛的地步,肌肉有向上的感觉即可,动作(角度)保持的时间可由10馀秒至30-40秒平均,时间愈长对肌肉及关节附近的联结的组织之负荷也愈高。
如果你是共享者,那么就要主机要提供授权给你,你才可以修改。因为你属于子机。如果你自己是主机,那就随便改了,没有任何问题的。
不要钱,但是注册要钱,不注册使用功能有限。
如果你家里有两台电脑并且你选择了共享这个共享文件夹的话.
另一台电脑是可以看见里面的文件的.
如果你不选择共享.是不会被另一台电脑看见的.
登录爱问共享资料签到每天登录固定给你5个积分,但现在不会自动给你积分,需要你签到才给你分。每天的签到积分跟你连着签到的天数有关,你连着签到几天就给你几个积分。比如说你连着2天签到,那么第二天的签到积分就是2;连着三天签到,第三天的签到积分就是3,但是到你连着签到五天之后,以后每天的签到积分就固定为5了。5分封顶的。中间如果你有一天没有签到,那么下一次的签到积分就要重新开始算,又得从1分开始算起了。
每次访问新网站时都要求重复输入相同的信息,如地址或电子邮件名称,“配置文件助理”可以省去这些麻烦。通过将信息存储在您的计算机上来省去这些麻烦。未经您的允许,任何信息不能从计算机上查看,或与他人共享。
要看你是在哪儿共享了,大致上可以设置成只读属性,既然是共享了,那其他的没有什么可防范的,能够共享的就不会有隐私的存在,所以也不存在泄漏隐私的可能。
中文名数据共享释义用户能够读取他人数据反映一个国家的信息发展水平重点开发新的应用程序及系统集成1简介2意义数据共享简介编辑随着信息时代的不断发展,不同部门、不同地区间的信息交流逐步增加,计算机网络技术的发展为信息传输提供了保障
形容某些文艺作品既优美,又通俗,各种文化程度的人都能够欣赏。
数据共享是指通过视频会议系统使身处异地的合作者相互了解情况并共享应用(例如电子白板、共享Windows应用等)
爱问共享资料积分增加的情况:
1.积分是为鼓励用户上传资料的一套奖励系统。
上传独有资料被其他用户下载是积分增加的最好途径。
2.平时储备足够的积分,您需要下载资料时才有足够的积分支付。
你好,是这样的,下载共享积分如果对方设置需要积分,你下载后,只从你的共享中扣除相应的积分.而不是知识人积分.你在你的个人信息中可以看出.它们两个积分是分开的.
就是可以共享你的流量给别的终端用。
正在加载...
Copyright &
Corporation, All Rights Reserved
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区
相关问答:12345666666ios 定位新功能----在程序中实现定位功能
Core Location是iOS SDK中一个提供设备位置的框架。可以使用三种技术来获取位置:GPS、蜂窝或WiFi。在这些技术中,GPS最为精准,如果有GPS硬件,Core Location将优先使用它。如果设备没有GPS硬件(如WiFi iPad)或使用GPS获取当前位置时失败,Core Location将退而求其次,选择使用蜂窝或WiFi。
Core Location的大多数功能是由位置管理器(CLLocationManager)提供的,可以使用位置管理器来指定位置更新的频率和精度,以及开始和停止接收这些更新。
要使用位置管理器,必须首先将框架Core Location加入到项目中,再导入其接口文件:#import 接下来,需要分配并初始化一个位置管理器实例、指定将接收位置更新的委托并启动更新:CLLocationManager *locManager = [[CLLocationManager alloc] init];
locManager.delegate =
[locManager startUpdatingLocation];
//[locManager stopUpdatingLocation];
位置管理器委托(CLLocationManagerDelegate)有两个与位置相关的方法:- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error
第一个方法处理定位成功,manager参数表示位置管理器实例;locations为一个数组,是位置变化的集合,它按照时间变化的顺序存放。如果想获得设备的当前位置,只需要访问数组的最后一个元素即可。集合中每个对象类型是CLLocation,它包含以下属性:
coordinate — 坐标。一个封装了经度和纬度的结构体。
altitude — 海拔高度。正数表示在海平面之上,而负数表示在海平面之下。
horizontalAccuracy — 位置的精度(半径)。位置精度通过一个圆表示,实际位置可能位于这个圆内的任何地方。这个圆是由coordinate(坐标)和horizontalAccuracy(半径)共同决定的,horizontalAccuracy的值越大,那么定义的圆就越大,因此位置精度就越低。如果horizontalAccuracy的值为负,则表明coordinate的值无效。
verticalAccuracy — 海拔高度的精度。为正值表示海拔高度的误差为对应的米数;为负表示altitude(海拔高度)的值无效。
speed — 速度。该属性是通过比较当前位置和前一个位置,并比较它们之间的时间差异和距离计算得到的。鉴于Core Location更新的频率,speed属性的值不是非常精确,除非移动速度变化很小
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
CLLocation *curLocation = [locations lastObject];
if(curLocation.horizontalAccuracy > 0)
NSLog(@"当前位置:%.0f,%.0f +/- %.0f meters",curLocation.coordinate.longitude,
curLocation.coordinate.latitude,
curLocation.horizontalAccuracy);
if(curLocation.verticalAccuracy > 0)
NSLog(@"当前海拔高度:%.0f +/- %.0f meters",curLocation.altitude,curLocation.verticalAccuracy);
应用程序开始跟踪用户的位置时,将在屏幕上显示一个是否允许定位的提示框。如果用户禁用定位服务,iOS不会禁止应用程序运行,但位置管理器将生成错误。
第二个方法处理这种定位失败,该方法的参数指出了失败的原因。如果用户禁止应用程序定位,error参数将为kCLErrorDenied;如果Core Location经过努力后无法确认位置,error参数将为kCLErrorLocationUnknown;如果没有可供获取位置的源,error参数将为kCLErrorNetwork。
通常,Core Location将在发生错误后继续尝试确定位置,但如果是用户禁止定位,它就不会这样做;在这种情况下,应使用方法stopUpdatingLocation停止位置管理器。- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error
if(error.code == kCLErrorLocationUnknown)
NSLog(@"Currently unable to retrieve location.");
else if(error.code == kCLErrorNetwork)
NSLog(@"Network used to retrieve location is unavailable.");
else if(error.code == kCLErrorDenied)
NSLog(@"Permission to retrieve location is denied.");
[manager stopUpdatingLocation];
}可根据实际情况来指定位置精度。例如,对于只需确定用户在哪个国家的应用程序,没有必要要求Core
Location的精度为10米。要指定精度,可在启动位置更新前设置位置管理器的desiredAccuracy。有6个表示不同精度的枚举值extern const CLLocationAccuracy kCLLocationAccuracyBestForN
extern const CLLocationAccuracy kCLLocationAccuracyB
extern const CLLocationAccuracy kCLLocationAccuracyNearestTenM
extern const CLLocationAccuracy kCLLocationAccuracyHundredM
extern const CLLocationAccuracy kCLLocationAccuracyK
extern const CLLocationAccuracy kCLLocationAccuracyThreeK
对位置管理器启动更新后,更新将不断传递给位置管理器委托,直到停止更新。您无法直接控制这些更新的频率,但可使用位置管理器的属性distanceFilter进行间接控制。在启动更新前设置属性distanceFilter,它指定设备(水平或垂直)移动多少米后才将另一个更新发送给委托。下面的代码使用适合跟踪长途跋涉者的设置启动位置管理器:CLLocationManager *locManager = [[CLLocationManager alloc] init];
locManager.delegate =
locManager.desiredAccuracy = kCLLocationAccuracyHundredM
locManager.distanceFilter = 200;
[locManager startUpdatingLocation];
P.s. 定位要求的精度越高、属性distanceFilter的值越小,应用程序的耗电量就越大。
位置管理器有一个headingAvailable属性,它指出设备是否装备了磁性指南针。如果该属性为YES,就可以使用Core Location来获取航向(heading)信息。接收航向更新与接收位置更新极其相似,要开始接收航向更新,可指定位置管理器委托,设置属性headingFilter以指定要以什么样的频率(以航向变化的度数度量)接收更新,并对位置管理器调用方法startUpdatingHeading:
位置管理器委托协议定义了用于接收航向更新的方法。该协议有两个与航向相关的方法:
- (BOOL)locationManagerShouldDisplayHeadingCalibration:(CLLocationManager *)manager
return YES;
- (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading
第一个方法指定位置管理器是否向用户显示校准提示。该提示将自动旋转设备360°。由于指南针总是自我校准,因此这种提示仅在指南针读数剧烈波动时才有帮助。当设置为YES后,提示可能会分散用户的注意力,或影响用户的当前操作。
第二个方法的参数newHeading是一个CLHeading对象。CLHeading通过一组属性来提供航向读数:magneticHeading和trueHeading。这些值的单位为度,类型为CLLocationDirection,即双精度浮点数。这意味着:
如果航向为0.0,则前进方向为北;
如果航向为90.0,则前进方向为东;
如果航向为180.0,则前进方向为南;
如果航向为270.0,则前进方向为西。
CLHeading对象还包含属性headingAccuracy(精度)、timestamp(读数的测量时间)和description(这种描述更适合写入日志而不是显示给用户)。下面演示了利用这个方法处理航向更新:
- (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading
if(newHeading.headingAccuracy >=0)
NSString *headingDesc = [NSString stringWithFormat:@"%.0f degrees (true), %.0f degrees (magnetic)",newHeading.trueHeading,newHeading.magneticHeading];
NSLog(@"%@",headingDesc);
trueHeading和magneticHeading分别表示真实航向和磁性航向。如果位置服务被关闭了,GPS和wifi就只能获取magneticHeading(磁场航向)。只有打开位置服务,才能获取trueHeading(真实航向)。
下面的代码演示了,当存在一个确定了经纬度的地点,当前位置离这个地点的距离及正确航向:
#import "ViewController.h"
#define kDestLongitude 113.12 //精度
#define kDestLatitude 22.23 //纬度
#define kRad2Deg 57.2957795 // 180/π
#define kDeg2Rad 0. // π/180
@interface ViewController ()
@property (strong, nonatomic) IBOutlet UILabel *lblM
@property (strong, nonatomic) IBOutlet UIImageView *imgV
@property (strong, nonatomic) CLLocationManager *locationM
@property (strong, nonatomic) CLLocation *recentL
-(double)headingToLocation:(CLLocationCoordinate2D)desired current:(CLLocationCoordinate2D)
@implementation ViewController
- (void)viewDidLoad
[super viewDidLoad];
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate =
self.locationManager.desiredAccuracy = kCLLocationAccuracyThreeK
self.locationManager.distanceFilter = 1609; //1英里≈1609米
[self.locationManager startUpdatingLocation];
if([CLLocationManager headingAvailable])
self.locationManager.headingFilter = 10; //10°
[self.locationManager startUpdatingHeading];
* According to Movable Type Scripts
* https://mathforum.org/library/drmath/view/55417.html
* var y = Math.sin(dLon) * Math.cos(lat2);
* var x = Math.cos(lat1)*Math.sin(lat2) -
* Math.sin(lat1)*Math.cos(lat2)*Math.cos(dLon);
* var brng = Math.atan2(y, x).toDeg();
-(double)headingToLocation:(CLLocationCoordinate2D)desired current:(CLLocationCoordinate2D)current
double lat1 = current.latitude*kDeg2R
double lat2 = desired.latitude*kDeg2R
double lon1 = current.
double lon2 = desired.
double dlon = (lon2-lon1)*kDeg2R
double y = sin(dlon)*cos(lat2);
double x = cos(lat1)*sin(lat2) - sin(lat1)*cos(lat2)*cos(dlon);
double heading=atan2(y,x);
heading=heading*kRad2D
heading=heading+360.0;
heading=fmod(heading,360.0);
//处理航向
- (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading
if(self.recentLocation!=nil && newHeading.headingAccuracy>=0)
CLLocation *destLocation = [[CLLocation alloc] initWithLatitude:kDestLatitude longitude:kDestLongitude];
double course = [self headingToLocation:destLocation.coordinate current:self.recentLocation.coordinate];
double delta = newHeading.trueHeading -
if (abs(delta)
self.imgView.image = [UIImage imageNamed:@"right_arrow.png"];
else if (delta > 0)
self.imgView.image = [UIImage imageNamed:@"left_arrow.png"];
else if (delta > -180)
self.imgView.image = [UIImage imageNamed:@"right_arrow.png"];
self.imgView.image = [UIImage imageNamed:@"left_arrow.png"];
self.imgView.hidden = NO;
self.imgView.hidden = YES;
//处理定位成功
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
CLLocation *curLocation = [locations lastObject];
if(curLocation.horizontalAccuracy >= 0)
self.recentLocation = curL
CLLocation *destLocation = [[CLLocation alloc] initWithLatitude:kDestLatitude longitude:kDestLongitude];
CLLocationDistance distance = [destLocation distanceFromLocation:curLocation];
if(distance<500)
[self.locationManager stopUpdatingLocation];
[self.locationManager stopUpdatingHeading];
self.lblMessage.text = @"您已经到达目的地!";
self.lblMessage.text = [NSString stringWithFormat:@"距离目的地还有%f米",distance];
//处理定位失败
- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error
if(error.code == kCLErrorLocationUnknown)
NSLog(@"Currently unable to retrieve location.");
else if(error.code == kCLErrorNetwork)
NSLog(@"Network used to retrieve location is unavailable.");
else if(error.code == kCLErrorDenied)
NSLog(@"Permission to retrieve location is denied.");
[self.locationManager stopUpdatingLocation];
self.locationManager =
- (void)didReceiveMemoryWarning
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.

我要回帖

更多关于 当前的安全设置不允许从该位置 的文章

 

随机推荐