使用Gmaps4rails通过AJAX调用渲染Gmap

这里有一些主题试图解决这个问题: Gmaps4rails:地图没有显示动态加载时 ,特别是在这里: 使用gmaps4rails通过Ajax渲染谷歌地图 ,还观看了gmap动态更新的截屏,但我似乎还没有得到这行得通。

我只是在点击按钮显示用户和商品之间的方向时,我试图在下拉选项卡中加载地图。 在我的_location.html.erb部分我有:

{ "data" => { "from" => current_user.location, "to" => @offer.location } } })%>

(地点是地址)

现在,当部分立即渲染时,这很有效。 但是,如果我在最初加载整个页面之后尝试在AJAX调用上渲染部分,则不会显示gmap。 是否可以通过AJAX调用初始化和渲染gmap然后显示方向?

原因很简单:部分包含很多javascript,你无法加载和执行这种方式。

所以你不能在那里使用RJS。

正确的方法是UJS:使用AJAX调用获取数据并呈现结果。 在下面的代码中,我使用jQuery。

在您的视图中添加:

 //include google script  //include gmaps4rails javascript <%=javascript_include_tag 'gmaps4rails' %>  

在CSS中添加以下类:

 #map-container { width: 800px; } #gmaps4rails_map { width: 800px; height: 400px; }