【问题标题】:precise geolocalization via IP通过 IP 进行精确的地理定位
【发布时间】:2011-03-03 21:22:19
【问题描述】:

前几天我绑定了 iPad,对 ip 的地理定位精度感到惊讶。实际上,世界上有这样一项反饥饿行动,可以非常准确地向您显示参与此请愿的人的位置:

http://www.1billionhungry.org/meodai/impact/

我想将其集成到我的一个项目中。 我查看了源代码,但我无法弄清楚他们是如何做到的。有人可以帮我吗?有网络服务吗?

我不寻找的是返回我的 ISP 位置的服务,我需要实际 IP 的位置

例如,我位于瑞士弗里堡,我的 ISP 位于瑞士苏黎世。这些服务中的大多数会返回我的 ISP、iPad 或我发布的链接的位置,通过 IP 向我返回精确的本地化。 (其实连地址都对)

google map api 是在这样做还是在使用其他服务?

【问题讨论】:

    标签: geolocation ip-geolocation


    【解决方案1】:

    这是一个谷歌搜索,有很多数据库可供下载: http://www.google.co.uk/#hl=en&q=ip+to+geo+database&aq=f&aqi=&aql=&oq=&gs_rfai=&fp=77130048d7e0701a

    编辑:这是一个免费下载 http://software77.net/geo-ip/

    精度会因产品而异,如果您想要更高的精度,您将不得不为此付费。

    【讨论】:

    • 那些只是把国家还给你。我需要更精确的地理定位。就像在我喜欢的网站上一样。如果放大,您会发现本地化非常准确。他们都回馈了我的 ISP 的职位,这不是我想要的。
    【解决方案2】:

    阅读this 了解有关 ipad 地理位置的文章...它并不像您想象的那样完全与 IP 相关。这就是为什么您找不到可以满足您需求的地理位置库的原因,因为它们只是将 IP 地址映射到固定位置。

    【讨论】:

    • +1 谢谢你的这篇文章,现在我知道它是如何工作的,但我仍然需要知道使用什么 web 服务来做同样的事情。 (作为 1billionhungry.org)
    【解决方案3】:

    他们正在使用另一项服务,该服务使用无线接入点进行地理定位。使用 HTML5 的geolocation API 可以在某些浏览器中访问相同的功能:

    function do_something(lat, long){
        alert(lat + ", " + long);
    }
    
    if (navigator.geolocation) {  
        /* geolocation is available */  
        navigator.geolocation.getCurrentPosition(function(position) {  
            do_something(position.coords.latitude, position.coords.longitude);  
        });  
    } else {  
        alert("I'm sorry, but geolocation services are not supported by your browser.");  
    }
    

    Google Gears plugin 提供a similar API 供那些安装了插件的不支持浏览器的用户使用。

    通常,地理定位 API 的实现使用无线接入点和手机信号塔进行地理定位。如果这些不可用(即用户在没有无线网卡的桌面上,或者附近没有无线接入点),它们通常会回退到基于 IP 的地理定位。

    【讨论】:

      猜你喜欢
      • 2018-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多