Sinatra, ActiveRecord, SQliteなどは設定済みの条件です。
インストールされてなければこちらなどを参考にインストールしてみてください。

SinatraとActiveRecord,SQLite,Haml等を使ってWebアプリの雛形を作ってみた

参考

Google Map APIキーの取得

Google Maps API ウェブ向け Maps JavaScript API
このページ中下ほどの「キーの取得」からAPIキーを取得しておく。

インストール

Gemfileに追加し、インストール

DB

config/database.ymlの設定

Migrationファイルの作成

DBに反映

データベースに登録部分はまだ作ってないので、DB Browser for SQLiteなどで手動登録をしました。

Sinatraファイルに記述

geoapp.rb

Sinatraファイルはgeoapp.rbという名前にしました。

モデルに以下を記入する。

Sinatraのルート( geoapp.rb )はこんな感じになってます。

ちなみにconfig.ruの設定は

Viewの設定

ここは
Google Maps API ウェブ向け Maps JavaScript API (JSのサンプル)
をマルマル参考にしています。

アプリの起動

こんなエラーが出ました。

geocoded_byというメソッドがないと言ってるようです。
こんな時はextend Geocoder::Model::ActiveRecordをモデルに追加してあげれば良いみたいです。
Problems implementing ruby geocoder using Sinatra

再度起動してブラウザでlocalhost:8088にアクセスしたら、表示されるようになりました。

今後の課題として

geocodingのキモは、住所<=>緯度経度の結びつきだと思うのですが、肝心なところがまだなので対応していきたいです。

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

人気のあるブログ: