零点起飞学iPhone开发之使用地图服务

上传人:lx****y 文档编号:243404493 上传时间:2024-09-22 格式:PPTX 页数:22 大小:3.17MB
返回 下载 相关 举报
零点起飞学iPhone开发之使用地图服务_第1页
第1页 / 共22页
零点起飞学iPhone开发之使用地图服务_第2页
第2页 / 共22页
零点起飞学iPhone开发之使用地图服务_第3页
第3页 / 共22页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2013/4/21,#,第,9,章 使用地图服务,地图是智能手机中的一个重要功能。在,iPhone,手机中内嵌了地图服务。在程序中使用地图服务,不仅可以实现常规的导航功能,还是增强社交类应用程序的用户黏性。本章将讲解使用地图服务的一些相关操作。,9.1,获取位置信息,要想在地图上查找某一个地址必须要知道这个地点的位置信息。在,iPhone,开发中提供了三种获取位置信息的类:显示位置数据的类(,CLLocation,),、,管理和提供位置服务的类(,CLLocationManager,)以及显示方向的类(,CLHeading,)。本节将主要为大家讲解这三种获取位置信息的类。,9.1.1,显示位置数据,要想显示经度、纬度海拔等数据信息就要是用显示位置数据的类,CLLocation,。,属性,属性名,功能,property CLLocationCoordinate2D coordinate;,位置的经度和纬度,property CLLocationDistance altitude;,位置的海拔,property CLLocationAccuracy horizontalAccuracy;,位置的水平精度,property CLLocationAccuracy verticalAccuracy;,位置的垂直精度,property CLLocationDirection course;,位置的方向,property CLLocationSpeed speed;,位置的速度,方法,方法名,功能,-(CLLocationDistance)getDistanceFrom(const CLLocation *)location,获取和某一个点之间的距离,-(CLLocationDistance)distanceFromLocation(const CLLocation *)location,两个位置间的距离,9.1.2,管理和提供位置服务,要想使用显示位置还需要创建一个专门管理和提供位置服务的类,CLLocationManger,。,CLLocationManager *locationManager=CLLocationManager allocinit;,9.1.2,管理和提供位置服务,属性,属性名,属性名,property CLLocation *location,位置,property CLLocationAccuracy desiredAccuracy,位置精度,方法,方法名,功能,-(void)starUpdatingLocation;,开始更新位置,-(void)stopUpdatingLocation;,停止更新位置,-(void)starUpdatingHeading,开始更新方向,-(void)stopUpdatingHeading,停止更新方法,9.1.3,显示位置方向,指南针,对于大家来说这个并不陌生,实现指南针这一功能的类就是显示位置方向的类,CLHeading,。,属性名,功能,property CLLocationDirection magneticHeading;,位置的磁极方向,property CLLocationDirection trueHeading;,位置的真实方向,property CLLocationDirection headingAccuracy;,方向的精度,9.1.3,显示位置方向,9.2,创建地图,地图的创建看到这一操作,大家可能,很快,就会想到要创建一个项目,在创建好的项目中单击,ViewController.xib,文件,在,Objects,窗口中将,Map View,视图拖放到用户设置界面就可以了。这样做按照以前的做法是正确的,但是现在运行结果就会出现一堆错误。,9.3,地图的使用流程,会创建地图之后,再来讲解地图的使用流程,通过这些使用流程可以让大家设置出来的地图与众不同。,9.3.1,设置显示类型,在,iPhone,开发中地图的类型不止在图,9.7,中所看到的这一种,还有其它的两种。要设置地图的类型有两种方法:一种是在,Show the Attributes inspector,选项中选择,Map View,选项,将,Type,进行设置就可以显示三种不同的地图了;另一种是使用代码进行类型的设置,这时就要使用到,mapType,属性。,9.3.1,设置显示类型,地图对象名,.mapType=,地图类型,;,Map,Satellite,Hybrid,9.3.2,获取,/,指定位置,在,iPhone,开发中开发者可以获取当前的位置,还可以指定某一位置。以下就是这两种位置的操作。,1.,获取当前位置,如果不知道地图的所在的位置在哪里的话就可以指定当前的位置,这样就可以知道现在所在的位置了。当获取当前的位置可以使用,MKUserLocation,类来实现。,MKUserLocation *,对象名,=,地图对象名,.userLocation;,2.,指定位置,如果想要看某一地方的地理环境获取当前的位置就不可取了,需要使用,CLLocationCoordinate2D,来指定经纬度。,CLLocationCoordinate2D,变量名,=,浮点型数字,浮点型数字,;,9.3.3,标记,在,9.3.2,的指定位置,的运行结果中,当按下按钮以后,屏幕只会移到一个大致的位置,当双击后,在放大的图中才可以找到指定位置的具体位置。为了让大家一眼就可以找到所指定的位置,可以将指定的位置进行标记就可以了,这时就要使用,MKPlacemark,类。,9.3.3,标记,MKPlacemark *,对象名,=MKPlacemark allocinitWithCoordinate,:,(,CLLocationCoordinate2D) addressDictionary,:(,NSDictionary *);,9.3.4,标记上显示位置,在地图上并不是将所有的地方都一个不落的标出来。如果我们知道了一个地方的经纬度,并且在地图上进行了标记,但是这个地方的名称没有在地图上标出,就要使用,didFindPlacemark(),方法在标记上显示位置,就可以知道了。,9.3.4,标记上显示位置,-(void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFindPlacemark:(MKPlacemark *)placemar,9.3.5,标注,如果想要在地图上添加一些自己的东西,例如在地图标记中不显示位置,显示一行信息,这时就要使用标注,标注是与地图的位置关联的标记。要使用标注,首先要创建一个类,可以使用系统的,MKPointAnnotation,类,还可以自己创建类。这里为大家讲解使用系统的,MKPointAnnotation,类。,9.3.5,标注,MKPointAnnotation *,对象名,=MKPointAnnotation allocinit;,9.3.6,应用地图,以上就将地图的使用流程为大家讲解完了,下面,根据我们所讲解的知识为大家实现一个地图导航。,9.4,小结,本章主要讲解了关于地图的相关操作以及地图的应用。本章的重点在于显示位置数据、管理和提供位置服务,获取地图的当前位置和指定位置。本章的难点在于地图的标记、标记上显示位置以及标注。通过本章的学习读者可以自己创建一个独特的地图导航。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!