使用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; }