Google Maps Hidden Div停止了隐藏

时间:2015-02-13 03:06:30

标签: javascript css google-maps

我的网站上有一张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点才出现这种情况。由于我的计算机上没有打开文本编辑器,因此停止工作。

1 个答案:

答案 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版本。

希望这有帮助。