2010-03-01 69 views
5

我正尝试使用YM4R/GM将Google地图添加到我的页面。作为一个正常的提交使用form_tag一切正常,所以我知道我没有搞砸那部分。Ruby on Rails,form_remote_tag和Google Maps API

但使用form_remote_tag我最终没有在我的更新div里面。我使用渲染文本进行了测试,因此正确的方法正在执行,YM4R/GM正在返回Google地图KML。但地图没有显示。

我的表单标签:

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


指定为形式的行动的搜索方法:

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 

是否正确放置div来的部分内被更新,然后渲染该部分?

我是在过度复杂还是以错误的方式去做?我知道YM4R/GM代码正在执行,因为我看到Google的KML输出。我想知道这个问题是否与XML/KML响应有关? Rails是否将响应解释为XML而不是HTML?

回答

0

我正在努力通过这个权利,但我有一种感觉,这是与重定向vs渲染。刷新页面时,您会看到地图在部分没有问题的情况下工作。 “渲染”只是重新创建视图。无论如何,这是我不擅长解释这个问题,但有关于这个话题有a few blogs。道歉,如果这不是一个真正的答案。我也在努力,所以我会在我找出一些东西时发布。

+0

值得看一看这里太:http://guides.rubyonrails.org/layouts_and_rendering.html#using-render – digitalWestie 2011-01-28 00:53:45