geocoder + Sinatra (+ ActiveRecord) で位置情報を使ってみるの続きです。
懸案だった住所を入力したら緯度経度を自動で入力してくれる機能を追加します。

ルートの追加

geaapp.rbに以下を追加して、住所の入力・表示をするルートを作り、

Viewの追加

address.erbというファイルを作り、以下を追加しました。

これで登録した住所一覧が表示されるようになるはずです。

起動して

ブラウザで確認は

次はDBに登録部分

viewで作ったformからデータベースに登録する部分を作ります。

これでformを作ってるので、post ‘/create’を追加します。
params[:address]の中に入力した住所が入っているので登録します。

DBを確認してみると

Addressを登録したDBの様子

住所を入力したら、緯度経度が自動で入力されました。

↓このモデルの記述だけで、自動で登録してくれるんでしょうね〜。

凄いな、geocoder

ついでに

この緯度経度情報から地図を表示してみます。
住所一覧の地図を表示ボタンをクリックして表示するようにしました。

こんな感じでformを作ってるので、post ‘/map’を追加します。
そしてDBからデータを持ってきて、Viewに渡します。

こういうブログもありました。

人気のあるブログ: