为了账号安全,请及时绑定邮箱和手机立即绑定

获得地址位置的流程及遇到的问题

记忆一下:

1.引用包:import CoreLocation

2.定义常量let locationManager :CLLocationManager = CLLocationManager();

3.设置精确度locationManager.desiredAccuracy = kCLLocationAccuracyBest

4.iOS8要判断,如果是iOS8设置需要调用locationManager.requestAlwaysAuthorization()

5.写方法判断运行设备的版本: func ios8() ->Bool { return UIDevice.currentDevice().systemVersion == "8.1" }

6.启动工作:locationManager.startUpdationgLocation()

7.继承一个“协议”获得回调函数:CLLocationManagerDelegate

8.重载函数,实现获得地理信息的方法:

func locationManager(manager: CLLocationManager!, didUpdateLocations locations: [AnyObject]!){


        //定义变量location 接受locations数组的最后一个对象,并把AnyObject类型转换为定义的类型

        var location : CLLocation = locations[locations.count-1] as CLLocation


        //判断获得的location值是否正确,正确打印出来经纬度,并停止回调。

        if(location.horizontalAccuracy > 0){

            println(location.coordinate.latitude)

            println(location.coordinate.longitude)

            

            locationManager.stopUpdatingLocation()

        }

}

9.实现获得错误信息的方法:

func locationManager(manager: CLLocationManager!, didFailWithError error: NSError!){

        println(error)

 }

10. 为了支持ios8,需要设置一下plist文件,新增两个值:

       NSLocationAlwaysUsageDescription:我们需要使用你的地理位置信息

       NSLocationUsageDescription:             我们需要使用你的地理位置信息

11.绑定viewController,保存

12.编译,运行程序,点击允许获得地理信息位置,设置断点可以查看运行情况。

13.我的运行出现:kCLErrorDomain错误,重启xcode即可。其它错误可能是因为网络设置而造成的。

14.我的地址位置:经度:37.785834,维度:-122.406417


正在回答

1 回答

uuu

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Swift Weather APP
  • 参与学习       35561    人
  • 解答问题       241    个

本课程将带领大家使用Swift语言开发一个完整的天气 iOS APP

进入课程

获得地址位置的流程及遇到的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信