2010-10-14 48 views
0

我已经创建了一个SharePoint 2010 WebPart,它可以从列表中拉取纬度/经度信息,并在地图中显示针迹。我在地图在IE7中无法正确呈现的问题。即使我没有使用任何针脚并只显示基本地图。这里有一个截图:ScreenshotBing地图控件在IE7中无法正确呈现 - SharePoint 2010

我尽可能简化了代码,并且仍然出现错误。这里是我的示例代码:

<script type="text/javascript" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.2"></script> 
<div id='rowanMap' style="position:relative; width:100%; height:400px; float:none;"></div> 
<script type="text/javascript"> 
function GetMap() { 
    var map = null; 
    map = new VEMap('rowanMap'); 
    map.SetCredentials("[Redacted]"); 

// pins added programatically here if they exist, but problem occurs without them as well. 

    map.LoadMap(); 
} 

GetMap(); 
</script> 

这被添加到页面作为一个可视的webpart。

我知道这不是我的版本IE7的,因为这个演示工作在第二个选项卡加载时:http://www.microsoft.com/maps/isdk/ajax/

此外,火狐,Chrome,IE8,IE9都正常工作。

任何想法?

回答

0

我想出了一个解决方法。看来这个问题是的GetMap()函数运行在页面加载完毕之前,因此增加超时解决了这个问题:

setTimeout("GetMap()", 50); 

我使用在window.onload方法试过,但它改写了一些必要的SharePoint的javascript 。幸运的是即使时间很短,超时仍然有效。