CoreLocation

iOS定位服务与地图应用开发:高德地图开发

半腔热情 提交于 2020-03-01 14:04:48
由于博客迁移至 www.coderyi.com ,文章请看 http://www.coderyi.com/archives/419 之前工作在一家智能设备的公司,做过一个亲友定位监控系统,类似现在比较流行的360儿童手环。所以这里简单介绍定位与地图。 1 定位服务 iOS设备提供三种不同定位途径,蜂窝式移动电话基站定位;WiFi定位,通过查询一个WiFi路由器的地理位置信息,比较省电;GPS卫星定位,通过3~4颗卫星定位,最为准确,但是耗电量大。iOS系统如果能够接收GPS信息,那么设备优先采用GPS,其次是WiFi,最后是基站,开发人员不能选择哪种定位方式。 定位服务使用CoreLocation框架,主要使用CLLocationMananger、CLLocationManangerDelegate和CLLocation三个类,CLLocationMananger是定位服务管理类,获取设备的位置信息,CLLocationManangerDelegate是代理协议,CLLocation封装了位置信息。 这里要注意,CLLocationManangerDelegate 的locationManager:didUpdateToLocation:fromLocation:方法得到的坐标是火星坐标,这个原因你懂得,所以需要转换成真实的地理坐标。我使用的是一个第三方的CSqlite类

MapKit和CoreLocation

女生的网名这么多〃 提交于 2020-03-01 12:41:54
简介 现在很多的社交软件都引入了地图和定位功能,要想实现这两大功能,需要导入两个框架:MapKit和CoreLocation CoreLocation框架可以使用硬件设备来进行定位服务,不需要地图,精度相对略差,省电 MapKit框架能够使应用程序做一些地图展示与交互的相关功能,必须有地图,精度相对较高,费电 定位功能是所罗门(SoLoMo)应用的重要组成部分之一 几乎所有的iOS设备都支持位置服务,不过在使用位置服务之前,最好检查一下可用性 手机定位的三种方式:手机基站、WIFI、GPS 地图定位应该添加两个框架 #import <MapKit/MapKit.h> #import <CoreLocation/CoreLocation.h> 地图的类型 可以通过设置MKMapView的mapViewType设置地图类型 MKMapTypeStandard 普通地图 MKMapTypeSatellite 卫星云图 MKMapTypeHybrid 普通地图覆盖于卫星云图之上 MapView的代理 MapView会将一些事件传递给它的代理(遵守MKMapViewDelegate协议),代理方法如下: mapViewWillStartLoadingMap: 当地图界面将要加载时调用 mapView:viewForAnnotation: 当地图上有大头针时调用