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 件のコメント:
コメントを投稿