在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
一.基本知识点1.使用的基本库:CoreLocation 所以相关类都带有CL 2.主要操作的类:CLLocationManager 主要属性和方法如下
desiredAccuracy;//定位的精度设置(共6个)常用的值有kCLLocationAccuracyBest;//设备使用电池供电时的最高精度kCLLocationAccuracyNearestTenMeters;//精确到10米 distanceFilter;///设备移动后获得位置信息的最小距离 delegate//CLLocationMangerdelegate的委托协议(可用于返回定位位置信息或失败信息) requestWhenInUseAuthorization;//弹出用户授权对话框,使用程序期间授权 requestAlwaysAuthorization;//始终授权 startUpdatingLocation;//开始定位 stopUpdatingLocation;//停止定位 具体使用建议参考官方文档及搜索: CLLocationManager Class Reference 二.注意点
1.在使用定位时需要配置plist文件,否则可能发生错误,在文件中新增以下属性用于用户在使用该应用是授权定位,但是该设置也可以调用CLLocatoinManager的方法实现 NSLocationWhenInUseUsageDescription//打开应用是开启定位 NSLocationAlwaysUsageDescription//一直开启定位
2.除了需要配置plist文件(有时没有导入也可以定位),还需要导入CoreLocation的framework如下图: 3.在使用的Swift文件的开始导入头文件->" import CoreLocation" 4.在进行实际开发时,获取定位,可以使用NSlock,运行时不受打扰。 5.扩展 CLLocation类:主要存储定位后的信息( coordinate.longitude:经度 coordinate.latitude:纬度 altitude:高度) 6.扩展学习参考:使用swift构建带有地理定位功能的APP 7.如果定位失败原因,请检查a.调试定位功能没有开启。解决:模拟器的Debug->Location是否打开(即不选None) b.应用地理位置访问权限不够。 解决:初次使用应用先回到模拟器首页(Shift+COM+H),进入设置->privacy->Location Services->下面的应用列表的该应用是否选择Always. c.还有可能是自定义经纬度不符合(error:kCLErrorDomain的错误,当然得调用协议中的定位失败返回错误方法)) 三.使用主要步骤
四.代码参考
|
请发表评论