こんにちは、エンジニアの神山です。最近大豆製品ばっかり食べています。 今回はWebサービスでよく見かける、現在地周辺検索を行う機能の実装について書きました。 例えば現在地から半径2km内にあるレストランを検索したり、現在地より最寄りの駅を探したりできる機能です。 今回使用したGemは、 geocoder と geokit-rails です。 まずこの2つのGemにフォーカスして話を進めていきます。 GeocoderとGeokit これらのGemは住所から緯度経度を割り出したり、緯度経度を用いた検索ロジックを提供しております。 具体的には以下の様な事ができます。 住所から緯度経度を割り出す 緯度経度から住所を割り出す IPアドレスから緯度経度を割り出す 指定したオブジェクトまたは緯度経度を中心に、指定した距離内や範囲(ex: 2km~5km)にある施設を検索する 2点間の距離を算出する ある