2010-03-01 9 views
5

Estoy tratando de agregar Google Maps a mi página usando YM4R/GM. Como un envío regular usando form_tag todo funciona, entonces sé que no metí esa parte.Ruby on Rails, form_remote_tag y API de Google Maps

Pero al usar form_remote_tag termino sin nada dentro de mi div de actualización. Probé con texto de renderizado para que se ejecute el método correcto y YM4R/GM devuelve el archivo KML de Google Maps. Pero el mapa no se muestra.

Mi forma de la etiqueta:

<% form_remote_tag(:url => {:controller => "home", :action => "search"}, :update => "map_div") do %> 


El método de búsqueda especificada como la acción de la forma:

def search 
    location = GeoKit::Geocoders::MultiGeocoder.geocode(params[:address]) 
    @map = GMap.new("map_div") 
    @map.control_init(:large_map => true,:map_type => true) 
    @map.center_zoom_init([location.lat,location.lng],11) 
    render :partial => 'map' 
end 

¿Es correcto para colocar el div que se actualicen en el interior de un parcial , y luego renderizar ese parcial?

¿Estoy sobrecomplicando esto, o lo estoy haciendo mal? Sé que el código YM4R/GM se está ejecutando cuando veo la salida KML de Google. Y me pregunto si el problema está relacionado con la respuesta XML/KML. ¿Rails interpreta la respuesta como XML en lugar de HTML?

Respuesta

0

Estoy trabajando en esto ahora mismo pero tengo la sensación de que tiene que ver con Redirect vs Render. Verá que el mapa funcionará sin problemas cuando actualice la página. 'Render' solo recrea la vista. De todos modos, es algo que no soy muy bueno para explicar esto, pero hay a few blogs sobre el tema. Disculpas si esto no es realmente una respuesta. Estoy trabajando en eso también, así que lo publicaré cuando descubra algo.

+0

pena echar un vistazo aquí también: http://guides.rubyonrails.org/layouts_and_rendering.html#using-render – digitalWestie