よくある原因
最も多いのはGoogle Maps Embed APIのキーに「HTTPリファラー制限」が設定されており、ローカルファイル(file://)や別ドメインからのアクセスが弾かれているケースです。Google Cloud ConsoleでAPIキーの「アプリケーションの制限」を確認し、公開先のドメインが許可リストに入っているか照合してください。
次に多いのは動画や地図のiframeに`loading="lazy"`が指定されているものの、ページ全体が短くてビューポート内に入らずロードが発火しないパターンです。高さが0pxになっているCSSも同様の症状を起こします。開発者ツールの「Elements」タブでiframeの実際のサイズを確認すると即座に判明します。
- 相手がログインなしで開ける状態か確認する
- PCとスマホで最低1回ずつ表示を確認する
- 内部情報・個人情報・不要な外部送信が残っていないか見る
- レビュー期限と修正時の差し替え方を決めておく
自分側で確認すること
HTMLソースを開いてiframeのsrc属性を丸ごとコピーし、ブラウザの別タブに貼り付けてみてください。「このページはエラーが発生しました」という表示が出る場合、APIキーが無効か制限超過しています。Google Cloud ConsoleのAPIとサービス→認証情報でキーの状態とクォータを確認します。
埋め込みコードをGoogle マップの「共有」ボタンから取得したか見直しましょう。独自に組んだURL(maps.google.comのクエリパラメータをiframeのsrcに直書き)は仕様外のため突然動かなくなることがあります。公式の埋め込みコード形式(maps.googleapis.com/maps/api/js や embed/v1/place)を使うのが原則です。
- HTML内の外部script・form action・iframeを確認する
- APIキーやトークンらしき文字列がないか検索する
- 画像・CSS・JSのパスが公開後も解決できるか見る
- noindexと認証を混同せず、必要なら両方設定する
相手側で確認すること
閲覧者がブラウザの「サードパーティCookieをブロック」を有効にしていると、GoogleのiframeがOriginをまたいだCookieを読めずに認証エラーになる場合があります。Chrome設定のサイト設定→Cookieで一時的に許可してもらい、再読み込みで表示されるか試してもらうと切り分けができます。
法人ネットワークでは社内プロキシやDNSフィルタリングによってmaps.googleapis.comへの通信が遮断されていることがあります。スマートフォンのモバイル回線に切り替えて同じURLを開いてもらうことで、ネットワーク起因かどうかを5秒で判断できます。
- HTML内の外部script・form action・iframeを確認する
- APIキーやトークンらしき文字列がないか検索する
- 画像・CSS・JSのパスが公開後も解決できるか見る
- noindexと認証を混同せず、必要なら両方設定する
再発防止の運用
APIキーは本番公開用と開発用を分けて発行し、本番キーには公開ドメインのHTTPリファラー制限を必ずかけておきます。共有先URLが変わるたびに許可リストを更新する運用をドキュメント化し、担当者が変わっても設定ミスが起きにくくします。
HTMLを共有する前に、シークレットウィンドウで公開後のURLを開き地図が正常に表示されるかを確認する手順をチェックリスト化しておきましょう。ギガサイト便のようなプレビューURL機能を使えば、本番公開前に同等の環境で動作確認ができるため、受け取った相手から「地図が見えない」と指摘されるリスクを大幅に減らせます。
- HTML内の外部script・form action・iframeを確認する
- APIキーやトークンらしき文字列がないか検索する
- 画像・CSS・JSのパスが公開後も解決できるか見る
- noindexと認証を混同せず、必要なら両方設定する
よくある質問
ローカルのHTMLファイルではマップが表示されるのに、アップロード後に消えるのはなぜですか?
APIキーにHTTPリファラー制限をかけている場合、ローカルのfile://は許可されていてもアップロード先ドメインが許可リストに入っていないために弾かれます。Google Cloud Consoleでアップロード先ドメインを許可リストに追加してください。
iframeのsrcに直接Google マップのURLを入れてはいけませんか?
Googleの埋め込み仕様外のURLをiframe srcに使うと予告なく動作しなくなる可能性があります。必ずGoogleマップの共有ダイアログから生成された埋め込みコード(embed/v1またはmaps.googleapis.com形式)を使用してください。
地図はスマホでは見えるのにPCでは表示されません。どこを確認すればよいですか?
PC側のブラウザ拡張(広告ブロッカーやプライバシーバジャーなど)がGoogleのトラッキングドメインをブロックしている可能性があります。拡張機能を一時無効化して再読み込みし、表示されれば拡張が原因です。