0

我正在尝试使用自定义 KML 文件以鸟瞰模式实现 Bing 地图。我正在使用 Bing v6,因为它内置了 KML 导入功能,但我遇到了问题。

这是我实际实现的示例:http://alturl.com/w78mw [链接断开]

地图会加载 KML,但不会像预期的那样切换到鸟瞰图。

如果我手动切换,由于某种原因我无法缩小,这与任何类型的错误有关吗?

4

1 回答 1

1

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>
于 2013-02-28T13:02:59.767 回答