Javascript:Google Maps API:如果地图加载在隐藏容器中,则为空白地图
Javascript: Google Maps API: Blank Map if map loads in a hidden container
这似乎是一个常见的问题,但最新的谷歌地图API是否可以在最初隐藏的容器中显示地图?
目前,当容器显示为块时,我有地图在工作
<div class="map-container">
<div id="map"></div>
</div>
如果.map-container
最初在CSS上有display:none;
,并且我使用Javascript来"显示"容器,那么我就会看到地图应该在哪里,有一个空白的背景和谷歌标志。
有人找到什么好的解决方案吗?我唯一能想到的尝试是最初加载它显示,然后用javascript在页面加载时隐藏它。。。我显然不想这样做,所以如果有其他方法,那就太好了!
显示div后,在地图上触发调整大小事件。您还需要设置地图的中心(当地图没有大小时,中心是分区的左上角…)
概念验证小提琴
代码片段:
var geocoder;
var map;
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(37.4419, -122.1419),
zoom: 13,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(
document.getElementById("map"), mapOptions);
var marker = new google.maps.Marker({
position: map.getCenter(),
map: map
});
google.maps.event.addDomListener(document.getElementById('dispmap'), 'click', function() {
var elem = document.getElementById("map");
console.log("before:" + elem.style.display);
elem.style.display = (elem.style.display === 'none' ||
elem.style.display === '') ? 'block' : 'none';
console.log("after:" + elem.style.display);
google.maps.event.trigger(map, 'resize');
map.setCenter(mapOptions.center);
})
}
google.maps.event.addDomListener(window, "load", initialize);
html,
body,
#map,
.map-container {
height: 100%;
width: 100%;
margin: 0px;
padding: 0px
}
#map {
display: none;
}
<script src="https://maps.googleapis.com/maps/api/js"></script>
<input id="dispmap" type="button" value="toggle" />
<div class="map-container">
<div id="map">
<div>
</div>
相关文章:
- Javascript:Google Maps API:如果地图加载在隐藏容器中,则为空白地图
- 试图在网站上抓取谷歌地图api生成的动态数据,但正常抓取返回空白
- 谷歌地图和空白错误
- 角度:在另一个模态指令中加载的谷歌地图指令保持空白
- 谷歌地图 - 当地图应该显示时,有时会发生“未定义”错误或地图为空白.如何预防
- 谷歌地图API:空白页面(无地图)
- Google Maps JavaScript API v3 中的空白地图元素
- 为什么谷歌地图容器在此设置中突然加载为灰色空白
- PhoneGap安卓系统:谷歌地图api v3显示空白屏幕
- 谷歌地图没有;不要出现.只是一片空白
- 谷歌地图API显示空白地图
- 谷歌地图API显示空白地图时,从HTML5地理位置提供LatLng线
- 谷歌地图渲染空白地图
- 谷歌地图API不工作与PhoneGap-生成空白页
- 看到带有谷歌地图api的空白页面
- 谷歌地图在网络应用中显示空白页
- 谷歌地图V3地图可以在chrome浏览器,空白的移动safari
- 谷歌地图v3 API标记不起作用,并留下空白页
- 谷歌地图赢得't加载-教程中的空白屏幕修改
- 谷歌地图 API 空白输出