GoogleMaps Plugin und Observer Updates

Hallo Group,

ich stelle mit dem GoogleMaps Plugin einen ganzen Haufen
Suchergebnisse in eine View:

<% map = GoogleMap.new %> <% for shipping in @mapped_shippings %> <% lng = shipping.pickup_delivery_info.pickup_lng lat = shipping.pickup_delivery_info.pickup_lat map_data = link_to(shipping.title, :controller => "shippings", :action => "show", :id => shipping.id) if not (lat == 0 or lng == 0) map.markers < map, :lat => lat, :lng => lng, :html => map_data ) end %> <% end %> <%= map.to_html %> <%= map.div %>

Ausserdem habe ich aber zur Eingrenzung von Suchergebnissen eine
Anzahl von check_box’s welche ich via Observer überwache:

<%= observe_form( :filter,
:update => :my_map,
:url => { :action => :find },
:loading => “Element.show(‘search-indicator’)”,
:complete => “Element.hide(‘search-indicator’)”) %>

In meiner find Action wende ich dann die passenden Filterkriterien an,
suche die matchenden Objekte aus der DB. Das klappt auch. Dann
versuche ich aber in er View von find einfach folgendes zurückzugeben:

<% map = GoogleMap.new %>
<% for shipping in @mapped_shippings %>
<% lng = shipping.pickup_delivery_info.pickup_lng
lat = shipping.pickup_delivery_info.pickup_lat
map_data = link_to(shipping.title, :controller =>
“shippings”, :action => “show”, :id => shipping.id)
if not (lat == 0 or lng == 0)
map.markers << GoogleMapMarker.new(:map => map, :lat =>
lat, :lng => lng, :html => map_data )
end %>
<% end %>
<%= map.to_html %>
<%= map.div %>

Ergebnis ist, dass mein td “my_map” das neue DIV erhält, und der alte
Inhalt damit ersetzt wird, das ist via FireBug wunderbar zu sehen.
Aber das GoogleMaps Plugin basiert auf dem Umstand, dass erst das DIV
geladen wird, dann die passenden Javascripte und diese rendern dann
onload die eigentliche Google Map in das DIV rein. Genau das
funktioniert bei mir jetzt nicht, wenn ich die Action find über den
Observer triggere. Ich vermute einfach deswegen, weil die Javascripte
von Google hier nur per src Tag referenziert, aber durch die Ajax
Action nicht wirklich geladen werden.

Ich habe auch versucht, statt map.to_html mit map.to_js zu arbeiten,
da ich im Observer aber ein “update => DOM_ID” angeben muss, rendert
er mir dann sämtliches JS im Klartext in die Seite rein.

Hat damit schonmal jemand rumgespielt, und das gleiche Problem gehabt?
Wenn ja, bin ich für jeden Hinweis sehr dankbar.

Gruss und Dank
Jan
jan [ a t ] roesner [ d o t ]
it_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug