我正在尝试使用自定义 KML 文件以鸟瞰模式实现 Bing 地图。我正在使用 Bing v6,因为它内置了 KML 导入功能,但我遇到了问题。
这是我实际实现的示例:http://alturl.com/w78mw [链接断开]
地图会加载 KML,但不会像预期的那样切换到鸟瞰图。
如果我手动切换,由于某种原因我无法缩小,这与任何类型的错误有关吗?
API参考:
您可以使用方法的完整原型ImportShapeLayerData
在加载元素后使用回调并设置样式,请参阅 MSDN:http:
//msdn.microsoft.com/en-us/library/bb429606.aspx
您可以使用属性 SetBestMapView(方法的最后一个参数)自动设置视图或自行设置。
例子:
这是您的代码中的一个示例:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Bing Maps KML</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?
v=6.3"></script>
<script type="text/javascript">
var map = null;
function GetMap() {
map = new VEMap('myMap');
map.SetCredentials("YOURKEY");
map.LoadMap();
map.SetMapMode(VEMapMode.Mode2D);
map.SetZoomLevel(1);
func_addGrid();
}
function func_addGrid() {
var atlasGrid = new VEShapeLayer();
var atlasShape = new VEShapeSourceSpecification(VEDataType.ImportXML,
"http://www.mediacode.pt/directions.kml", atlasGrid);
map.ImportShapeLayerData(atlasShape, function () {
map.SetMapStyle(VEMapStyle.Birdseye);
}, true);
}
</script>
</head>
<body onload="GetMap();">
<div id='myMap' style="position: relative; width: 600px; height: 400px;"></div>
</body>
</html>