0

Geocoder をセットアップしてインストールし、次のような機能を実行できます

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

会社までの距離を出力します。ただし、Geolocation データを使用して、「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 を使用して、サーバー側でジオロケートします。Geocoder gem は、requestコントローラー アクションで使用可能なオブジェクトに location メソッドを追加します。したがって、コントローラーアクションで次のことができます。

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

そして、そこにあるビューコードでそれらの値を使用します。

Geocoder は、リクエストの IP アドレスを使用してジオロケートします。これがブラウザを介して地理位置情報を使用するよりも正確ではないかどうかはわかりません(IPアドレスも使用する可能性があります。実装がそのためにどのように機能するかはよくわかりません)。

于 2012-04-10T01:20:15.717 に答える