凌雪
2018-10-10
来源 :网络
阅读 1732
评论 0
摘要:本文将带你了解IOS开发入门iOS:定位服务及地图应用开发,希望本文对大家学IOS有所帮助。
本文将带你了解IOS开发入门iOS:定位服务及地图应用开发,希望本文对大家学IOS有所帮助。
一,定位服务。<p>iOS设备能提供3种不同的定位途径:</p><p>1,WiFi定位,通过查询一个WiFi<a href="https://www.2cto.com/net/router/" target="_blank">路由器</a>的地理位置的信息,比较省电;iPhone,Ipod touch 和iPad都可以。</p><p>2,蜂窝式移动电话基站定位,通过移动运营商基站定位,只有iPhone,3G版本的iPod touch和iPad可以采用。</p><p>3,GPS卫星定位,通过3~4颗GPS卫星位置定位,最为准确,但是耗电量大,不能遮挡,iPhone,iPod touch和iPad都可以采用。</p><p>iOS不像android<a href="https://www.2cto.com/os/" target="_blank">系统</a>在定位服务<a href="https://www.2cto.com/kf" target="_blank">编程</a>时可以指定采用哪种途径进行定位。iOS的API把底层这些细节屏蔽掉了,开发人员和用户并不知道现在设备采用哪种方式进行定位,iOS系统会根据设备的情况和周围的环境,采用一太最佳的解决方案。这个方案是这样的:如果能够接收GPS信息,那么设备优先采用GPS定位,否则采用WiFi或蜂窝基站定位,在WiFi和蜂窝基站之间优先使用WiFi,如果无法连接WiFi才使用蜂窝基站定位。</p><p>总体来说,GPS定位的优点是准确,覆盖面广阔,缺点是不能被遮挡(例如在建筑物里收不到GPS卫星信号),GPS开启后比较费电。蜂窝基站不仅误差比较大,而且会耗费用户流量费。而WiFi定位应该是最经济实惠的。</p><p>二,定位服务编程</p><p>1,精度越高请求获得位置信息的频率越高,这就意味着设备越耗电。</p><p>2,调用方法startUpdatingLocation定位服务就会开启,它根据设定的条件,不断地请求回调新的位置信息。因此开启这个方法一定要慎重,要在最合适的时候开,在视图控制器的声明周期方法中viewWillAppear:方法是最合适的。停止服务的方法是stopUpdatingLocation,它是视图控制器的viewWillAppear:方法中调用的,代码如下:</p><p>-(void)viewWillDisappear:(BOOL)animated</p><p>{</p><p>[super viewWillDisappear:animated];</p><p>//停止定位</p><p>[_locationManager stopUpdatingLocation];</p><p>}</p><p>三,地理信息反编码</p><p>地标类属性:</p><p>1,addressDictionary,地址信息的字典,包含一些键值对,其中的键是在Address Book framework(地址簿框架)中定义好的。</p><p>2,ISOcountryCode,ISO国家代号;</p><p>3,country,国家信息。</p><p>4,postalCode,邮政编码。</p><p>5,administrativeArea,行政区域信息。</p><p>6,subAdministrativeArea,行政区域附加信息。</p><p>7,locality,指定城市信息。</p><p>8,subLocality,指定城市信息附加信息。</p><p>9.thoroughfare,指定街道级别信息。</p><p>10,subThoroughfare,指定街道级别的附加信息。</p><p>四,关于定位服务的测试。</p><p>定位服务应用的测试和运行有两个选择:模拟器和设备。原则上是先通过模拟器,然后使用设备测试。由于定位服务的特别,使用设备测试需要我们拿着设备到现场进行测试,因此有的时候是有局限性的,我们不可能为了测试香港有没有叫“南城”的饭馆去一趟香港。所以,模拟器的测试,有时候是不可替代的。</p><p>一般使用www.mygeoposition.com通过的GPX工具。这是一个免费提供地理信息编码和反编码,生成KML和GPX文件等服务的网站。</p><p>五,使用iOS6苹果地图。</p><p>在iOS6之后不再使用谷歌地图了,而是使用苹果自己的地图,但是API编码接口没有太大的变化,使得开发人员不需要学习新东西才能进行地图的开发。这是负责任的做法。</p><p>iOS应用程序 使用MapKit API开发地图应用程序。其核心是MKMapView类使用。</p><p>六,使用程序外地图。</p><p>应用中调用程序外的地图有两个选择:iOS6苹果地图和谷歌Web地图。</p><p>七,调用谷歌的Web地图API进行开发地图应用程序,但这里所涉及的技术都是Web技术了,而非本地技术。</p><p>八,使用本地化的百度地图。</p><p>1,百度地图使用C++编写,我们需要把我们工程中一个*.m文件改成*.mm,就可以了。*.mm说明这个文件是Object-C++代码文件,即代码模块中可以有C++代码。</p><p>2,需要注意的是苹果iOS SDK提供了CLGeocoder类,也可以实现地理信息的编码和反编码,但是如果你采用的地图是百度地图,那么在地理信息编码和反编码时候,也最好采用百度地图提供的API。</p>
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之IOS频道!
喜欢 | 0
不喜欢 | 0
您输入的评论内容中包含违禁敏感词
我知道了

请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号