blog.tstylestudio.com
geocoder + Sinatra (+ ActiveRecord) で位置情報を使ってみる
Sinatra, ActiveRecord, SQliteなどは設定済みの条件です。 インストールされてなければこちらなどを参考にインストールしてみてください。 SinatraとActiveRecord,SQLite,Haml等を使ってWebアプリの雛形を作ってみた 参考 alexreisner/geocoder GeocorderでRailsアプリで簡単に位置情報を扱う Google Maps API ウェブ向け Maps JavaScript API (JSのサンプル) Google Map APIキーの取得 Google Maps API ウェブ向け Maps JavaScript API このページ中下ほどの「キーの取得」からAPIキーを取得しておく。 インストール Gemfileに追加し、インストール [crayon-5ada52bba607f165130127/] DB config/database.ymlの設定 [crayon-5ada52bba6094901748396/] Migrationファイルの作成 [crayon-5ada52bba609e384497887/] DBに反映 [crayon-5ada52bba60a8579776937/] データベースに登録部分はまだ作ってないので、DB Browser for SQLiteなどで手動登録をしました。 Sinatraファイルに記述 geoapp.rb Sinatraファイルはgeoapp.rbという名前にしました。 モデルに以下を記入する。 [crayon-5ada52bba60b2313460989/] Sinatraのルート( geoapp.rb )はこんな感じになってます。 [crayon-5ada52bba60bc423072874/] ちなみにconfig.ruの設定は [crayon-5ada52bba60c6752900722/] Viewの設定 ここは Google Maps API ウェブ向け Maps JavaScript API (JSのサンプル) をマルマル参考にしています。 [crayon-5ada52bba60cf956052259/] [crayon-5ada52bba60d8043718009/] アプリの起動 [crayon-5ada52bba60e3688199861/] こんなエラーが出ました。 [crayon-5ada52bba60ec287057763/] geocoded_byというメソッドがないと言ってるようです。 こんな時はextend Geocoder::Model::ActiveRecordをモデルに追加してあげれば良いみたいです。 ...