我的网站上有一张Google地图,自12月初以来效果很好。那天晚上,当我进入网站时,地图默认打开。我无法关闭它。我所有的谷歌地图都是这样......但几个月内没有人触及过这些代码?会导致这种情况的原因是什么?
在Firefox中检查元素告诉我div是隐藏的,但它非常明显。
我的控制台显示没有错误。
我知道这很广泛,但是这种奇怪的行为不可能是由php文件中的错误按键引起的。
行。还是行不通。不幸的是,抱歉,但我无法分享该网站。但是,我已经将代码剥离到最低限度 - 并且可见性默认为可见。哦,当我禁用Google代码时,一切都很完美。屏幕默认为正确的视图,并且正确地单击图像会打开面板 - 地图本身就是灰色。
CSS ...将mapproj div定义为隐藏。
#mapproj, #mappers, #mapbuildproj, #mapcurproj {
visibility:hidden;
background:#666;
text-align:left;
position:absolute;
width: calc(100% - 200px);
width: -o-calc(100% - 200px); /* opera */
width: -webkit-calc(100% - 200px); /* google, safari */
width: -moz-calc(100% - 200px);
height: calc(100% - 80px);
height: -o-calc(100% - 80px); /* opera */
height: -webkit-calc(100% - 80px); /* google, safari */
height: -moz-calc(100% - 80px);
overflow-y:auto;
left:200px;
top:40px;
color:black;
z-index:1;
}
HTML ...仅使用变量comp set调用showprojmap()函数。
<img style="margin-left:5px;" class="icon" src="images/add.png" alt="some_text" title="Add a project" onclick="showprojmap(3)" height="15px" width="15px">
<div id="mapproj"></div>
Showprojmap函数...应该将div设置为可见,因为未设置类型。
function showprojmap(comp, type) {
if (typeof type !=='undefined') {
var personallog = document.createElement('input');
var createproject = document.getElementById("createproject");
personallog.setAttribute("id","personalid");
personallog.setAttribute("name","personalid");
personallog.setAttribute("type","hidden");
personallog.setAttribute("value",comp)
createproject.appendChild(personallog);
document.getElementById('mappers').style.visibility = "visible";
} else {
var personallog = document.getElementById("personalid");
document.getElementById('mapproj').style.visibility = "visible";
if (personallog){
personallog.parentNode.removeChild(personallog);
}
}
document.getElementById('logsmapproject').style.visibility = "visible";
}
Google地图代码...自动将div设置为可见。
var mapproj;
function initializeproj() {
var mapOptions = {
center: { lat: -34.397, lng: 150.644},
zoom: 8
};
mapproj = new google.maps.Map(document.getElementById('mapproj'), {
zoom: 15,
center: { lat: 41.7636111, lng: -72.6855556}
});
var infowindow = new google.maps.InfoWindow();
}
google.maps.event.addDomListener(window, 'load', initializeproj);
再次,直到上周二晚上9点到晚上10点才出现这种情况。由于我的计算机上没有打开文本编辑器,因此停止工作。
答案 0 :(得分:0)
最近我遇到了类似的问题,突然间,一张弹出式地图停止了关闭。
如果它对你有帮助,我通过请求google地图JS api的最新版本(通过在请求查询字符串中添加v = 3.18)来解决它。我仍然看到v3.19的问题。
http://maps.google.co.uk/maps/api/js?v=3.18&sensor=true&callback=loadMaps
我发现如果您没有明确请求版本,那么您只需获得最新的experimental版本。
希望这有帮助。