Rails 地理编码器显示用户经纬度以用于距离
Posted
技术标签:
【中文标题】Rails 地理编码器显示用户经纬度以用于距离【英文标题】:Rails Geocoder Displaying Users Lat Long to Use for Distance 【发布时间】:2012-04-09 21:29:11 【问题描述】:我已经安装并安装了地理编码器,并且可以运行类似的功能
<%= Geocoder::Calculations.distance_between([47.858205,2.294359], [@company.latitude,@company.longitude]) %>
这会输出与公司的距离。但是,我希望使用地理位置数据能够用从移动浏览器获得的实际坐标替换“47.858205,2.294359”。
我目前正在使用 Google Geolocation javascript html5 来请求用户位置。 http://code.google.com/p/geo-location-javascript/source/browse/trunk/js/geo.js?r=74
如何在视图中显示此经纬度?我希望它看起来像这样
<%= Geocoder::Calculations.distance_between([@lat,@long], [@company.latitude,@company.longitude]) %>
【问题讨论】:
【参考方案1】:我只会使用 Geocoder gem 在服务器端进行地理定位。 Geocoder gem 将 location 方法添加到控制器操作中可用的 request
对象。因此,在您的控制器操作中,您可以执行以下操作:
@lat = request.location.latitude
@long = request.location.longitude
然后在您那里的视图代码中使用这些值。
Geocoder 使用请求的 IP 地址进行地理定位。我不确定这是否会比通过浏览器使用地理定位更准确(也可能使用 IP 地址,我真的不知道实现是如何工作的)。
【讨论】:
感谢 Jeff,我仍在 localhost 上运行,但我确信它可以在服务器上运行,干杯。以上是关于Rails 地理编码器显示用户经纬度以用于距离的主要内容,如果未能解决你的问题,请参考以下文章