1

私が構築しているアプリは、ユーザーがいる都市/町に基づいてイベントにユーザーを一致させることができる必要があります。私はまだRailsに比較的慣れておらず、Geolocationとアプリ内の場所の使用にまったく慣れていません。ユーザーが1つまたは複数の都市を持ち、イベントには、入力されたイベントアドレスから取得することで、ユーザーに特に尋ねることなく抽出したい1つの都市が含まれるデザインを考えました。

主に、アドレスを正しく一貫して入力するための外部チェックを提供するだけでなく、マップを表示するために、このjqueryアドレスピッカー(https://github.com/sgruhier/jquery-addresspicker)をインストールしました。残念ながら、Googleから返されるデータには都市は含まれていませんが、都市名と確実に相関しない「地域」または「行政区域」が含まれています。返される地域は、私の故郷の私たちが「郊外」と呼ぶものに似ています。私が調達する必要があるのは都市です。これにより、ユーザーは郊外のイベントだけでなく、都市のすべてのイベントを検索できるようになります。

誰かが私がこれを行う方法についてアドバイスを提供できますか?どうもありがとう。

編集:Googleマップの制限に問題が発生したり、ジオコーディングなどの費用を支払ったりしないように、クライアント側でジオコーディングを実行したいことを追加する必要があります。

4

2 に答える 2

0

それを提供するgemがいくつかあり、距離の計算などの地理関連の機能もあります。

これが最も有名な 2 つです: https://github.com/alexreisner/geocoderhttps://github.com/imajes/geokit

将来的には、https://www.ruby-toolbox.com/にアクセスして、すでに gem として利用できるものと、現時点で最も人気のあるものを確認することを強くお勧めします。

于 2012-11-17T03:23:40.793 に答える
0

生の住所情報については、Google Maps API のリバース ジオコーディングを使用します。これは、緯度/経度の入力を受け入れ、番地のコンポーネントを返します。最新のブラウザーは、ユーザーの許可を得て位置認識 (地理位置情報) をサポートし、ブラウザーの場所に「近い傾向がある」緯度/経度を提供します。ほとんどの場合、これで正しい都市/町が得られるでしょう。

maps API は、Google の広範な API ツール スイートの一部です。Google API (ほとんどの API) を処理する gem があります。または、Google Maps for Rails を確認してください。少なくとも、良いスタートを切ることができます。 APIの使い方について。

ただし、郵便番号を検証する場合、この方法では不十分です。ブラウザ、デバイス (モバイルの方が正確)、接続、人口密度、ネットワーク カバレッジなどによって位置認識の精度が異なるためです。 . また、

GPS で正確な緯度/経度を取得できれば、はるかに正確になります。ただし、大都市などの場合を除いて、単一の建物には独自の郵便番号があるため、片道または反対方向に数フィートが問題になる場合があります。 .

于 2012-11-17T04:22:41.317 に答える