我一直在使用gmaps4軌打造出了一個網站,創業板是一個超級除了我的項目。然而,我有一些麻煩,嵌套模型和多邊形。Gmaps4Rails和自定義/嵌套點數型號
我也想這樣做: Gmaps4rails custom info window with javascript content
型號:
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_json代替to_gmaps4rails叫它:
@polygon_json = Zone.all_as_polygon_data.to_json
多邊形渲染在地圖上完美的,但我不能一個信息窗口中添加他們。我在上面提到的帖子中嘗試了click事件回調,但它對我不起作用。
我也想知道如何獲得這些多邊形的句柄,以便我可以使用複選框隱藏它們。
謝謝你的時間。希望我已經提供了足夠的信息。
我後來意識到,我並沒有真正提供足夠的信息來解決這個問題,但是離開了幾天,無法回到它。 (我很欣賞你採取迴應的時間)。當我寫下原始問題時,我剛開始嘗試實現可點擊的多邊形,但後來我發現了更多信息:當我檢查Firefox中的多邊形元素時,它顯示它們不可點擊,但奇怪的是當我運行它在本地不起作用,但是當我部署它時,它起作用! (我在Firefox和Safari中觀察到了這種行爲) – 2012-04-30 23:10:53
我還編輯了gmaps4rails.base.js以將可點擊屬性添加到多邊形。 – 2012-04-30 23:18:22
安裝Passenger並在本地設置Apache(在Mac上)後,多邊形和信息窗口可以正常工作。 – 2012-05-05 05:00:59