Googleマップをドロワーメニューで表示する方法【HTML/CSS/JavaScript・サンプルコード付き】

ドロワーメニュー

Googleマップをドロワーメニューで表示する方法

Googleマップをドロワーメニューで表示する方法を紹介します。ドロワーメニュー内にGoogleマップを埋め込むことで、ページ遷移せずに店舗や会社の所在地を確認できるため、限られた画面スペースを有効活用できます。本記事では、HTML・CSS・JavaScriptだけを使って、ボタンをクリックするとドロワーメニューが開き、その中へGoogleマップを表示する方法を解説します。

サンプルコードでは、「地図を表示」ボタンをクリックすると画面左側からドロワーメニューが表示され、その中に埋め込まれたGoogleマップを確認できます。「閉じる」ボタンだけでなく、背景部分をクリックしてもドロワーメニューを閉じられるため、実際のWebサイトでも使いやすい操作性になっています。Googleマップの表示場所はiframeのURLを変更するだけで簡単に差し替えられます。

店舗紹介ページや企業サイト、お問い合わせページ、不動産サイト、イベントページなど、アクセス情報を分かりやすく案内したい場面におすすめです。地図の表示地点はHTMLから変更でき、ドロワーメニューの幅や色、余白、背景のデザインなどはCSSで自由に調整できます。シンプルな構成なので、自分のWebサイトに合わせてカスタマイズしやすいサンプルとして活用できます。

コードについて 本記事のコードはサンプルコードです。ご利用前に必ず動作確認を行ってください。
免責事項 本コードの利用により発生した損害について、当サイトは一切の責任を負いません。

デモ

Googleマップをドロワーメニューで表示

ボタンをクリックすると、ドロワーメニュー内にGoogleマップを表示できます。

「地図を表示」をクリックすると、画面左側のドロワーメニュー内にGoogleマップが表示されます。「閉じる」ボタンまたは背景部分をクリックすると閉じられます。

コードをコピーして使おう!

<!DOCTYPE html>
<html lang="ja">
<head>

  <!-- 文字コード -->
  <meta charset="UTF-8">

  <!-- スマートフォン表示対応 -->
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <!-- ページタイトル -->
  <title>Googleマップをドロワーメニューで表示</title>

  <!-- CSSファイルを読み込み -->
  <link rel="stylesheet" href="style.css">

</head>
<body>

  <!-- デモ全体 -->
  <div class="google-map-drawer-menu_wrap">

    <!-- タイトル -->
    <h1 class="google-map-drawer-menu_title">
      Googleマップをドロワーメニューで表示
    </h1>

    <!-- 説明文 -->
    <p class="google-map-drawer-menu_text">
      ボタンをクリックすると、ドロワーメニュー内にGoogleマップを表示できます。
    </p>

    <!-- ドロワーメニューを開くボタン -->
    <button
      class="google-map-drawer-menu_open"
      type="button"
      data-drawer-open>
      地図を表示
    </button>

  </div>

  <!-- ドロワーメニュー表示時の背景 -->
  <div
    class="google-map-drawer-menu_overlay"
    data-drawer-overlay>

    <!-- ドロワーメニュー本体 -->
    <div
      class="google-map-drawer-menu_drawer"
      role="dialog"
      aria-modal="true"
      aria-labelledby="google-map-drawer-menu-title">

      <!-- ドロワーメニューのタイトル -->
      <div
        class="google-map-drawer-menu_drawer-title"
        id="google-map-drawer-menu-title">
        アクセスマップ
      </div>

      <!-- ドロワーメニューの説明文 -->
      <p class="google-map-drawer-menu_drawer-text">
        ドロワーメニュー内でGoogleマップを確認できます。
      </p>

      <!-- Googleマップ表示エリア -->
      <div class="google-map-drawer-menu_map">

        <!--
          Googleマップ
          src属性へ表示したい地点のGoogleマップ埋め込みURLを指定する。

          埋め込みURLの取得手順
          1. Googleマップで表示したい住所・施設名・緯度経度を検索する
          2. 「共有」をクリックする
          3. 「地図を埋め込む」を選択する
          4. 「HTMLをコピー」をクリックする
          5. コピーしたiframe内のsrc属性のURLを下記iframeへ貼り付ける
        -->
        <iframe
          src="https://www.google.com/maps?q=Tokyo%20Station&amp;output=embed"
          title="東京駅周辺のGoogleマップ"
          loading="lazy">
        </iframe>

      </div>

      <!-- ドロワーメニューを閉じるボタン -->
      <button
        class="google-map-drawer-menu_close"
        type="button"
        data-drawer-close>
        閉じる
      </button>

    </div>

  </div>

  <!-- JavaScriptファイルを読み込み -->
  <script src="script.js"></script>

</body>
</html>
コードをコピーする場合 使用するコードのタブを選び、「このタブをコピー」をクリックすると、現在表示中のコードをコピーできます。
サンプル一式を取得する場合 HTML・CSSなどすべてのファイルが必要な場合は、「サンプル一式をダウンロード」をクリックしてください。

ファイル構成と設置方法

このサンプルはHTML・CSS・JavaScriptの3ファイルで構成されています。HTMLでドロワーメニュー、Googleマップの表示領域、開くボタン、閉じるボタンを作成し、CSSでレイアウトや背景オーバーレイ、スライドアニメーションを設定しています。JavaScriptでは、ボタン操作と背景クリックによるドロワーメニューの開閉を行います。

Googleマップはindex.html内のiframeで表示します。表示したい地点は、Googleマップで住所・施設名・緯度経度を検索し、「共有」から取得した埋め込みURLへ差し替えます。取得したiframe全体ではなく、src属性に指定されているURLをサンプルコードのiframeへ設定してください。

各ファイルを同じsampleフォルダへ配置することで動作します。特別なサーバー処理や外部ライブラリは使用していないため、index.htmlをブラウザで開くだけでドロワーメニューとGoogleマップの表示を確認できます。

sample/
├── index.html
├── style.css
└── script.js

各ファイルの役割
・index.html:ドロワーメニュー本体、タイトル、説明文、開くボタン、閉じるボタン、Googleマップを表示するiframeを記述します。iframeのsrc属性を変更すると、表示する地点を変更できます。
・style.css:ドロワーメニューの幅、余白、背景色、影、背景オーバーレイ、Googleマップの表示サイズ、スライドアニメーションを設定します。
・script.js:「地図を表示」ボタンでドロワーメニューを開き、「閉じる」ボタンまたは背景クリックで閉じる処理を実装します。

設置方法・使い方
① sampleフォルダを作成します。
② sampleフォルダ内へindex.html・style.css・script.jsを配置します。
③ Googleマップで表示したい住所・施設名・緯度経度を検索します。
④ Googleマップの「共有」をクリックし、「地図を埋め込む」を選択します。
⑤ 「HTMLをコピー」で取得したiframe内のsrc属性のURLを、index.htmlのGoogleマップ用iframeへ貼り付けます。
⑥ 必要に応じてiframeのtitle属性も、表示する地点に合わせて変更します。
⑦ sample/index.htmlをブラウザで開きます。
⑧ 「地図を表示」ボタンをクリックすると、指定した地点のGoogleマップがドロワーメニュー内に表示されます。
⑨ 「閉じる」ボタンまたは背景部分をクリックするとドロワーメニューが閉じます。

カスタマイズできる内容
・index.htmlのiframeにあるsrc属性を変更すると、表示する住所・施設・座標を変更できます。
・index.htmlでは、タイトル、説明文、「地図を表示」「閉じる」のボタン文字を変更できます。
・index.htmlのiframeにあるtitle属性は、表示する地点が分かる内容へ変更できます。
・style.cssでは、ドロワーメニューの横幅、背景色、文字色、余白、影、Googleマップの縦横比を変更できます。
・style.cssの「width:420px;」を変更すると、ドロワーメニューの横幅が変わります。
・style.cssの「aspect-ratio:16 / 9;」を変更すると、Googleマップ表示領域の縦横比が変わります。
・style.cssの「background:rgba(0,0,0,.5);」を変更すると、背景オーバーレイの色と暗さを調整できます。

数値調整
・style.cssの「animation:google-map-drawer-menu_slide .35s ease forwards;」にある「.35s」は、ドロワーメニューが左側から表示されるまでの時間です。値を大きくするとゆっくり、小さくすると速く表示されます。
・style.cssの「width:420px;」はドロワーメニューの横幅です。値を大きくすると広く、小さくすると狭くなります。
・style.cssの「max-width:90%;」は、小さい画面でドロワーメニューが使用できる最大幅です。
・style.cssの「background:rgba(0,0,0,.5);」にある「.5」は背景の透明度です。値を1へ近づけると暗くなり、0へ近づけると明るくなります。
・style.cssの「aspect-ratio:16 / 9;」はGoogleマップ表示領域の縦横比です。比率を変更すると地図の高さが変わります。

レスポンシブ対応
このサンプルはレスポンシブ対応です。style.cssでドロワーメニューに「max-width:90%;」、Googleマップ表示領域に「width:100%;」と「aspect-ratio:16 / 9;」を指定しているため、画面幅に合わせてサイズが調整されます。また、640px以下ではメディアクエリによってデモ全体とドロワーメニューの余白を狭くしています。スマートフォン・タブレット・PCで利用できます。


こちらもおすすめ


コメント