bing v6 kml导入鸟瞰

时间:2013-02-28 11:13:31

标签: kml bing-maps

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

以下是我实际实施的示例: http://alturl.com/w78mw [链接破碎]

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

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

1 个答案:

答案 0 :(得分: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>