レスポンシブ対応のGoogleマップを挿入するには
Section 6 動的コンテンツの挿入
最終更新日時:
2020/07/20 13:38:32
Googleマップから埋め込みコードを取得して、コードビューに貼り付けますが、幅は固定となります。レスポンシブ対応にするには、その埋め込みコードのwidthの値を100%にするか、CSSで制御するとOKです。
はじめに
travel.wanichan.jp サイトには、ところどころにGoogleマップを挿入しています。レスポンシブWebデザインに移行する際、私が行った対応として、iframeタグのstyle属性にwidthを100%にしています。
<iframe height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.co.jp/maps?f=d&source=s_d&saddr=Hyatt+Regency&daddr=Bellevue+Transit+Center,+Bellevue,+WA,+United+States&geocode=FeiY1gIdOVy3-CH36nmWvTU0CClXiUkWj2yQVDH36nmWvTU0CA%3BFQaO1gIdCHC3-CEvScl0uiVFlynF7EqjiWyQVDEvScl0uiVFlw&aq=0&oq=Bellevue+Tran&sll=47.61828,-122.201031&sspn=0.007391,0.021136&hl=ja&brcurrent=3,0x0:0x0,0&mra=ls&ie=UTF8&t=m&ll=47.616897,-122.199018&spn=0.005063,0.015621&z=16&output=embed" style="width: 100%"></iframe>
<br>
<small><a href="https://maps.google.co.jp/maps?f=d&source=embed&saddr=Hyatt+Regency&daddr=Bellevue+Transit+Center,+Bellevue,+WA,+United+States&geocode=FeiY1gIdOVy3-CH36nmWvTU0CClXiUkWj2yQVDH36nmWvTU0CA%3BFQaO1gIdCHC3-CEvScl0uiVFlynF7EqjiWyQVDEvScl0uiVFlw&aq=0&oq=Bellevue+Tran&sll=47.61828,-122.201031&sspn=0.007391,0.021136&hl=ja&brcurrent=3,0x0:0x0,0&mra=ls&ie=UTF8&t=m&ll=47.616897,-122.199018&spn=0.005063,0.015621&z=16" style="color:#0000FF;text-align:left">大きな地図で見る</a></small>
しかし、100%にしてしまっても、高さがピクセル値で固定されてしまいます。
縦横比を保持したい場合は、YouTube動画の挿入と同じ要領でCSSで制御するとよいでしょう。
YouTube動画挿入用のCSSにプロパティを追加する
前の記事で紹介したYouTubeビデオ用のCSSにプロパティを追加すると一つのタグだけで使いまわしができます。iframe タグだけではなく、object タグと embed タグにも同じスタイルを適用するとOKです。Googleマップの場合はYouTube動画用のCSSだけで使いまわしが可能です(動作確認済み)。
4:3の比率の場合
.iframe-content { position: relative; width: 100%; padding: 75% 0 0 0; } .iframe-content iframe,iframe-content object,iframe-content embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
16:9の比率の場合
.iframe-content { position: relative; width: 100%; padding: 56.25% 0 0 0; } .iframe-content iframe,iframe-content object,iframe-content embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
WebページにGoogleマップのコードを挿入する
- コードビューに切り替えて、挿入したい部分にDIVタグを挿入します。
<div class="iframe-content"> </div>
-
Googleマップで目的の住所を指定(ホテルであればホテル名でOK)し、右下の歯車のアイコンをクリックして、[地図を共有または埋め込む]をクリックします。
- [地図を埋め込む]をクリックして、コードをクリップボードにコピーします。
- Expression Web 4にタスクを切り替えて、手順1のコードのタグの要素に貼り付けます。