Bing Maps未在Localhost MVC应用程序上显示

时间:2013-02-16 01:28:59

标签: asp.net-mvc-4 bing-maps

我正在构建一个示例MVC4 Web应用程序,我的目的是学习并掌握使用Bing Maps API,但我担心它不顺利。

我正在关注this tutorial,但是当我重新加载页面时,我没有得到地图,地图就是要显示的地方,我只看到空白的背景颜色!即使在获得API密钥后,也将其放入我页面上的脚本中!没有地图显示!

这是我的脚本代码:

<script type="text/javascript">
var map = null;

function getMap()
{
    var boundingBox = Microsoft.Maps.LocationRect.fromLocations(new Microsoft.Maps.Location(47.618594, -122.347618), new Microsoft.Maps.Location(47.620700, -122.347584), new Microsoft.Maps.Location(47.622052, -122.345869));
    map = new Microsoft.Maps.Map(document.getElementById('myMap'), { credentials: 'MyKeyGoesHere', bounds: boundingBox });
}
</script>

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

您的实施需要考虑几个方面。

  1. 将脚本引用添加到Bing Maps API
  2. 在您的网页中添加HTML元素和所需信息
  3. 添加load事件并触发你的getMap()方法(使用body上的onload事件或代码动态地设置)
  4. 请参阅MSDN以帮助您完成首次实施: http://msdn.microsoft.com/en-us/library/gg427624.aspx

    以下是静态页面示例:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title></title>
        <script type="text/javascript" charset="UTF-8" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0">
        </script>
        <script type="text/javascript">
            var map = null;
    
            function getMap() {
                var boundingBox = Microsoft.Maps.LocationRect.fromLocations(
                    new Microsoft.Maps.Location(47.618594, -122.347618), 
                    new Microsoft.Maps.Location(47.620700, -122.347584), 
                    new Microsoft.Maps.Location(47.622052, -122.345869));
    
                map = new Microsoft.Maps.Map(
                    document.getElementById('myMap'), 
                    { 
                        credentials: 'YOURKEY', 
                        bounds: boundingBox 
                    });
            }
    
        </script>
    </head>
    <body onload="getMap();">
        <div id="myMap" style="position: relative; width: 800px; height: 600px;">
        </div>
    </body>
    </html>