Googleマップをレスポンシブ対応したい

Googleマップの埋め込み地図が表示されたWebページのイラストで、左右の矢印がiframeの横幅調整を示しているデザイン。レスポンシブ対応で地図を見やすくする内容を表現した画像。 Google

このページでは、すでに埋め込んである Googleマップのiframe を、スマホでも横にはみ出さず見やすく表示するための レスポンシブ対応 を解説します。

HTMLの埋め込みコードはそのままに、CSS側の調整だけで対応する方法にしぼっています。

このページの対象とゴール

このページは、次のような方を想定しています。

  • すでに Googleマップの埋め込み は終わっている
  • PCでは問題ないが、スマホで地図がはみ出したり、縦長すぎたりして気になる
  • JavaScriptはなるべく使わず、CSSだけでシンプルに対応したい

読み終わるころには、次の2パターンの違いと使い分けがイメージできるようになります。

  • パターンA:iframeの横幅だけを100%にする、かんたん対応
  • パターンB:ラッパー要素を使って、縦横比を保ったまま拡大縮小する方法
ポイント:まずは「横幅100%」からでOK

細かいデザイン調整にこだわりすぎると時間がかかります。最初は 「横幅を100%にして、スマホではみ出さない」 ことだけを目標にして、気になってきたら縦横比の調整を検討するのがおすすめです。

固定サイズのままだと何が起こる?

Googleマップの埋め込みコードは、初期状態だと次のような指定になっていることが多いです。

このままだと、次のような問題が起こりがちです。

  • スマホ画面が 幅320〜390px 程度なのに、width="600" のままで 横スクロールが必要 になる
  • ページ全体のレイアウトはレスポンシブなのに、地図だけが固定サイズで不自然に見える
  • 縦長すぎて、地図ばかりが画面を占めてしまう
ポイント:HTMLはそのまま、CSSで上書きする

Googleマップ側から出てくる width / height 属性は削除しても構いませんが、Templyでは 属性は残したまま、CSSで上書きする 形にしておくと管理がしやすくなります。

パターンA:まずは横幅100%にする

最もかんたんな対応は、iframeの 横幅を100% にして、高さだけ固定にする方法です。

HTML側:ラッパー要素を用意しておく

埋め込み済みのHTMLが、次のようになっているとします。

access-map のようなラッパーがあれば、その中の iframe に対してCSSを当てやすくなります。

CSS側:width:100% でスマホの横幅に合わせる

次のようなCSSを、assets/css/style.css の下のほうに追加します。

これで、画面幅に応じて 横いっぱいにマップが広がり、スマホでも横スクロールが出にくくなります。

ポイント:iframeだけに絞って指定する

iframe に対してグローバルにスタイルを当てると、他の埋め込み(YouTubeなど)にも影響します。.access-map iframe のように 「クラス + iframe」 で指定しておくと安心です。

パターンB:縦横比を保ったままレスポンシブ表示する

もう少し見た目を整えたい場合は、縦横比を保つためのラッパー要素を使う方法があります。

HTML側:ラッパーにクラスを追加する

先ほどのHTMLに、map-responsive というクラスを追加します。

CSS側:縦横比をCSSで管理する

次のどちらかの方法がおすすめです。ここでは、より新しい aspect-ratio を使う方法を紹介します。

aspect-ratio: 4 / 3; としておくと、画面幅に合わせて自動的に高さが決まるため、PCでもスマホでもバランスの良い縦横比を保ちやすくなります。

ポイント:古いブラウザ向けには「padding-top方式」も

もし aspect-ratio に対応していない環境も気になる場合は、次のような「padding-top方式」を使うこともできます(どちらか一方でOKです)。

よくあるつまづきとチェックポイント

地図の横幅が広がらない / 右側が空く

以下の点を確認してみてください。

  • iframe に width:100%; が当たっているか
  • 親要素(例:.access-map)に max-width が指定されていないか
  • PC向けのレイアウトで display:flex; などを使って、横幅が制限されていないか

スマホで縦長になりすぎる

縦長になりすぎて気になる場合は、次のような調整が有効です。

  • aspect-ratio を 3 / 2 や 16 / 9 に変えてみる
  • 小さい画面だけ高さを少し低めにするメディアクエリを入れる
ポイント:1ページに複数の地図を置きすぎない

地図の数が増えるほど、ページの読み込み速度が遅くなります。基本は 「1ページに1つ」 を目安にしつつ、どうしても必要な場合のみ追加を検討しましょう。読み込み速度が気になってきたら、軽量化ガイド もチェックしてみてください。

次のステップ:Googleマップ周りをさらに整える

レスポンシブ対応ができたら、読み込み速度や検索周りも含めて、地図まわりの環境を少しずつ整えていきましょう。

埋め込み〜レスポンシブ〜軽量化を整理する

「とりあえず表示する」ところから、「スマホでも見やすく、できるだけ軽い」状態まで、一度流れを振り返っておくと安心です。

アクセス解析(GA4)の設定を進める

サイトに来た人の動きや人気ページを把握したい場合は、GA4の導入とイベント計測を設定しておくと便利です。

Search Console関連の設定を見直す

Search Consoleの基本設定・サイトマップ・インデックス状況をセットで押さえておくと安心です。

Googleマップと相性の良い設定

実店舗を運営している場合は、Googleマップ上に表示される店舗情報も一緒に整えておくと効果的です。

※本記事の内容は 執筆時点の情報 に基づいています。
料金・仕様・画面デザインなどは変更される場合がありますので、最新の情報は公式サイトにてご確認ください。

Googleマップ
Templyをフォローする
タイトルとURLをコピーしました