美文网首页iOS开发资料收集
iOS 之虚拟定位实现

iOS 之虚拟定位实现

作者: 请输入账号名 | 来源:发表于2017-04-18 17:17 被阅读1503次

    废话不多说先上代码

    关于定位

    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需要打上勾。

    scheme的配置

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

    实测

    微信定位

    定位到的地址是平壤。。。。刺杀鑫胖。。。。(玩笑)
    这里不单单是微信,其他的app都可以,这里的demo已经把GPS的参数都修改掉了,然后其他的app在调用GPS的时候,参数都是已经被修改过的,然后是显示的定位就是被修改掉的定位。

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

    相关文章

      网友评论

        本文标题:iOS 之虚拟定位实现

        本文链接:https://www.haomeiwen.com/subject/krfqzttx.html