0

我已经安装并安装了地理编码器,并且可以运行类似的功能

  <%= 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]) %> 
4

1 回答 1

0

我只会使用 Geocoder gem 在服务器端进行地理定位。requestGeocoder gem 为控制器操作中可用的对象添加了一个定位方法。因此,在您的控制器操作中,您可以执行以下操作:

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

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

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

于 2012-04-10T01:20:15.717 回答