blog.tstylestudio.com
geocoder + Sinatra (+ ActiveRecord) で位置情報を使ってみる その2
geocoder + Sinatra (+ ActiveRecord) で位置情報を使ってみるの続きです。 懸案だった住所を入力したら緯度経度を自動で入力してくれる機能を追加します。 ルートの追加 geaapp.rbに以下を追加して、住所の入力・表示をするルートを作り、 [crayon-5ade5eb53a428303409090/] Viewの追加 address.erbというファイルを作り、以下を追加しました。 [crayon-5ade5eb53a436763813787/] これで登録した住所一覧が表示されるようになるはずです。 起動して [crayon-5ade5eb53a43e853470628/] ブラウザで確認は [crayon-5ade5eb53a446160460784/] 次はDBに登録部分 viewで作ったformからデータベースに登録する部分を作ります。 [crayon-5ade5eb53a44d954209814/] これでformを作ってるので、post '/create'を追加します。 params[:address]の中に入力した住所が入っているので登録します。 [crayon-5ade5eb53a454108949203/] DBを確認してみると 住所を入力したら、緯度経度が自動で入力されました。 ↓このモデルの記述だけで、自動で登録してくれるんでしょうね〜。 [crayon-5ade5eb53a45b005131475/] 凄いな、geocoder ついでに この緯度経度情報から地図を表示してみます。 住所一覧の地図を表示ボタンをクリックして表示するようにしました。 [crayon-5ade5eb53a463011680219/] こんな感じでformを作ってるので、post '/map'を追加します。 そしてDBからデータを持ってきて、Viewに渡します。 [crayon-5ade5eb53a46a078578022/]