【问题标题】:get location on iphone ONLY from the GPS - not the wifi network仅从 GPS 获取 iPhone 上的位置 - 而不是 wifi 网络
【发布时间】:2011-03-07 08:32:45
【问题描述】:

我正在创建一个使用位置的应用程序-

除了一件事之外,一切都很顺利-

当我回家时,我的 iphone 连接到我的本地 wifi 网络,而不是使用手机中的 gps 获取我的位置,它试图通过找出我的 wifi 网络连接到的位置来获取它 - 如果我关闭我的 wifi保持准确的定位点-

只要我的手机连接到我的 wifi 网络,它就会开始告诉我我的位置距离我的实际位置几公里/英里。

我希望我的应用不要使用 wifi 网络来尝试获取我的位置-

有什么办法可以- 一种。判断一个位置点是否来自 GPS,这样我就可以忽略来自 wifi 网络的位置。 湾。停止定位服务跳转到 wifi 定位

【问题讨论】:

    标签: iphone geolocation gps


    【解决方案1】:

    好吧,我玩了一些

    找到了一些苹果文档,上面写着[location verticalAccuracy] 需要带 gps 的设备。

    所以我将这段代码插入(删节)中,根据我所做的有限测试,它似乎正在做我想做的事:

    if (([location horizontalAccuracy] > 0) && ([location verticalAccuracy] > 0)){
         //report location here
    }
    

    感谢大家的回复。

    【讨论】:

      【解决方案2】:

      它在家中使用 WIFI 的原因是因为它无法直接看到太空中的 GPS 卫星 - 它不会不给你任何位置数据,而是使用下一个最佳可用来源。

      【讨论】:

        【解决方案3】:

        iPhone 不仅可以通过 Wi-Fi 或移动网络获取不准确的 GPS 坐标,还可以获取精度级别 >100 米的真实坐标。

        我用的是放行:if (newLocation.horizontalAccuracy < 0 || newLocation.horizontalAccuracy > 50) return;

        作为didUpdateToLocation的第一行,过滤掉不准确的坐标。

        “位置年龄”,即NSTimeInterval locationAge=[locTimestamp timeIntervalSinceNow]; 不适合我摆脱缓存的坐标。

        【讨论】:

          【解决方案4】:

          A-GPS = GPS + 蜂窝塔三角测量。没有WI-FI定位。

          【讨论】:

          • 嘿阿德里安,谢谢你的回复——我的 iphone 给我的位置与我的 ipod 相同,而我的 ipod 没有 GPS 或手机接收功能——我假设我的 iphone 正在从与我的 ipod 相同的地方 - 我应该注意:我家没有电话接收(锡屋顶大声笑) - 干杯,戴夫 -
          • A-GPS 只是意味着手机信号可以用来加速 GPS 锁定。它不会影响 GPS 的定位精度。是的,还使用了 WiFi 位置。
          • @jamone 你能定义WI-FI吗?请先看看 AGPS 是什么意思,不要告诉我你家的 WiFi 路由器可以告诉你你在 iPhone 上的位置。是的...细胞三角测量用于更好的定位。
          • 众所周知,iPhone/iPod touch/iPad 使用 skyhook 服务,可以查找 WiFi 的 MAC 地址,然后查询 Web 服务并找出该热点的大致位置。这是通过映射 WiFi 热点来完成的,类似于谷歌的街景视图。维基百科“辅助 GPS,通常缩写为 A-GPS,是一种可以提高 GPS 启动性能的系统”它通过给它一个起始位置和年历数据和其他一些东西来帮助 GPS 更快地锁定。这并不意味着 GPS 仅将其用于定位。它只是为了更快地开始。
          • 没有wifi定位?你喝醉了吗?
          【解决方案5】:

          您可以设置 cLLocationAccuracy.desiredAccuracy = kCLLocationAccuracyBest 并查看是否可以。它应该尝试限制 GPS 的使用,但这并不是 100% 的保证。

          【讨论】:

          • 嘿 jamone-感谢您的回复-是的,我已将其设置为最佳,但位置服务似乎更倾向于使用 wifi,而不是 gps-干杯,戴夫。
          【解决方案6】:

          除了要求用户关闭他的 Wifi 之外,没有记录的方法可以强制位置管理器通过 Wifi 使用 GPS。使用私有 API 可能是可行的,但这也会让您被 App Store 拒绝。

          【讨论】:

          • 嘿,戴夫-谢谢您的回复-我很害怕-我在网上搜索后找不到任何东西-我希望有人有一种狡猾的方式来做这件事而不会被应用商店拒绝-可能不得不结束在点之间进行某种时间/距离计算,以查看新位置在物理上是否不可行,但这将是一个非常糟糕的解决方案 - 干杯,戴夫。
          猜你喜欢
          • 2017-08-20
          • 1970-01-01
          • 2011-02-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-11-06
          • 2011-02-11
          相关资源
          最近更新 更多