0

私は Google-Maps-for-Rails gem を使用しており、現在円を表示しようとしています。

私のモデル「場所」は次のもので構成されています。

  • 経度
  • 緯度
  • 半径

マーカーを表示するのに問題はありません:

# Controller: @markers = Place.all.to_gmaps4rails
gmaps("markers" => {"data" => @markers})

残念ながら、含まれていません :radius => .. また、円を次のように表示できることも知っています。

gmaps(
"circles" => { "data" => '[
                         {"longitude": -122.214897, "latitude": 37.772323, "radius":1000000}
                         ]',
})

マーカー ハッシュに radius 属性を含める方法はありますか? お気に入り:

gmaps("circles"     => { "data" => @markers })

おそらく次のようなものです:

Place.all.each |place| place.merge!(:radius => 1000) ...

するだろうが、もっと良い解決策があるかもしれないと思う

4

1 に答える 1

2

マーカーと円の背後にあるロジックは、まったく異なります。

コントローラーで

@markers = Place.all.to_gmaps4rails
@circles = Place.all.map{|p| {:longitude => p.longitude, :latitude => p.latitude, :radius => p.radius}}.to_json

あなたの見解では:

<%= gmaps({ "markers" => {"data" => @markers},
           "circles" => {"data" => @circles}
          }) %>

または、他の機能が必要ない場合infowindowは、次のようにするだけです。

コントローラーで

@circles = Place.all.map{|p| {:longitude => p.longitude, :latitude => p.latitude, :radius => p.radius}}.to_json

あなたの見解では:

<%= gmaps({ "markers" => {"data" => @circles},
           "circles" => {"data" => @circles}
          }) %>
于 2011-04-19T21:43:23.280 に答える