Rails新手在这里。我正在开发一个项目,我需要将谷歌地图集成到当前的rails应用程序中。我有谷歌地图javascript文件正常工作。尝试将其与当前的rails应用程序集成时,我的问题就出现了。我有html.erb文件设置来引用相应的谷歌地图js文件,但每次页面加载时,我在控制台中收到错误
“无法加载资源:服务器响应状态为404(未找到)”
关于相应的js文件。然而,当我将javascript代码复制到html.erb文件中时,谷歌地图只是加载正常。关于我缺少什么想法让这个设置正常工作的任何想法,我在过去的24小时内一直在为此失去理智,并且非常感谢我能得到的任何帮助。提前致谢!
编辑:添加以下代码和错误。
这是谷歌地图js与核心的核心,我已经注释了除了加载核心谷歌地图下面的一切
var My_Map = angular.module('My_Map' , []);
My_Map.directive("myMaps", function() {
return {
restrict: 'E',
template: '<div></div>',
replace: true,
link: function (scope, element, attrs) {
var mapOptions = {
center: new google.maps.LatLng(34.0, -118.4),
zoom: 12,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById(attrs.id),
mapOptions);
}
};
});
这是html erb代码块
<html ng-app="My_Map">
<head>
<%= javascript_include_tag "dispatcher_script", "data-turbolinks-track" => true %>
<title>
Google Maps
</title>
<style>
#map-canvas{
height:750px;
width:1400px;
border:2px solid red;
}
</style>
</head>
<body>
<my-maps id="map-canvas"></my-maps>
<script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?key=KEYHERE">
</script>
<script type="text/javascript"
src="/app/assets/javascripts/angular-animate.min.js.map">
</script>
<script type="text/javascript"
src = "/app/assets/javascripts/app/map_app.js">
</script>
并且控制台错误,stackoverflow不会让我发布图片,但它基本上是以下
Uncaught ReferenceError: google is not defined dispatcher_script.js:1646
Failed to load resource: the server responded with a status of 404 (Not Found) https://NAME.herokuapp.com/app/assets/javascripts/app/map_app.js
Failed to load resource: the server responded with a status of 404 (Not Found) https://NAME.herokuapp.com/app/assets/javascripts/angular-animate.min.js.map
此外,文件结构是rails兼容的,放置了js文件 应用程序/资产/ Java脚本/应用 并且html erb文件在 应用程序/视图/调度程序