新Bing地图有一个奇怪的问题。 当将地图放置在页面上的 div 中时,弹出菜单(鼠标悬停在“鸟瞰视图”上)会在页面上进一步向下弹出。< / p>
我们如何修复此代码以使其有效的任何想法:
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0"></script>
<script>
$(document).ready(function(){
//console.debug('Map', ($("#map"))[0]);
var location = new Microsoft.Maps.Location(-8.59838423, 115.33570617, 0),
map = new Microsoft.Maps.Map(($("#map"))[0], {
credentials: '<removed credentials>',
disableUserInput: false,
showCopyright: false,
showDashboard: true,
showLogo: false,
showScalebar: false,
mapTypeId:Microsoft.Maps.MapTypeId.birdseye
}
);
map.setView({
animate: false,
center: location,
zoom: 12
});
//map.entities.push(Microsoft.Maps.Pushpin(location));
});
</script>
</head>
<body>
<div style="position: relative;">
<div style="width:200px; height: 1000px; background: #eee; position: relative;">Some long content</div>
<div style="position: relative;">
<div id="map" style="width: 600px; height: 300px; "></div>
</div>
<div style="width:200px; height: 1000px; background: #eee;">Some long content</div>
</div>
</body>
</html>
答案 0 :(得分:0)
您需要在开始标记之前的文档顶部添加DOCTYPE声明,如下所示:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
此处描述:http://msdn.microsoft.com/en-us/library/gg427624.aspx
(作为旁注,我还建议您编辑问题以删除“凭据”行 - 这是您应该尝试保护的个人应用程序密钥)
答案 1 :(得分:0)
我调查了这一点,发现当我向下滚动菜单时,菜单出现在正确的位置。但是,如果我首先向下滚动页面,菜单将显示X像素,其中X等于滚动的像素数。
我的诊断是微软正在计算滚动视口(白痴)的偏移量而不是实际页面的顶部。我认为解决这个问题的唯一方法就是让微软纠正错误。