私は gmaps4 rails を使用してサイトを構築してきましたが、gem は私のプロジェクトに追加されたものです。ただし、ネストされたモデルとポリゴンで問題が発生しています。
私もこのようなことをしたいと思います: JavaScript コンテンツを含む Gmaps4rails カスタム情報ウィンドウ
モデル:
class Zone < ActiveRecord::Base
acts_as_gmappable
has_many :points, :as => :pointable
accepts_nested_attributes_for :points
def self.create_with_points(name, points)
zone = Zone.create(:name => name)
points.map { |point| zone.points.create(:latitude => point[0],
:longitude => point[1]) }
zone
end
def as_polygon_data
points.collect { |point| { "lat" => point.latitude.to_f,
"lng" => point.longitude.to_f,
"strokeColor" => "#EBAC2A",
"strokeOpacity" => 0.65,
"strokeWeight" => 2,
"fillColor" => "#606F81",
"fillOpacity" => 0.4
} }
end
def self.all_as_polygon_data
Zone.all.collect { |zone| zone.as_polygon_data }
end
end
class Point < ActiveRecord::Base
belongs_to :pointable, :polymorphic => :true
acts_as_gmappable
end
コントローラーでゾーンを呼び出すには、to_gmaps4rails の代わりに to_json を使用して呼び出す必要があります。
@polygon_json = Zone.all_as_polygon_data.to_json
ポリゴンはマップ上で完全にレンダリングされますが、情報ウィンドウを追加できません。上記の投稿でクリックイベントコールバックを試しましたが、うまくいきませんでした。
チェックボックスを使用して非表示にできるように、これらのポリゴンのハンドルを取得する方法も知りたいです。
お時間をいただきありがとうございます。うまくいけば、私は十分な情報を提供しました。