我刚刚发现我需要通过直接在我的应用程序中插入 javascript 文件来修改我的 GMaps for Rails 设置。 Rails 4 - Gmaps4Rails - map won't render
我已经克隆了 infobox 和 Markerclusterer 存储库,现在我一直在尝试引用我的应用程序中的相关文件。
我的 vendor 文件中有克隆附带的文件文件夹。
我知道我需要使用的 JavaScript 文件是:infobox.js 和markerclusterer.js
这些文件位于:
vendor/js-marker-clusterer/src/makerclusterer.js
vendor/v3-utility-library/src/infobox.js
我想使用它们代替此 View 中的代码:
<script src="//maps.google.com/maps/api/js?v=3.18&sensor=false&client=&key=&libraries=geometry&language=&hl=®ion="></script>
<script src="//google-maps-utility-library-v3.googlecode.com/svn/tags/markerclustererplus/2.0.14/src/markerclusterer_packed.js"></script>
<script src='//google-maps-utility-library-v3.googlecode.com/svn/tags/infobox/1.1.9/src/infobox_packed.js' type='text/javascript'></script> <!-- only if you need custom infoboxes -->
我需要引用app/application.js中的javascript文件吗?如果是这样,我需要在路径中的哪个点开始(假设这些文件不在 vendor/ Assets /javascripts文件夹内)?
此外,我知道我需要以某种方式合并标记集群图像。这些也已出现在克隆的存储库中,并存储在 vendor/js-markerclusterer/images 文件夹中。我如何引用它们以便它们在 View 中工作?
最佳答案
最合乎逻辑的做法是将文件夹 js-marker-clusterer
和 v3-utility-library
放在 vendor/assets/javascripts
下code> 这样您就可以在 application.js
中引用您需要的文件作为
//= js-marker-clusterer/src/makerclusterer
//= v3-utility-library/src/infobox
但是,如果由于某种原因您无法这样做,您可以将自定义路径添加到 config.assets.paths
中,以便自动加载器可以找到它们
// application.rb
config.assets.paths << Rails.root.join("vendor", "js-marker-clusterer")
config.assets.paths << Rails.root.join("vendor", "v3-utility-library")
然后像这样引用它们
//= src/makerclusterer
//= src/infobox
关于javascript - Rails 4 - 如何在 vendor 文件中引用 javascript 源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37580325/