废话不多说先上代码。
关于定位
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需要打上勾。

注意:
这需要开发者账号,然后不能长时间的运行,我试了下 ,大概有半个小时。
实测
定位到的地址是平壤。。。。刺杀鑫胖。。。。(玩笑)
这里不单单是微信,其他的app都可以,这里的demo已经把GPS的参数都修改掉了,然后其他的app在调用GPS的时候,参数都是已经被修改过的,然后是显示的定位就是被修改掉的定位。
上班打卡不怕了,老婆查岗不怕了,朋友圈装逼更溜了。
网友评论