rails geocoder从current_loation找到附近的位置

时间:2016-02-20 16:29:49

标签: ruby-on-rails ruby-on-rails-4 geolocation geocoding rails-geocoder

我刚刚关注了地理编码器的RailsCast教程 http://railscasts.com/episodes/273-geocoder。我正在使用Rails 4。

在gem文档中,它指出Geocoder也可以通过IP地址进行地理编码。比如在位置模型里面

geocoded_by :address after_validation :geocode, :if => :address_changed?

目前我的应用程序发现纬度和经度为浮点数,并在位置模型中使用地址字段,定义如下:

 <p>
 <strong>Address:</strong>
 <%= @location.address %>
 </p>

 <p>

<h3>Nearby Locations</h3>
<ul>

<%= request.location %> #bring back something like #<Geocoder::Result::Freegeoip:0x007fb15ae25c80>
<%= request.location.latitude %> # brings back latitude etc 


<% for location in @location.nearbys(10) %>
<li> <%= link_to location.address, location %> (<%= location.distance.round(2)%> miles)</li>
<% end %>

控制器是标准脚手架,没有任何改变,所以它做标准的位置CRUD。

并在位置/显示视图中(您会注意到我已经开始使用request.location,但需要根据当前位置(ip_address)附近的位置查看位置):

std::this_thread::sleep_for

现在我知道如果我处于开发模式,我无法看到lat和long的坐标,所以这些只适用于生产模式。但是,如果我想使用当前位置或IP而不是基于地址的nearbys使用附近位置进行搜索。我该怎么办?

0 个答案:

没有答案