2016-10-17 2 views
0

私はturbolinksを無効にしたくないですが、rails 5とturbolinks 5を使用していますが、google maps apiを複数回ロードしています。Google Mapsがturbolinksで複数回読み込まれないようにする

私は多くの検索をしましたが、レール4とターボリンク3のソリューションがたくさん見つかりました。私が見たすべてのソリューションを試しましたが、どれもうまくいきませんでした。それらの

一つは単純になります。

<script src="http://maps.googleapis.com/maps/api/js?v=3.exp" type="text/javascript" data-turbolinks-eval="always"></script> 

が、それでもGoogleは複数回にマップのロード。

それらのもう一つは:

<script src="http://maps.googleapis.com/maps/api/js?v=3.exp" type="text/javascript" data-turbolinks-track="reload"></script> 

どちらも取り組んでいます。

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); 

が、この1は時々INITSマップの前にGoogleマップをロードしていないと、時々、それは複数の負荷のエラーを返して:

有望なソリューションでした。

私はたくさんのことを読んでいますが、同じことを求める質問はたくさんありますが、いずれにも解決策が見つかりません。

PD:Googleマップのapiキーを削除したことがわかりましたが、まだ動作していますが、コンソールでエラーメッセージが表示されます。

Google Maps API warning: NoApiKeys 

プロダクションでapiキーなしでGoogleマップを使用すると問題はありますか?

+0

これらのリクエストにキーが表示されません。キーが必要になりました(サイトがキーレスアクセスのために「祖父」になっている)場合はいつでも動作しなくなる可能性があります(googleがgrandfatheringポリシーを変更することを決定した場合) – geocodezip

+0

私はAPIキーを持っていますしかし、私はそれを削除し、私はそれが動作し続けていることを見た。だから私は尋ねた;)答えをありがとう。 – user6945851

答えて

1

私はそれを解決したと思う、それは私がしていたように、体の端にjavascriptsを配置することは良い考えではないようだ。

turbolinks 5のドキュメントでは、<head>に記載されています。

私は頭にスクリプトを配置しましたが、問題なく動作しているようですが、google maps api用の複数の読み込みメッセージは表示されません。

関連する問題