我很难在我的网站上使用谷歌地图。问题是地图显示如下:
我理解的是在显示div之后重新调整对象大小的已知问题。 (已从display: none;
更改为display: block;
我在封装标签的div上使用JQueryUI选项卡和display: none;
。
我确实尝试删除标签并在开始时将所有标签显示为一个块,然后在window.load
上进行更改 - 但是在加载后手表内容自行移动会相当难看。
这JSFiddle演示了我想要的方式(简化),虽然它有缺陷,因为我无法使其正常工作(它根本没有显示地图)。
还有其他方法吗?或者我是否必须为我的地图功能找到不同类型的布局?
答案 0 :(得分:3)
我发现唯一可靠的方法是使用display:block
处的画布初始化地图,然后隐藏它。如果这是在$(function(){...})结构中完成的,那么在隐藏它之前你不应该看到地图。
您还可以尝试隐藏画布,并在显示画布后首次初始化地图。
无论哪种方式,只有在其画布可见时才初始化地图。
答案 1 :(得分:1)
使用
map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
$("#map_canvas").css("height", $(window).height());
答案 2 :(得分:0)
当您在初始化之后操纵任何地图的外部div时会发生这种情况。因此,为了解决这个问题,您必须在显示所有外部div之后初始化地图。
所以只需在最后初始化地图:
$mapsOuterDivs.slideToggle(700);
setTimeout(function(){
initializeGoogleMap();
},300);