【问题标题】:How to detect if the iPhone is using Wifi GPS, or their default wifi loation?如何检测 iPhone 是否使用 Wifi GPS 或其默认 wifi 位置?
【发布时间】:2009-07-23 01:01:46
【问题描述】:

当 iPhone 找不到 GPS 信号时,它会使用 Wifi 猜测您的 GPS 位置。

当它找不到您的 Wifi 位置时,它会默认使用您激活手机的 wifi 网络。

有什么方法可以确定这两种形式的位置何时发生?

LocationManager 提供水平准确度读数,但如果您使用家庭 Wifi,它会显示(相当不准确)它的范围是 +/-500,即使您在数英里之外。

另外,是否有可能知道手机正在读取多少颗卫星?

【问题讨论】:

    标签: iphone cocoa-touch


    【解决方案1】:

    您的问题的依据不太正确...
    CoreLocation 使用 3 种不同的方式来判断您的位置:

    1) GPS - 最准确,最耗电
    2) 蜂窝三角测量 - 仍然准确,但会消耗一些电池
    3) Wifi - Precisely Accurate,但要到 wifi 网络所在的注册地点,所以对您所在的位置最不准确;吃一些电池

    CoreLocation 允许你告诉它你想要你的“猜测”有多准确,然后根据你现在是否有 wifi 或手机开始混合 2 和 3。它几乎立即开始给你猜测(不是很准确),并会在需要的情况下打开 GPS。
    至于知道正在使用哪个,不,我认为您无法分辨,但您可能想说明您感兴趣的原因,因为可能还有其他方法可以完成您需要的工作。

    注意:该解释可能存在一些缺陷,但这是我从一位 Apple iPhone 开发代表那里得到的,他的新东西。

    【讨论】:

    • 为了解释我在做什么,我有一个 GPS 记录应用程序。我想向用户表明他们是否收到了真实的信号。目前,我刚刚将应用程序设置为如果他们无法在 150m 内获得读数,则表示信号很差,但我希望能够准确地告诉他们发生了什么。
    • 对了,我也在太浩。我住在特拉基的 Sierra Meadows。
    • 对第一条评论的回应:这似乎完全合理,但不幸的是,Apple 并没有那么开放。还要考虑这一点:很多时候 GPS 不会非常准确(在内部、建筑物反射等),因此知道 GPS 正在使用或它正在给出答案可能实际上并没有多大意义。回复第二条评论:太棒了!我希望我能回来,但我在中西部待了一段时间。今年冬天我至少应该回到阿尔卑斯山一次……(祈祷)
    【解决方案2】:

    不使用公共 API。或许可以找到私有 API 并链接它们以找出这些信息,但 Apple 不喜欢这样,并且可能会从 App Store 拒绝您的应用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-11
      • 1970-01-01
      相关资源
      最近更新 更多