2010-03-01 19 views
5

Sto cercando di aggiungere Google Maps alla mia pagina utilizzando YM4R/GM. Come normale invio utilizzando form_tag tutto funziona, quindi so che non ho rovinato quella parte.Ruby on Rails, form_remote_tag e API di Google Maps

Ma utilizzando form_remote_tag non ho trovato nulla all'interno del mio aggiornamento div. Ho provato con il rendering del testo, quindi il metodo giusto è stato eseguito e YM4R/GM sta restituendo il KML di Google Maps. Ma la mappa non viene visualizzata.

La mia forma tag:

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


Il metodo di ricerca specificato come l'azione del modulo:

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 

È corretto posizionare il div da aggiornare all'interno di un parziale di e quindi renderlo parziale?

Sono sopraffatto da questo, o andando su di esso nel modo sbagliato? So che il codice YM4R/GM viene eseguito mentre vedo l'output KML di Google. E mi chiedo se il problema è legato alla risposta XML/KML? Rails interpreta la risposta come XML piuttosto che HTML?

risposta

0

Sto lavorando su questo in questo momento, ma ho la sensazione che ha a che fare con Redirect vs Render. Vedete la mappa funzionerà in modo parziale senza problemi quando si aggiorna la pagina. 'Render' ricrea appena la vista. Comunque, è qualcosa che non sono molto bravo a spiegare questo, ma ci sono a few blogs sull'argomento. Mi scuso se questa non è davvero una risposta. Ci sto lavorando anche io, quindi posterò quando capirò qualcosa.

+0

Vale la pena dare un'occhiata anche qui: http://guides.rubyonrails.org/layouts_and_rendering.html#using-render – digitalWestie