废话不多说先上代码。
关于定位
iOS中关于定位,有三种模式:
- 基站定位 由于每个基站都有一个唯一标识符,所以苹果服务器通过这个唯一的标识符来定位当前设备的位置,精度不是很高,但是效率较快。
- wifi定位 与基站识别的方式类似,通过WiFi连接后,获取到mac地址,然后在苹果服务器中确定一个位置,这个精度稍微比基站的获取到的精度更高。
- GPS定位 这个就是通过GPS卫星和设备中的GPS终端进行通讯,然后精确的定位。这种定位的精度是最高的,但是耗电量等也是最大的,然后也不能被其他的覆盖遮挡。
关于坐标系的问题
- WGS-84:国际上的GPS以及iOS定位的坐标系;
- GCS-02:国内和高德定位的坐标系(对地图数据进行加密偏移处理);
- BD-09:百度定位的坐标系(百度地图偏移多一次,仿佛记得转换成了火星坐标。);
如果直接用国内的坐标放到iOS地图上,会出现偏差,所以获取到坐标点后需要进行坐标的转换处理。
gpx文件
利用Xcode的模拟定位调试功能,文件配置是就修改掉GPS的经纬度参数,配置如下: Product->Scheme->Edit Scheme->Options->Default Location ,选择刚才创建的GPX File,allow location simulation需要打上勾。

注意: 这需要开发者账号,然后不能长时间的运行,我试了下 ,大概有半个小时。
实测

上班打卡不怕了,老婆查岗不怕了,朋友圈装逼更溜了。