将Google地图空白加载控制台错误

时间:2016-01-27 20:51:37

标签: ruby-on-rails google-maps google-maps-api-3

您好我想让一个谷歌地图显示在rails应用程序中的红宝石页面上,但我收到以下错误。我很难理解整个过程是如何运作的。我认为这与脚本标签有关,但无法弄明白。

javascript文件夹中的gmaps.js文件:

/* Options for Google maps */


map = new google.maps.Map(document.getElementById('map-canvas'), {
  center: {lat: -34.397, lng: 150.644},
  zoom: 8
});

html.erb:

<%# Google map %>
    <div>
            <div id="map-canvas" style="width:400px; height:300px;">
            </div>
    </div>

应用程序html中的脚本:

<%-# Google map script tag-%>

   <script async defer
      src="https://maps.googleapis.com/maps/api/js?key=YOUR_KEY&callback=initMap">
    </script>   

控制台错误:

Uncaught ReferenceError: google is not defined

Uncaught InvalidValueError: initMap is not a function

1 个答案:

答案 0 :(得分:1)

未捕获的ReferenceError:未定义谷歌是指这一行:

map = new google.maps.Map(document.getElementById('map-canvas')

这个错误意味着Ruby不知道google是什么,因为你还没有定义它。

Uncaught InvalidValueError:initMap不是一个函数,指的是这一行:

src="https://maps.googleapis.com/maps/api/js?key=AIzaSyD6jUOjpSNBqs3jVSCyZiXU6On1NqPIS6I&callback=initMap">

因此调用了回调,但是你的应用程序还没有定义initMap函数是什么。

你使用宝石来做这件事吗?如果是哪一个?