0

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

<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>

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

4

2 回答 2

3

也许地图需要在初始化时显示出来。如果地图必须测量容器的尺寸才能正确渲染,就会发生这种情况。

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

于 2009-05-08T20:15:20.450 回答
2

或者,您可以将其移出屏幕,使用left:-2000px.

于 2009-05-08T19:42:03.247 回答