我已安装并安装了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]) %>
答案 0 :(得分:0)
我只想使用Geocoder gem在服务器端进行地理定位。 Geocoder gem为控制器操作中可用的request
对象添加了一种位置方法。所以在您的控制器操作中,您可以这样做:
@lat = request.location.latitude
@long = request.location.longitude
然后在您拥有的视图代码中使用这些值。
Geocoder使用请求的IP地址进行地理定位。我不确定这是否会比通过浏览器使用地理定位更准确(它也可能使用IP地址,我真的不知道实现的工作方式)。