4

google-maps-for-railsを使用して色パラメータをGoogleマップAPIに渡すにはどうすればよいですか? 値に基づいてコントローラー内の各マーカーの色を設定したいので、一部は赤、一部は黄色、一部は緑になります。私はそれがシンボルのアイコンプロパティであると信じています:

https://developers.google.com/maps/documentation/javascript/reference#MarkerOptions

また、マーカー内に1~99までの数字を入れたいのですが、可能ですか?これまでのところ、私はこれを持っています。

@json = Device.all.to_gmaps4rails do |device, marker|
end

私はこれに何日も苦労してきました。

4

2 に答える 2

15

Google のチャート API を利用するだけです。

例として、以下は次のマーカーです。

  • 手紙 A
  • 赤色:FF0000
  • 黒のテキスト:000000

http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=A|FF0000|000000

したがって、ニーズをカスタマイズする必要があります。

@json = Device.all.to_gmaps4rails do |device, marker|
   marker.picture({
     :picture => "http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=A|FF0000|000000", # up to you to pass the proper parameters in the url, I guess with a method from device
     :width   => 32,
     :height  => 32
   })
end
于 2012-10-02T15:05:01.587 に答える
4

上記の解決策を無駄に実装しましたが、これが機能しない理由がわかりました。おそらくこれは gem の更新でしたが、「url」は「picture」ではなく画像の URL の正しいキーです。これが私のコントローラーのコードです:

@devices_hash= Gmaps4rails.build_markers(@devices) do |device, marker|
  ...
  marker.picture({
     :url => "http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=A|007FFF|000000",
     :width   => 32,
     :height  => 32
  })
end 

これが同じことで苦労している一部の人々に役立つことを願っています。

于 2014-09-12T16:54:06.870 に答える