我已经在我的应用程序中实现了谷歌Map(在模态中),但是正如你在下面的图片中看到的那样,我当然想摆脱一个灰色区域。移动Map使灰色区域消失是可能的,但这不应该是必要的。
问题是,Map显示在一个模态框中,其中包含了大量的内容,这些内容是在单击用于显示模态的按钮时动态创建的。似乎问题可能是在加载模态之前Map内容没有完全加载,但我不确定……
html:
...
<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="myModalLabel">Test</h3>
</div>
<div id="modal-left" class="modal-body left"></div>
<div class="modal-body right">
<div id="map"></div>
</div>
</div>
...
字符串
js:
function initializeMap(latitude, longitude) {
var place = new google.maps.LatLng (latitude, longitude);
var myOptions = {
zoom: 10,
center: place,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("map"), myOptions);
var marker = new google.maps.Marker({
position: place,
map: map,
title: ""
});
};
$('.modal-btn').click(function(){
var producerId = $(this).attr('id');
GetProducer(producerId, function(data) { // <--- data retrieved through ajax
initializeMap(data.latitude, data.longitude);
var titel = data.name;
var content = "<p><img class='modal-img' src='" + data.imgurl + "' /></p>" +
"<p>" + data.name + ", " + data.address + "<br/>" +
data.zipcode + " " + data.town + "</p>" +
"<p><a href='" + data.url + "' >" + data.url + "</a></p>";
$('#myModalLabel').html(titel);
$('#modal-left').html(content);
});
});
型
- 图片1:*
的数据
- 图片2:*
的
5条答案
按热度按时间cwdobuhd1#
发生这种情况的通常原因是Map的大小在Map初始化后发生了变化。如果出于某种原因更改id=“map”的div的大小,则需要触发“resize”事件
字符串
你可以尝试在你的JavaScript控制台中触发事件,看看它是否有帮助。
请注意,这个答案是一个猜测,因为没有什么真正的问题,以工作,所以请让我知道,如果它没有帮助。
vohkndzv2#
将google.maps.event.trigger(map,“resize”);在setTimeout函数中,以便它在事件被触发之后触发。
ht4b089n3#
我一直在寻找一个解决方案一段时间。我也有同样的问题,而且我不是唯一一个。上面的代码行是不够的,但我注意到手动调整浏览器大小可以解决这个问题。如果它也能解决你的问题,那么我的解决方法是:
1)在初始化Map的函数末尾添加这个。它将向其添加一个侦听器,并在加载Map时调用该函数。它将基本上模拟调整大小。
字符串
我不得不重新调整Map中心后,调整大小
2)创建一个resize监听器,调用google map resize事件,如下所示:
型
我还必须把map放在我的初始化函数之外。我知道这不是最好的解决办法,但它现在工作。不要担心resize()调用。
它似乎与包含谷歌Map的隐藏div有关。我在this website jfyi上也找到了类似的解决方案。祝你好运!
jc3wubiy4#
这对我很有效:
字符串
来自@Bruno提到的链接
7z5jn7bk5#
这对我很有效:
字符串
this源代码