2009年9月11日金曜日

google maps on rails

Ruby on Rails 2.x 以降で、Google Maps を利用する方法です。
いまさら、Google Maps の話かよ。って気もしますが、色々やり方が違ってきているので・・・

環境
  • ruby 1.8.6
  • rails 2.3.4
  • gem 1.3.5
  • ym4r-gm 0.4.1
まず Google Maps API から key を取得します。
開発環境であれば、 localhost:3000 で問題ないと思います。


1. プロジェクトを作成する
rails map_example -d mysql

2. データベースを設定する
適当にデータベースを作成して、datebase.ymlを編集する。

3. コントローラーを作成する
ruby script/generate controller location index

4. ym4r-gm プラグインをインストールする
ruby script/plugin install git://github.com/queso/ym4r-gm.git

5. google maps api key を YAML を追加する
/config/gmaps_api_key.yml に取得した key を追加する。

6. ヘッダーに google maps を利用するコードを入れる
views\layouts\location.html.erb のヘッダーに以下を追加する。

<%= GMap.header %>
<%= @map.to_html unless @map.blank? %>

7. コントローラから google maps のオブジェクトを作成する
coordinates = [longitude, latitude]

@map = GMap.new("map")
@map.control_init(:large_map => true, :map_type => true)
@map.center_zoom_init(coordinates,14)
@map.overlay_init(GMarker.new(coordinates, :title => "タイトル", :info_window => "吹き出しの内容"))

8. view に google maps を表示する
<%= @map.div(:width => 500, :height => 300) %>

これで google maps と連携したアプリケーションを作成できます。
あとは、 controller で maps オプションを色々と追加すればOKです!

0 件のコメント: