ホームページに埋め込んだ Google マップをスマホでスクロールしないようにするには

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

Google マップはホームページに埋め込んで使われることがよくあります。

そのページをスマホで表示してスクロールするとき、使い勝手が悪くなってしまうことがあります。

Google マップが画面幅いっぱいに配置されていると(たいていの場合こうなっていますね)、ページをスクロールして Google マップのところまで来ると、そこで地図のスクロールが始まってしまい、ページを先に進めることが面倒になってしまいます。

この問題の対策はいろいろありますが、私がやっている比較的手軽な方法を紹介します。

まず、以下のように Google マップのHTMLソースを div タグで囲みます。

<div class=”g_map”>
<iframe src=”https://www.google.com/maps/… (略) ></iframe>
</div>

クラス g_map に対して pointer-events: none; を指定すると、マウスで地図を操作できなくなります。つまり、静止画と同じになります。

.g_map {
pointer-events: none;
}

これでは地図としての機能が不十分ですので、地図の下に Google マップへのリンクを置くとよいです。

レスポンシブデザインの場合、メディアクエリを使ってスマホだけに上記の pointer-events: none; を適用すれば、パソコン・スマホどちらでも使いやすい地図ができます。

さらに、スマホ以外では display:none; により地図の下のリンクを非表示にすればスマートですね。

下の地図はこの方法で作ったものです。パソコンとスマホ(またはパソコンの画面幅を小さくして)でご覧いただくと違いがお分かりいただけます。

Google Map を表示する »

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る