代码之家  ›  专栏  ›  技术社区  ›  Luis

bing v6 kml导入鸟瞰图

  •  0
  • Luis  · 技术社区  · 13 年前

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

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

    地图加载了KML,但它并没有像预期的那样切换到鸟瞰图。

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

    1 回复  |  直到 10 年前
        1
  •  1
  •   Nicolas Boonaert    13 年前

    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>