谷歌地图在引导程序中显示为灰色内部模态

谷歌地图在引导程序中显示为灰色内部模态

本文介绍了谷歌地图在引导程序中显示为灰色内部模态的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用Bootstrap v3.3.5"(http://getbootstrap.com)版权所有 2011-2015 Twitter, Inc.对于我的网站,我想添加谷歌地图.我运行这段代码,所有地图都是灰色的.我不明白为什么这不适用于模态.有人可以帮我吗?

I use "Bootstrap v3.3.5 (http://getbootstrap.com)Copyright 2011-2015 Twitter, Inc. " for my site and i want to add google-map. I run this code, and all maps is grey. I dont understand why this not work with modal. Can someone help me?

我还包含了 <script src="https://maps.googleapis.com/maps/api/js"></script>.

HTML:

<body>
  <a class="openmodal" href="#contact" data-toggle="modal" data-id="Peggy Guggenheim Collection - Venice">Contact</a>
  <div class="modal fade" id="contact" role="dialog">
    <div class="modal-dialog modal-lg">
      <div class="modal-content" id="back">
        <div class="modal-header">
        <h4>Contact<h4>
      </div>
      <div class="modal-body">
        <div id="map"></div>
      </div>
      <div class="modal-footer">
        <a class="btn btn-default" data-dismiss="modal">Close</a>
      </div>
  </div>
</div>

JS:

<script src="https://maps.googleapis.com/maps/api/js"></script>
<script>
  function initialize() {
    var mapCanvas = document.getElementById('map');
    var mapOptions = {
      center: new google.maps.LatLng(44.5403, -78.5463),
      zoom: 8,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    var map = new google.maps.Map(mapCanvas, mapOptions)
  }
  google.maps.event.addDomListener(window, 'load', initialize);
</script>

CSS:

#map {
  width: 500px;
  height: 400px;
}

推荐答案

这是上面的代码在一个工作小提琴 -> http://jsfiddle.net/wgur1z7n/

Here is the code above in a working fiddle -> http://jsfiddle.net/wgur1z7n/

模态显示后触发谷歌地图resize事件:

Trigger the google maps resize event after the modal is shown :

$('#contact').on('shown.bs.modal', function () {
    google.maps.event.trigger(map, "resize");
});

这篇关于谷歌地图在引导程序中显示为灰色内部模态的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-04 03:35