我一直在嘗試多年來弄清楚如何在我的Rails應用程序中使用谷歌地圖。我目前正在嘗試Rails 5.Rails 5 - 谷歌地圖 - Javascript錯誤 - initMap不是一個函數 - 修復一個js問題創建另一個
我也一直想弄清楚如何讓我的JavaScript在生產環境中工作。
我對這些挑戰的最新嘗試在這production issue post和google maps post概述。
長codementor會話後,生產環境JavaScript的問題似乎已被移動解決:
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
從出head標籤body標籤的結束。
但是,在這樣做,谷歌地圖JavaScript現在不工作。它提供了一個錯誤,指出:
initMap is not a function
我看到很多人提出這個問題,包括here。
我曾嘗試在這篇文章中,這是概括的解決方案來替換這個腳本:在我的地址視圖文件,這個腳本
<script src="https://maps.googleapis.com/maps/api/js?key=<%= ENV["GOOGLE_MAPS_API_KEY"] %>&callback=initMap"
async defer></script> -->
:
<script type="text/javascript" src="http://maps.google.com/maps/api/js?key=<%= ENV['GOOGLE_MAPS_API_KEY'] %>" async defer></script>
的主要區別是去除「& callback = initMap」。這不會在控制檯檢查器中出現錯誤。但是,它也不顯示地圖。
我已通過修復生產問題創建了一個新問題。
任何人都可以看到我需要做什麼才能獲得谷歌地圖渲染(沒有打破生產環境JS)?
嗨 - 非常感謝分享給你什麼工作。我嘗試了它,但我得到一個錯誤,說:ExecJS :: RuntimeError at/organizations/12 SyntaxError:[stdin]:1:4:保留字'function' – Mel
似乎那麼你有一個錯誤在你的js某處。你有項目代碼嗎? – petecss
我通過在initMap之前添加'window'來解決問題。謝謝。 –