Ruby on rails 谷歌地图的Rails替换标记不起作用
我错过了什么明显的东西吗?Map一直在加载我在控制器中设置的@oldjson,当我在视图中设置它时,它不会被替换 查看代码:Ruby on rails 谷歌地图的Rails替换标记不起作用,ruby-on-rails,ruby-on-rails-3,maps,gmaps4rails,Ruby On Rails,Ruby On Rails 3,Maps,Gmaps4rails,我错过了什么明显的东西吗?Map一直在加载我在控制器中设置的@oldjson,当我在视图中设置它时,它不会被替换 查看代码: <% @json = Map.find_by_id('39').to_gmaps4rails %> <%= gmaps("markers" => {"data" => @oldjson, "options" => { "draggable" => true } } ) %> <script> Gmap
<% @json = Map.find_by_id('39').to_gmaps4rails %>
<%= gmaps("markers" => {"data" => @oldjson, "options" => { "draggable" => true } } ) %>
<script>
Gmaps.map.replaceMarkers(<%= @json %>);
</script>
谢谢。我猜您在当前代码中遇到了js错误 原因如下: gmaps4rails使用和创建的js放在yield:scripts中 因此,在创建映射之前,将调用此处的additionnal js 解决方案:
<% @json = Map.find_by_id('39').to_gmaps4rails %>
<%= gmaps("markers" => {"data" => @oldjson, "options" => { "draggable" => true } } ) %>
<% content_for :scripts do %>
<script>
Gmaps.map.replaceMarkers(<%= @json %>);
</script>
<% end %>
好的,这更有意义,因为gmaps4rails.googlemaps.js:280 uncaughttypeerror:cannotcallmethod'fitBounds'为null,所以得到了一个js错误。你知道是什么原因造成的吗?你有什么版本的gem?只是想:创建地图和它的标记需要异步时间。因此,您自己的代码仍然可以在映射本身准备就绪之前触发。这就是我创建回调方法的原因,在这个方法中,您可以安全地放置所需的任何内容。请看,普尔茨卡尔巴克博士做了这个把戏,以前也试过,但与allong一起,你的建议在上面起了作用。非常感谢。