jquery – Google地图中的灰色区域

前端之家收集整理的这篇文章主要介绍了jquery – Google地图中的灰色区域前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经在我的应用程序中实现了Google地图(以模态形式),但是正如您在下面的图像中看到的那样,有一个灰色区域,我当然希望摆脱它.可以移动地图以使灰色区域消失,但不应该这样做.

事情就是地图显示在一个模态框内,其中包含许多内容,这些内容是在点击显示模态的按钮时动态创建的.似乎问题可能是在加载模态之前地图内容没有完全加载,但我不确定……

HTML

  1. ...
  2. <div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  3. <div class="modal-header">
  4. <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
  5. <h3 id="myModalLabel">Test</h3>
  6. </div>
  7. <div id="modal-left" class="modal-body left"></div>
  8. <div class="modal-body right">
  9. <div id="map"></div>
  10. </div>
  11. </div>
  12. ...

JS:

  1. function initializeMap(latitude,longitude) {
  2. var place = new google.maps.LatLng (latitude,longitude);
  3.  
  4. var myOptions = {
  5. zoom: 10,center: place,mapTypeId: google.maps.MapTypeId.ROADMAP
  6. }
  7.  
  8. var map = new google.maps.Map(document.getElementById("map"),myOptions);
  9.  
  10. var marker = new google.maps.Marker({
  11. position: place,map: map,title: ""
  12. });
  13. };
  14.  
  15. $('.modal-btn').click(function(){
  16. var producerId = $(this).attr('id');
  17.  
  18. GetProducer(producerId,function(data) { // <--- data retrieved through ajax
  19. initializeMap(data.latitude,data.longitude);
  20.  
  21. var titel = data.name;
  22.  
  23. var content = "<p><img class='modal-img' src='" + data.imgurl + "' /></p>" +
  24. "<p>" + data.name + "," + data.address + "<br/>" +
  25. data.zipcode + " " + data.town + "</p>" +
  26. "<p><a href='" + data.url + "' >" + data.url + "</a></p>";
  27.  
  28. $('#myModalLabel').html(titel);
  29. $('#modal-left').html(content);
  30. });
  31. });

图1:

图2:

解决方法

发生这种情况的常见原因是地图的大小在初始化地图后会发生变化.如果由于某种原因更改了id =“map”的div的大小,则需要触发“resize”事件
  1. google.maps.event.trigger(map,'resize');

您可以尝试在javascript控制台中触发事件,看看它是否有帮助.

请注意,这个答案是猜测,因为问题中没有任何内容可以使用,所以如果它没有帮助,请告诉我.

猜你在找的jQuery相关文章