javascript - 启动时虚拟地球 map 不显示为显示 :none

标签 javascript jquery css dom virtual-earth

我有这段代码可以使用 Virtual Earth API 显示 map :

<script type="text/javascript">
    function GetMap() {
        var map = map = new VEMap('myMap');
        map.LoadMap(new VELatLong(47.6, -122.33), 10, 'h', false);
    }

    $(document).ready(function () {
        GetMap();
    });
</script>

<a href="#" onclick="$('#myMap').toggle();">Show Map</a>
<div id="myMap" style="position:relative; width:400px; height:400px; display:none;"></div>

这不起作用,并在 map 应该去的地方显示一个黑框。如果我删除 display: none; 样式,那么它就可以正常工作。但我不希望 map 在页面加载时可见,我希望用户切换它。谁能看出我的方法有什么问题吗?

最佳答案

也许 map 需要在初始化时显示出来。如果 map 必须测量容器的尺寸才能正确呈现,这种情况尤其会发生。

要么按照 Diodes 的建议将 map 移出可视区域(您也可以将可见性设置为 false),要么在实际需要显示时初始化 map 。

关于javascript - 启动时虚拟地球 map 不显示为显示 :none,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/841395/

相关文章:

javascript - 创建元素然后删除元素

javascript - 无法使用QtWebkit通过javascript访问Qt对象方法

CSS 色相旋转使图像变暗

html - 如何垂直划分html页面并设置全高背景?

javascript - TypeError:未定义不是对象错误

jquery - 是否有任何 jQuery 插件可以提供与 www.squarespace.com 菜单类似的结果?

javascript - 通过 jQuery 重置联系表单的问题

javascript - Webpack 成功构建,但 JavaScript 不执行运行时

javascript - .before 方法添加意外的关闭标签

javascript - 为动态元素提供 ID