您好我想让一个谷歌地图显示在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
答案 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函数是什么。
你使用宝石来做这件事吗?如果是哪一个?