2011-08-09 10 views
4

gmaps4railsをRails 3.0.9で使用しています。地図に緯度と経度の座標に基づくマーカーを追加したいと思いますが、どうすればいいのか分かりません。私は、アンドレスだけで地図を使用することができました。ありがとう。gmaps4railsは緯度と経度に基づいて位置を表示します

私が使用しているコード:

アプリ/モデル/ location.rb

class Location < ActiveRecord::Base 
    acts_as_gmappable :process_geocoding => false 

    def gmaps4rails_address 
    "#{self.latitude}, #{self.longitude}" 
    end 
end 

アプリ/コントローラ/ locations_controller.rb

def index 
@json = Location.first.to_gmaps4rails 

respond_to do |format| 
    format.html 
end 

アプリ/ビューを/場所/ index.html.erb

<%= gmaps4rails(@json) %> 

locationモデルには、latitude, longitude, addressというフィールドが含まれています。

更新:もう一度マーカーのwikiを読むと解決策が見つかりました。解決策は、カスタム<%= gmaps %>メソッドを使用することです。コントローラで

<%= gmaps({ 
    "map_options" => { "type" => "ROADMAP", "center_longitude" => 28.9, "center_latitude" => 47.03, "zoom" => 12, "auto_adjust" => true}, 
    "markers" => { "data" => @markers } 
    }) 
    %> 

@markers = '[ 
      {"description": "", "title": "", "sidebar": "", "lng": "28.8701", "lat": "47.0345", "picture": "", "width": "", "height": ""}, 
      {"lng": "28.9", "lat": "47" } 
      ]' 

あなたが好きなようにあなたは、これらの値をカスタマイズすることができます私はこのようにそれを使用することができました。

+0

gmaps4railsよりもはるかに優れていると思います今? –

+4

いいえ、私は間違っているかもしれないが、私はあなたがマップ上にアドレスをプロットできるとは思わない、 'Geocoder'を使って、+1: – apneadiving

答えて

0

は私があなたの代わりにgmaps4railsのジオコーダの宝石を試みるべきだと思い https://github.com/alexreisner/geocoder http://www.rubygeocoder.com/

私はそれはあなたがコードを投稿することができ、使用している

+0

@AlexanderGiraldo – SpeedyWizard

+2

助けてくれた。 – mrudult