MongoDB Railsで使えるGem

Rails3.2でHTML5で取得した位置情報をMongoDBに保存してGoogleMapsでみる~mongoid、gmaps4rails

投稿日:

前提

Rails3.2でhtml5で取得した位置情報をAjaxで住所表示する~geocoder

Mongoid

Gemfile

bundle

generate

わたしは別の仮想PCのMongoDBを使うので、そのIPアドレスを指定した

model

とりあえず最低限

include Mongoid::Timestampsでタイムスタンプを記録する

controller

この1行をくわえるだけ

データベースからデータが挿入されるか確認する

スケルトンを作る

home/showに今までの記録一覧と地図を表示する

*ちょっと失敗したかも別コントローラーの方がいいかも

index.html.erb

リンクを作って

config/routes.rb

show.html.erb

home_controller

Gmap4railsのインストール

Gemfile

bundle

generate

 model

gmaps4railsは住所などから自動的に位置情報を取得してデータベースに記録してくれる

今回はhtml5から位置情報を取得するのでこの機能はオフにする

読み出す方はデータベースにlatitudeとlongitudeがあればとりあえずグーグルマップは表示されるようだ

とりあえず地図を表示させる

controller

今回は一覧表と地図を出すので

 

view

 

css

Twitter Bootstrapを使っているので

 確認

詳細を見られるようにする

地図を押すとその場所の地図を拡大するようにしたい

いろいろFireBugでいじった結果、Gmaps4railsでは、Gmaps.map.mapを操作すればよさそうだとわかった

ブラウザ上でコンソールを開いて

とかやると地図のズームが変わったり、移動したりするはず

参照

基本的なところはドットインストール

dotinstall.com/lessons/basic_google_maps

をみた

 

あとはjQueryでテーブルをクリックしたら上の操作を実行するようにすればOK

ついでに、クリックした行の色を変えるようにした

これで記録した箇所の詳細がみられるはずだ

-MongoDB, Railsで使えるGem
-, , ,

執筆者:

関連記事

no image

Rails3.2でBackbone.jsとPrivate_pubでToDoアプリをリアルタイム化(できた!)

参考 Rails3.2でリアルタイムメッセージング~Private_pub、Faye Rails3.2とBackbone.jsでToDoアプリを作ってみた~backbone-on-rails &nbs …

Rails3.2でみたまま編集 〜hallo editor

  By: Fabio Marini – CC BY 2.0 文字をダブルクリックしてそのままフォーム編集するやつのメモ~in place edit 文字をダブルクリックしてその …

no image

Rails3.2でOpenDocumentText(.odt)を作成~serenity

  これも途中経過デス   odtはOpenOffice.orgのwriterなんかの保存形式 serenityはerbライクなodtテンプレートから変数を利用して文書を作成してく …

no image

Rubyでxmlの要素の追加など~nokogiri

目次1 はじめに2 文字列をパースしてxmlとして読み込んでそのままxmlとして出力する3 nodeの追加4 nodesetの作成と追加5 DocumentFragmentの作成と追加 はじめに 参考 …

Rails4とD3.jsでローソク足グラフを描く〜d3.js編

前回 Rails4とD3.jsでローソク足グラフを描く〜Rails準備編 目次1 jsonデータ2 y_scaleを考える3 始値と終値から箱をつくる4 高値と安値でひげをつくる5 y_axisをつけ …