サイトで Google Maps API v3 を動作させようとしていますが、2 つの問題が発生しています。
API スクリプトを非同期的にロードするためにyepnopeを使用していますが、コンソールに「X-Frame-Options によってロードが拒否されました」というエラーが表示されます。http://maps.googleapis.com/maps/api/js?sensor=false&callback=init_google_maps&ver=3.0ではクロスオリジン フレーミングが許可されていません。どんな種類のフレームにも何もロードしていないので、これは私にとって奇妙です。マップは引き続き読み込まれますが、コンソールのエラーが気になる点に注意してください。
マップ コントロールが正しく表示されません。APIを従来の方法で(同期的に)ロードしてもこれが発生するため、これは最初の問題に関連しているとは思いませんが、何らかの形で関連している可能性があります。
問題があるかどうかはわかりませんが、「localhost」テストサーバーでこれを実行しています。これらの問題の原因について何か考えはありますか?
更新: 以下で説明するように、X-Frame の問題は、yepnope を介して API をロードした場合にのみ発生します。yepnope を使用して script タグを挿入するとエラーが発生し、より単純な js 関数を使用してもエラーが発生しない理由がわかりません。ただし、私の主な関心事は、マップの表示です。ローカル サーバーのより簡素化されたページでマップをテストしたところ、正しく表示されました。だから、私の現在の仮定は、Google マップを妨害しているページのどこかに宣言されたスタイル (またはスクリプト?) があるということです。
更新 2:
OK、表示の問題が最終的に解決された場合。メインのスタイルシートを調べて、犯人が見つかるまで一部をコメントアウトしました。流動的なレイアウトで画像をレスポンシブにするために、 を宣言しimg { max-width: 100%; }
ました。どうやら、Google マップはこれを好まないようです。マップ コンテナのスタイルをオーバーライドすると、すべてが正常に表示されました。ただし、X-Frame の問題は依然として私を混乱させます。