代码之家  ›  专栏  ›  技术社区  ›  Tim Lytle

是否可以从HTTP请求中获取(粗略的)移动电话位置?

  •  7
  • Tim Lytle  · 技术社区  · 15 年前

    如果内存服务正确,谷歌会为地图网站做这个。我知道谷歌的移动地图应用程序可以确定大致的位置(我假设使用某种手机塔查找),但我似乎记得当在移动浏览器上查看时,该网站与当前位置有点接近。

    有人知道怎么可能吗?IP地址是否会根据塔或区域而改变(似乎他们会使用某种对运营商通用的网关)?

    5 回复  |  直到 10 年前
        1
  •  2
  •   Sam Machin    15 年前

    对于常规的HTTP请求,您唯一的选择是geoip,但这只会让您的国家和运营商没有更好的选择。

    根据您使用的应用程序和设备的不同,地理位置有多种选择,例如iPhone和Android浏览器支持HTML5地理javascript功能,因此您可以在页面中放置一些代码来向您发送位置。然而,这些都涉及到一些客户端代码。

    另一个选项涉及处理网络,他们可以在请求中向您提供电话号码作为附加头,然后您可以通过操作员的API查询该号码,以从网络中获取电话的位置。然而,他们对这个功能收取了相当大的一分钱,其精度从城市环境中的100米左右到农村地区的35公里不等。

        2
  •  2
  •   this. __curious_geek    15 年前

    这是不可能的。

    1) 通过查询网络详细信息定位。

    即使您通过查询网络或手机ID的详细信息从已安装的应用程序获得大致的位置,它也不会那么可靠。您将无法基于该大致位置执行任何操作。

    2) 通过查询IP定位。

    第二,在一个国家,一个电信公司将拥有地理位置定位的GPRS或边缘网关,网络上的所有设备都通过该网关连接到互联网。所以基本上你不能依靠IP的位置细节,因为这是网关的IP,而不是设备的IP(在边缘的情况下)。

    最后,如果你需要做任何基于位置的事情, 位置本身需要精确而不是近似。

        3
  •  1
  •   sam ozluk    14 年前

    我们使用google gears已经有一段时间了,它适用于WindowsMobile5.0plus设备。谷歌最近停止了这项服务。雅虎现在已经开始了一个叫做雅虎火鹰的项目。听起来不错,还没有检查过。我还没有雅虎帐户。

        4
  •  1
  •   confiq    14 年前

    您有关于此的Google API文档:

    http://code.google.com/apis/gears/geolocation_network_protocol.html

    希望有帮助…

        5
  •  1
  •   Kevin    14 年前

    有点晚了,但另一个没有提到的选项是MaxMindGeoIP查找。输入一个IP地址,它将为您提供一个位置。提供免费服务(使用简单的API),提供城市级别的准确性。还有一个更准确的数据库,收费。我在测试过程中注意到在城市地区有多个塔/IP地址,而MaxMind数据库知道这些。你会得到位置,再加上电信提供商。

    http://www.maxmind.com/