http://kenjiro2u.blogspot.com/2009/09/google-maps-on-rails.html
http://d.hatena.ne.jp/zariganitosh/20081012/1223816212
http://ym4r.rubyforge.org/
構成は
* rails 2.3.8
* ym4r-gm --- google map APIを扱うプラグイン
* Google API
まずは、テストプロジェクトを作成し、Google APIを取り扱うプラグインYM4R/GMをインストール。
$ rails map_test $ cd map_test $ sudo gem install ym4r $ ruby script/plugin install git://github.com/queso/ym4r-gm.git $ script/generate controller Map index
Google Map APIを使うため、Google Maps API Keyを取得します。
4年程前かな。なぜか、このKeyの取得が上手くいかずに凝っただが、今回は簡単にGet。日本語のドキュメントが整備されているのが大きいな。
http://code.google.com/intl/ja/apis/maps/signup.html
日本語ドキュメントは大変貴重で、いろいろと気になることが判った。
* ドメイン名で取得することが吉。www.miyabiit.com ではなく、miyabiit.comでとる。
* localhost は無条件で使える。開発のため。もちろん、自分自身しかみえないけど。
* ビジネス利用のためpremierサービスがある。パスワード利用のサイト構築、有償サイトは要検討。
取得したKeyは、/config/gmaps_api_key.yml に記載します。このファイルはプラグインインストール時に自動作成されているはずです。
html header部に、以下の2つのヘルパーメソッドを埋め込み、必要なjavascript, htmlコードを生成します。
layoutファイルを利用したので、以下のように作成。
<%= GMap.header %> <%= @map.to_html %>
コントローラ /app/contoller/map_controller.rb にて @mapを生成し、viewに渡します。
def index palo_alto = [37.4419, -122.1419] # 位置情報を配列で用意 # google map api オブジェクトを作成。表示タグ map_div @map = GMap.new("map_div") # 位置の表示 @map.center_zoom_init(palo_alto, 10) # 拡大縮小ボタン、地図タイプ切り替えボタン @map.control_init(:large_map => true, :map_type => true) # マーカの指定 @map.overlay_init(GMarker.new(palo_alto, :title => "パロアルト", :info_window => "これは情報窓" ) ) end
viewには以下のコードを埋め込みます。
<%= @map.div(:width => 500, :height => 400) %>
これで、railsを実行すれば以下のような画面をみることが出来ます。
0 件のコメント:
コメントを投稿