トラブルシュート

Googleマップ埋め込みが表示されない問題をAI生成HTMLで防ぐプロンプト

ChatGPTやClaudeにHTMLを生成させてGoogleマップを埋め込もうとしても、出力されたコードで地図が表示されないことがよくあります。AIが生成するiframeのURLはサンプル値で埋め込み形式でないことが多く、プロンプトの書き方を一工夫するだけで問題を未然に防げます。

よくある原因

AIは「Googleマップを埋め込んで」という指示に対し、maps.google.com/maps?q=...というブラウザURLをiframe srcに入れたコードを出力することがあります。このURLは非公式形式であり、CORSエラーや空白表示になる場合があります。AIの学習データが古い仕様に基づいているため、明示的に形式を指定しないと誤ったコードが生成されます。

もう一つは `YOUR_API_KEY` というプレースホルダーを含むJavaScript版マップコードをAIが出力するケースです。このコードを動かすにはGoogle Cloud ConsoleでAPIキーを発行しHTTPリファラー設定を行う必要があり、初心者には手順が多すぎます。APIキー不要の埋め込みiframe方式を使うよう明示的に指示するだけでこの問題を回避できます。

  • 相手がログインなしで開ける状態か確認する
  • PCとスマホで最低1回ずつ表示を確認する
  • 内部情報・個人情報・不要な外部送信が残っていないか見る
  • レビュー期限と修正時の差し替え方を決めておく

自分側で確認すること

AIが出力したiframeコードのsrc属性を確認します。正しい埋め込み形式は`https://www.google.com/maps/embed?pb=...`のように`/maps/embed`を含むURLです。この形式のURLはGoogleマップで「共有」→「地図を埋め込む」をクリックすると取得できます。AIに「以下のiframeコードを使ってHTMLを作って」と実際の埋め込みコードを貼り付けると確実です。

生成されたHTMLをそのままローカルのファイルで開いて確認するだけでなく、GitHubPagesやギガサイト便などHTTPSで公開できる環境にアップして確認します。ローカルのfile://スキームではCORSの挙動が異なり、正常に見えても公開後に崩れることがあります。

  • HTML内の外部script・form action・iframeを確認する
  • APIキーやトークンらしき文字列がないか検索する
  • 画像・CSS・JSのパスが公開後も解決できるか見る
  • noindexと認証を混同せず、必要なら両方設定する

相手側で確認すること

AIが生成したHTMLを受け取った相手が「地図が見えない」と連絡してきたとき、まずiframeのsrc URLを教えてもらい、そのURLを新しいタブで開くよう依頼します。タブに地図が表示されるならHTML側の問題(CSSでiframeが隠れているなど)、表示されないならURL自体が不正または制限されています。

相手がモバイルブラウザで開いている場合、iframeのサイズが小さすぎてスクロールで見えていないケースも散見されます。AIに生成を依頼するとき「スマートフォンでも全幅で表示されるようにwidth:100%を設定して」と明記すると、モバイルでの表示崩れを防げます。

  • HTML内の外部script・form action・iframeを確認する
  • APIキーやトークンらしき文字列がないか検索する
  • 画像・CSS・JSのパスが公開後も解決できるか見る
  • noindexと認証を混同せず、必要なら両方設定する

再発防止の運用

AIへのプロンプトに「Googleマップ公式の共有機能から取得したiframeコードを使って埋め込んでください。APIキーは不要の方法で。埋め込みURLは https://www.google.com/maps/embed?pb=xxxxxxx の形式にしてください」と明記するテンプレートを用意しておくと、毎回指示を考える手間がなくなります。

AIが生成したHTMLを共有する前に必ずiframeのsrc URLを手動で確認するレビュー工程を設けます。src内に`YOUR_API_KEY`や`PLACE_ID`などのプレースホルダーが残っていたらAIが未完成のコードを出力したサインです。修正してから共有することで相手に迷惑をかけるリスクをゼロにできます。

  • HTML内の外部script・form action・iframeを確認する
  • APIキーやトークンらしき文字列がないか検索する
  • 画像・CSS・JSのパスが公開後も解決できるか見る
  • noindexと認証を混同せず、必要なら両方設定する

よくある質問

AIにGoogleマップ埋め込みコードを生成させるとき、最低限指定すべき内容は何ですか?

「APIキー不要のiframe埋め込み方式を使うこと」「iframeのsrc URLはhttps://www.google.com/maps/embed?pb=...の形式にすること」「スマートフォン対応でwidth:100%にすること」の3点を明記すると、使えないコードが出力されるリスクを大幅に減らせます。

AIが出力したコードのAPIキーのプレースホルダーをそのまま公開してしまいました。問題はありますか?

プレースホルダー文字列(YOUR_API_KEY等)をそのまま公開しても地図は動作しませんが、セキュリティ上の問題はありません。ただし地図は表示されないため、正規のiframe埋め込みコードに差し替えてください。

AIが毎回異なる形式のiframeを出力します。どうすれば安定しますか?

プロンプトに「以下のiframeをそのままHTML内に貼り付けてください」として実際のGoogleマップ共有コードを貼り付ける方法が最も確実です。AIに形式を判断させず、正しいコードを直接渡すことで出力が安定します。

関連記事

トラブルシュート

Googleマップ埋め込みが表示されないときの原因と直し方

GoogleマップのiframeをHTMLに埋め込んだが相手に表示されない、という状況で原因を特定したい方向け。APIキー制限・参照元制御・Cookie設定など見落としがちなポイントを体系的に整理し、修正方針を判断できる内容です。

5分で読める
トラブルシュート

PDF埋め込みが表示されない問題をAI生成HTMLで防ぐプロンプト

AI生成HTMLでPDF埋め込みが共有先で表示されない問題を、プロンプトの改善で未然に防ぎたいエンジニア・デザイナー向け。有効なプロンプトパターンと生成後の確認方法を具体的に紹介し、PDF表示に強いHTML設計の指針をまとめます。

6分で読める
トラブルシュート

PDF埋め込みが表示されないときの原因と直し方

AI生成HTMLのPDF埋め込みが共有先で表示されない問題に直面したWeb担当者・デザイナー向け。ブラウザのPDFビューア設定差・パス問題・CSPエラーを原因別に切り分け、確実に表示させるための修正方法を解説します。

6分で読める
「トラブルシュート」の記事をもっと見る →