【问题标题】:Easiest way to display location?显示位置的最简单方法?
【发布时间】:2011-05-20 18:21:58
【问题描述】:

什么是最新、最准确的交钥匙代码,可注入页面以自动读取用户的 IP 并吐出他们的城市...在此页面上,我们从 gotorain.com 借用我想要它显示...在(动态城市)3 英里内

http://www.drillavailable.neighborrow.com/

【问题讨论】:

  • 会更喜欢使用第三方小部件或拥有自己的数据库的东西,并且只在一个干净的输入/输出中完成所有事情。但是,如果这是存储 ip 的唯一方法,我们有一个数据库然后读取并输出位置

标签: ip-geolocation


【解决方案1】:

我们一直在寻找使用的另一个是http://www.maxmind.com/app/geolitecity。看起来设置起来相当简单,并且是开源/免费的,带有适用于大多数流行语言的 api。

除了玩了 5 分钟之外没有做太多事情,但看起来很有希望。

【讨论】:

    【解决方案2】:

    我会选择位置感知浏览。查看W3C GeoLocation API

    例如,试试Google Gears Geolocation module

    这些技术使您的客户不仅可以通过查看其 IP(可以有 200 公里的偏移),还可以通过对附近无线接入点的 SSID 信息进行三角测量来进行地理定位,这可以非常精确。

    一旦获得 (lon,lat) 坐标,只需调用一些网络服务即可获取最近城市的名称。

    【讨论】:

    • 注意这一点,大多数浏览器不会默认打开(或根本没有)
    • 恰恰相反!大多数浏览器。我刚刚测试了我在这台机器上安装的所有浏览器,它们都默认支持位置感知浏览:FireFox、PaleMoon、Opera、Google Chrome 和 SRWare Iron。 5 分中的 5 分。我相信其他基于 Gecko 和基于 WebKit 的浏览器也支持它,在不同的平台上。
    • 我的意思是:浏览器会要求用户选择(如果他们想分享位置).. 我的意思是默认不打开
    • 检查 mozilla.org/en-US/firefox/geolocation ,它们默认不打开。顺便说一句,为什么要让其他人收集您的用户数据,而您有绝佳的机会这样做呢? simfool.comvip跟踪
    • 确实,与大多数会影响用户隐私的事情一样,会出现一个确认弹出窗口,询问他们是否愿意向该页面披露他们的位置。使用普通的基于 IP 的地理定位,结果可能非常不准确:在我的情况下(通过 simfool 或任何其他基于 IP 的解决方案)检测到的位置是 240 公里,因此不是可以接受 OP 的问题(要求 3 英里精度)。
    【解决方案3】:

    我会选择定位器 API http://ipinfodb.com 你可以通过 XML 或 JSON 访问它,将你的 API 密钥和 IP 发送给它,它会返回城市、州、邮编、国家等。然后你可以解析结果是您选择的语言。这是实现这一目标的最简单方法,无需实际存储任何有关 IP/位置路由的信息。

    【讨论】:

      【解决方案4】:

      是的,您只需要使用 google.loader 命名空间中的 ClientLocation 对象。总共是整个代码。

      <script src="http://www.google.com/jsapi" language="javascript"></script>
      <script language="javascript">
      if (google.loader.ClientLocation != null) {
        alert(google.loader.ClientLocation.address.city);
      } else {
        alert("Not found");
      }
      </script>
      

      可用的属性是

      • google.loader.ClientLocation.latitude
      • google.loader.ClientLocation.longitude
      • google.loader.ClientLocation.address.city
      • google.loader.ClientLocation.address.country
      • google.loader.ClientLocation.address.country_code
      • google.loader.ClientLocation.address.region

      【讨论】:

        猜你喜欢
        • 2011-02-25
        • 2011-01-17
        • 1970-01-01
        • 2018-05-06
        • 2015-08-27
        • 1970-01-01
        • 2023-03-13
        • 2021-08-02
        • 2012-09-26
        相关资源
        最近更新 更多