javascript - 尝试加载谷歌地图时发生rails 5未捕获的引用错误

标签 javascript jquery ruby-on-rails ruby google-maps

当我尝试使用 google-maps-for-rails gem 加载动态谷歌地图时,我的 Chrome 控制台中出现以下错误。

Uncaught ReferenceError: handler is not defined

enter image description here

My locations controller index action (where map is to be loaded):

  def index
    @locations = Location.all

    @hash = Gmaps4rails.build_markers(@locations) do |location, marker|
      marker.lat location.latitude
      marker.lng location.longitude
    end
  end

The various scripts required:

<script src="https://maps.googleapis.com/maps/api/js?key=MY_KEY_HERE" async defer></script>
<script src="//cdn.rawgit.com/mahnunchik/markerclustererplus/master/dist/markerclusterer.min.js"></script>
<script>
    markers = handler.addMarkers(<%=raw @hash.to_json %>);
</script>

The Map Div:

<div style='width: 800px;'>
  <div id="map" style='width: 800px; height: 400px;'></div>
</div>

不知道我哪里出了问题,任何帮助将不胜感激!

干杯。

最佳答案

您错过了handler变量:

handler = Gmaps.build('Google');

所以代码应该是:

<script src="https://maps.googleapis.com/maps/api/js?key=MY_KEY_HERE" async defer></script>
<script src="//cdn.rawgit.com/mahnunchik/markerclustererplus/master/dist/markerclusterer.min.js"></script>
<script>
    handler = Gmaps.build('Google');
    markers = handler.addMarkers(<%=raw @hash.to_json %>);
</script>

关于javascript - 尝试加载谷歌地图时发生rails 5未捕获的引用错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43673436/

相关文章:

javascript - 警告 : Assign object to a variable before exporting as module default

javascript - 为什么 ChartJS 在移动浏览器上的页面滞后?

javascript - 关注下一个输入不起作用以及当用户在最后一个输入字段时如何提交表单

javascript - 如何同时触发多个命名空间函数?

ruby-on-rails - 像 User.find( :all). each? 这样的代码有什么问题?

javascript - jquery 删除一个类(如果它存在并添加一个新类)

javascript - 使用 d3.js 添加下拉菜单

jquery - 使用 jquery 选择 HTML5 范围跟踪器

jquery - 模态加载页眉和页脚而不是仅仅加载页面

ruby-on-rails - Rails JOIN 模型依赖销毁