Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 防止使用TurboLink多次加载google地图_Javascript_Google Maps_Ruby On Rails 5_Turbolinks 5 - Fatal编程技术网

Javascript 防止使用TurboLink多次加载google地图

Javascript 防止使用TurboLink多次加载google地图,javascript,google-maps,ruby-on-rails-5,turbolinks-5,Javascript,Google Maps,Ruby On Rails 5,Turbolinks 5,我正在使用rails 5和turbolinks 5,我不想禁用turbolinks,但它正在多次加载google maps api 我搜索了很多,找到了很多rails 4和turbolinks 3的解决方案。我尝试了所有我看到的解决方案,但没有一个奏效 其中一个看起来很简单: <script src="http://maps.googleapis.com/maps/api/js?v=3.exp" type="text/javascript" data-turbolinks-eval="al

我正在使用rails 5和turbolinks 5,我不想禁用turbolinks,但它正在多次加载google maps api

我搜索了很多,找到了很多rails 4和turbolinks 3的解决方案。我尝试了所有我看到的解决方案,但没有一个奏效

其中一个看起来很简单:

<script src="http://maps.googleapis.com/maps/api/js?v=3.exp" type="text/javascript" data-turbolinks-eval="always"></script>
但这一次有时在map初始化之前不加载GoogleMaps,有时返回多次加载的错误

我读了很多书,有很多问题都是这样问的,但我没有找到一个有效的解决方案

PD:我现在看到我删除了谷歌地图的api密钥,它仍然在工作,但我在控制台中看到了一条错误消息

Google Maps API warning: NoApiKeys

如果我在生产过程中使用没有api密钥的google maps,会有什么问题吗?

我想我已经解决了这个问题,似乎把Java脚本放在正文的末尾不是一个好主意,就像我刚才所做的那样

在turbolinks 5文档中,据说将其放置在


现在我把脚本放在头上,它似乎工作正常,而且我没有看到google maps api的多个加载消息。

我想我解决了这个问题,似乎把Java脚本放在正文的末尾不是一个好主意,就像我刚才做的那样

在turbolinks 5文档中,据说将其放置在


现在我把脚本放在了头上,它似乎工作正常,我没有看到google maps api的多个加载消息。

我在这些请求中没有看到密钥。密钥现在是必需的,它可能会起作用(如果你的网站是无密钥访问的“祖父”,但它也可能随时停止工作(如果谷歌决定改变他们的祖父政策)。我有api密钥,我使用它,但我删除了它,我看到它一直在工作。这就是我问的原因;)谢谢你的回答。我在这些请求中看不到关键。密钥现在是必需的,它可能会起作用(如果你的网站是无密钥访问的“祖父”,但它也可能随时停止工作(如果谷歌决定改变他们的祖父政策)。我有api密钥,我使用它,但我删除了它,我看到它一直在工作。这就是我问的原因;)谢谢你的回答。你在头上放了哪种脚本变体?你在头上放了哪种脚本变体?
var ready;
ready = function() {
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = 'http://maps.googleapis.com/maps/api/js?v=3.exp';
    document.body.appendChild(script);
};

$(document).ready(ready);
$(document).on('turbolinks:load', ready);
Google Maps API warning: NoApiKeys