通过 rails 3 使用 IP 地理定位

Posted

技术标签:

【中文标题】通过 rails 3 使用 IP 地理定位【英文标题】:Using IP geolocation with rails 3 【发布时间】:2011-02-21 17:03:10 【问题描述】:

我正在尝试使我的主页的一部分动态化,它将获取最接近您实际位置的位置对象。

我目前有一个包含多个字段的 Location 模型,包括经度和纬度。我想返回最接近读者ip地址经纬度的位置模型对象。

我查看了 geo-kit gem,但它不支持 Rails 3。我还查看了 html5 地理位置,但它似乎只是客户端(即我得到了用户的经纬度,但页面已经显示)。我假设我可以使用 ajax,但我并不真正熟悉它,并且可能有一种资源密集型较少的方式。

解决这个问题的最佳方法是什么?

我当前使用 HTML5 地理位置的代码是:

<script type="text/javascript">
function displayLocation(loc) 
  var locDiv = document.getElementById("locationDiv");
  locDiv.innerHTML = "lat: " + loc.coords.latitude + ", lon:" + loc.coords.longitude;

function initialize()
    var homeLocation = navigator.geolocation.getCurrentPosition(displayLocation);

</script>
<section class ="round">
  <div id="locationDiv"></div>
</section>

【问题讨论】:

我在 Rails 3 应用程序中使用 geokit-rails 很好。 【参考方案1】:

试试这个宝石:https://github.com/chrisyour/geo_location

【讨论】:

以上是关于通过 rails 3 使用 IP 地理定位的主要内容,如果未能解决你的问题,请参考以下文章

通过 iPhone 的 IP 地址进行地理定位

在 Rails 上使用 javascript 和 ruby​​ 进行地理定位

谷歌地图是不是只使用我的 IP 进行地理定位?

地理定位在 Chrome/Safari 中失败,而不是 Firefox/Opera

H5 使用地理位置定位

H5 使用地理位置定位