Saturday, February 28, 2015

Make Google Maps Embeds Responsive

This is the default embed code for the new Google Maps:
  1. <!-- Height=450px; Width=600px -->
  2. <iframe src="https://www.google.com/maps/embed?pb=!1m14!1m12!1m3!1d7098.94326104394!2d78.0430654485247!3d27.172909818538997!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!5e0!3m2!1sen!2s!4v1385710909804" width="600" height="450" frameborder="0" style="border:0"></iframe>
As specified in the height and width parameters of the embed code, the default height for medium embeds is 450px or 75% of the default width (600px).
If you wish to transform this static sized Google Map into one that is responsive, all you have to do is add a few CSS rules to your web page and wrap the embed IFRAME inside these rules.
The new embed code with responsive style will be something like this. You can change the value of padding-bottom (line #4) from 75% to something for a different aspect ratio.
  1. <style>
  2. .google-maps {
  3. position: relative;
  4. padding-bottom: 75%; // This is the aspect ratio
  5. height: 0;
  6. overflow: hidden;
  7. }
  8. .google-maps iframe {
  9. position: absolute;
  10. top: 0;
  11. left: 0;
  12. width: 100% !important;
  13. height: 100% !important;
  14. }
  15. </style>
  16.  
  17. <div class="google-maps">
  18. <iframe src="https://www.google.com/maps/embed?pb=!1m14!1m12!1m3!1d7098.94326104394!2d78.0430654485247!3d27.172909818538997!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!5e0!3m2!1sen!2s!4v1385710909804" width="600" height="450" frameborder="0" style="border:0"></iframe>
  19. </div>
A similar technique can be used to embed Instagram videos and photosresponsively.

No comments:

Post a Comment