
Googleマップを埋め込んだサイトはよく見かけますが、そのまま埋め込んだだけだとレスポンシブに対応できません。ですので今回は「Googleマップをレスポンシブに対応させる方法」をやっていきたいと思います。
まずはGoogleマップを埋め込む
ご存知方も多いと思いますが、まずはGoogleマップをサイトに埋め込みむ方法を確認しましょう。
Googleマップにアクセスします。
https://www.google.co.jp/maps/

画面左にある検索ボックスで表示したい場所を検索します。今回は新宿駅にしました。
そして同じく左のメニューにある「共有」をクリックします。

するとこんな感じのポップアップが出てきますので、「地図を埋め込む」をクリックします。表示が変わりiframeのタグが出てきますので、コピーします。
iframeのサイズを大・中・小やカスタムサイズから選べますが、今回はサイズはCSSで指定しますので特に何も指定しません。
そして、表示したいところにiframeタグを貼り付けると下のように表示されます。簡単ですね。
サイズを特に何も指定しないと幅600pxの縦450pxになっていましたので、右側があいてしまっています。
iframeタグ内にある「width=”600″」を「width=”100%”」にしてみましょう。
横幅がフィットしました。
スマホで見ても横幅がはみ出すこともなく100%でフィットしています。

でも縦幅が450pxのままなのでスマホの場合はなんだか縦長です。。。
縦幅を「height=”auto”」にしてみます。
縦幅はうまくいきませんでした。(当然ですが。。。)
ということで、横幅に合わせて縦幅も可変になるように、本題のGoogleマップをレスポンシブに対応させていきたいと思います。
Googleマップをレスポンシブに対応させる
iframeをdivなどのボックス要素でラップします。
HTML
<div class="gmap">
<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d6480.97683504581!2d139.69603573227477!3d35.689596751983835!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x60188cd0d6b1ba1f%3A0x1c32a1f1ecacfdd5!2z5paw5a6_6aeF!5e0!3m2!1sja!2sjp!4v1536218871739" width="100%" height="auto" frameborder="0" style="border:0" allowfullscreen></iframe>
<div><!--gmap-->
そして、ラップしたgmapとiframeにCSSを指定します。
CSS
.gmap {
height: 0;
overflow: hidden;
padding-bottom: 56.25%;
position: relative;
}
.gmap iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}
4行目
親要素gmapの高さは「height」ではなく「padding-bottom」で、かつ%で指定します。%指定なので横幅に応じて可変になります。「padding-top」でもOKです。
なんで56.25%なのかというのは、アスペクト比16:9にしているためです。
9/16*100=56.25
4:3の場合は75%。
3/4*100=75
今回はGoogleマップなので本当はアスペクト比は気にせず任意の%で大丈夫ですが、Youtubeの埋め込みでアスペクト比が活きてきます。せっかくなので上記の%は覚えてしまいましょう。
5行目
「position: relative;」にします。このあと出てくる子要素のiframeを「position: absolute;」にするので位置の基準にするためです。
続いて子要素のiframeのCSSです。
8行目
iframeは「position: absolute;」にします。
9,10行目
位置の基準を左上にします。
11,12行目
そして親要素の縦横幅100%にしています。
そしてCSSを指定したGoogleマップが下のものになります。
縦横比を維持したままコンテンツの幅に合わせて拡大縮小されます。
WEBデザイナー・フロントエンドのスキルを確実に身につけたい方へ
「WEBデザインやフロントエンドを学びたい」と思い立ったとき、多くの方がまず独学を選びます。
しかし、独学では「何をどこから学べばいいかわからない」「つまずいたときに誰にも聞けない」といった壁にぶつかることも少なくありません。
一方、スクールで学べば、正しい順序で、現場で使えるスキルを効率よく習得することができます。最短ルートでスキルを身につけたい方には、スクール学習がおすすめです。
かすが私は26歳で印刷業からWEBデザイナーを目指して学び始めましたが、やはり独学に限界を感じ短期スクールで学びました。本気でスキルを身につけたいならスクールはマジで行った方が良いです!
- カリキュラムが体系化されているため、基礎から応用まで無駄なく学べる
- 現役のプロから実践的なフィードバックを受けられる
- わからないことをすぐに質問・解決できる環境がある
- 制作課題を通じて、ポートフォリオが作成できる
- 学習仲間や講師とのつながりが、モチベーション維持につながる
- カリキュラムが現場で必要とされる技術に対応しているか
- 現役デザイナー・エンジニアが講師として在籍しているか
- ポートフォリオ制作のサポートが充実しているか
- 卒業後の就職・転職支援が用意されているか
- オンライン・通学など、自分の生活スタイルに合った受講形式か
遠回りせず、確実にスキルを身につけたいなら、プロに教わるのが一番の近道です。
WEBデザイナー・フロントエンドエンジニアとして一歩踏み出したいあなたにぴったりのスクールを、下記の記事でご紹介しています。ぜひチェックしてみてください。











