【问题标题】:how to get wifi hotspot's location?如何获取wifi热点的位置?
【发布时间】:2010-11-03 10:21:37
【问题描述】:

我想编写一个应用程序,它可以记录我们正在访问的 wifi 热点的位置并在地图中显示它们。但问题是 - 我如何获得 wifi 热点的位置? 我想我可以使用wifi信号来获取wifi热点的位置,但第一次可能不是很准确。如果没有其他解决方案,我可以在第一次访问wifi热点时记录GPS的位置。

【问题讨论】:

标签: android gps location wifi


【解决方案1】:

您将无法找到热点位置,也无法确定从当前位置到实际热点的方向和距离。

热点不报告它们的坐标(我的 wifi 盒子甚至不知道它自己的地理坐标)。 Google 在他们的街景任务中捕获了热点,并使用这些结果对 wifi 热点的位置进行三角测量,其他公司也这样做来建立数据库。

因此,要获取信息,您需要访问知道热点坐标的数据库。

【讨论】:

  • 所以,我可以要求用户自己提供他们的 wifi 热点的位置,并注册我的服务。最后,我的应用程序向我的服务下载新信息以更新 wifi 热点信息。这样可以吗?
  • 省去你的麻烦,它已经存在了:openwlanmap.org/addmac.php?lang=en
【解决方案2】:

TL;DR

此类服务 (1,2) 和 apps 存在,您只需下载和/或使用即可。

本地化的技术可能性

  1. 可以通过 IP 地址进行非常粗略的本地化。这在技术上(并不总是)只允许您找到访问互联网的ISP 的位置,而不是 AP/热点本身(因为某个IP address pool 已分配给给定的 ISP)。但是,除非使用 VPN,否则它通常至少会告诉您所在的国家/地区,并且通常甚至可以精确到 50 公里以下(因为 ISP 通常有点靠近互联网接入节点)。许多现成的服务可用于此,只需搜索“ip to location API free”之类的内容即可获得良好的结果。

  2. 正如您自己认为的那样,以及已经提到的其他答案(含糊不清),但是有一个更好的(或至少是附加的)选项。您可以只使用那里的许多设备来记录接收到的 WiFi 信号并将信号强度与位置相关联。有了这样的数据库,您就可以根据接收到的信号依次定位设备。实际上有几种这样的服务,最突出的是由谷歌创建并使用(并提供数据)几乎所有安卓手机。幸运的是,其中一些是开放且免费使用(和贡献)的,例如 one provided by mozillaanother one

  3. 蜂窝塔(和according databases)通常允许定位到几十或几百米。

  4. 在某些地方使用专用蓝牙 AP 来提高定位精度,尤其是在室内。

  5. 如果您有很多时间(几个小时到几天)并且时间或多或少准确,您还可以使用光(来自太阳和月亮)来获取位置。即使使用simplest means,您也可以到达几十公里。

  6. 结合according dataset(非常不准确,但便宜)观察地磁场相对于重心的倾角。

  7. 当然是专用的satellite navigation systems,例如 GPS (~5m)、BeiDou (10m~10cm)、Galileo (1m~1cm)、GLONASS (7~3m),括号中的数字较小是商业/军事专用系统。但是,这些都需要专用的接收器。

  8. 这些卫星导航系统通常由Ground Based Augmentation Systems (GBAS) 增强,这需要额外的接收器。

所以现在您可以为您的应用挑选,其中哪些对您最有用。

【讨论】:

    【解决方案3】:

    我不这么认为。我使用 iPod touch 地图和三星 Galaxy Wonder 作为热点。 iPod 可以告诉我的位置!我的猜测是三星悄悄地效仿苹果通过 wi-fi 传递地理信息的做法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-04
      • 2012-03-23
      • 1970-01-01
      • 1970-01-01
      • 2011-09-27
      • 1970-01-01
      • 2011-06-10
      • 1970-01-01
      相关资源
      最近更新 更多