Rails Geocoder显示用户拉长用于距离

时间:2012-04-09 21:29:11

标签: javascript ruby-on-rails html5 geolocation

我已安装并安装了Geocoder,可以运行

等功能
  <%= Geocoder::Calculations.distance_between([47.858205,2.294359], [@company.latitude,@company.longitude]) %>

哪个输出到公司的距离。但是,我想使用Geolocation数据来替换“47.858205,2.294359”与他们从移动浏览器获得的实际cooridnates。

我目前正在使用Google Geolocation Javascript HTML5来请求用户所在位置。 http://code.google.com/p/geo-location-javascript/source/browse/trunk/js/geo.js?r=74

如何在我的视图中显示此lat和long?我希望它看起来像这样

   <%= Geocoder::Calculations.distance_between([@lat,@long], [@company.latitude,@company.longitude]) %> 

1 个答案:

答案 0 :(得分:0)

我只想使用Geocoder gem在服务器端进行地理定位。 Geocoder gem为控制器操作中可用的request对象添加了一种位置方法。所以在您的控制器操作中,您可以这样做:

@lat = request.location.latitude
@long = request.location.longitude

然后在您拥有的视图代码中使用这些值。

Geocoder使用请求的IP地址进行地理定位。我不确定这是否会比通过浏览器使用地理定位更准确(它也可能使用IP地址,我真的不知道实现的工作方式)。