【问题标题】:Map doesn't get displayed Google Maps API V3地图未显示 Google Maps API V3
【发布时间】:2011-05-30 13:02:34
【问题描述】:

使用 V3 API 编写代码。

function initialize ()
{
    if (GBrowserIsCompatible()) 
    { 
        var ch = new GLatLng (0,0);

        var myOptions = {
            zoom:7,
            center: ch,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        }

        map = new google.maps.Map(document.getElementById("map"), myOptions);

        directionsDisplay = new google.maps.DirectionsRenderer(map, document.getElementById("map"));
        directionsDisplay.setMap(map);                  
    }
}

使用 V2 API 编写代码。

function initialize ()
{
     if (GBrowserIsCompatible()) 
     { 
         map = new GMap2 (document.getElementById("map"));
         map.setCenter (new GLatLng(0,0),1 );
     }
}

V2 API 代码完美运行,V3 API 代码不显示任何地图。 我错过了什么?

编辑 修改V3代码如下,还是没有map:

var chicago = new google.maps.LatLng (0, 0);

var myOptions = {
    zoom:1,
    center: chicago,
    mapTypeId: google.maps.MapTypeId.ROADMAP
}

map = new google.maps.Map(document.getElementById("map"), myOptions);

【问题讨论】:

    标签: google-maps google-maps-api-3


    【解决方案1】:

    确保您正在加载正确的 Google Maps API,您有一个 id 为 map 的 div 标签,并且(为了更好地衡量)您为 div 指定了高度和宽度。 (也许将高度和宽度放在样式表中更好,但为了清楚起见,我将其包含在内。)

    这是一个包含您的后期编辑代码的网页。尝试一下。对我有用。

    <html>
    <head>
    <title>Google Map test</title>
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
    </head>
    <body>
    <div id="map" style="height:500px;width:500px"></div>
    <script>
    var chicago = new google.maps.LatLng (0, 0);
    
    var myOptions = {
        zoom:1,
        center: chicago,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    
    map = new google.maps.Map(document.getElementById("map"), myOptions);
    </script>
    </body>
    </html>
    

    【讨论】:

    • @Ray @wong2 终于解决了,如果没有你们的帮助,我是做不到的!问题是这条线 &lt;script src="http://maps.google.com/maps?file=api&amp;amp;v=2&amp;amp;key=GOOGLE_MAPS_KEY" 我用 Trott 的线 src="http://maps.google.com/maps/api/js?sensor=false" 替换了它,这成功了 :mad: 感谢大家的帮助。
    • 为我工作。没有设置高度和宽度。谢谢!
    【解决方案2】:

    在 V3 中,所有名称都已更改。例如,GLatLng 现在是 google.maps.LatLng。您需要修改代码以使用新名称。

    一个link to the docs,以防你没有它

    【讨论】:

    • 谢谢,但这并没有改变任何东西 :( 地图仍然没有显示!
    • 好吧,我只是扔了if (GBrowserIsCompatible()) 声明,仍然没有变化。我实际上想要这个属性:code.google.com/apis/maps/documentation/javascript/… 它在 V2 上可用吗?
    • 可能是个愚蠢的问题,但你确定 document.getElementById("map") 实际上是在寻找一个 DOM 元素吗?
    • GBrowserIsCompatible() 确实不适用于 V3 API。如果我启用它,则不会显示任何地图。
    【解决方案3】:

    v3中没有GLatLng,改成google.maps.LatLng

    center: chicago,
    

    【讨论】:

    • 我也试过了,没有帮助:(这个文档也没有引号:code.google.com/apis/maps/documentation/javascript/…
    • @AnishaKaul:你能做一个 jsfiddle 吗? (jsfiddle.net),那我就可以更了解你的情况了
    • center 需要是 LatLng 对象,而不是字符串,因此将其更改为 "chicago" 将无济于事。幸运的是,OP 似乎在随后的问题编辑中得到了正确的部分。
    【解决方案4】:

    我有同样的症状,我的 v2 地图无法与 V3 一起显示。当我查看浏览器控制台日志时,我看到了错误:Uncaught ReferencedError: GBrowserIsIncompatible is not defined。

    根据Google V2 to V3 Migration Guide,不再支持 GBrowserIsIncompatible。我还没有找到替代方案,只是删除了与此功能相关的逻辑。这个site suggests just removing the function

    我发现上面的 Google 迁移指南链接中解决了其他迁移问题。

    【讨论】:

      【解决方案5】:

      1- 确保您的 google map API 密钥正确。

      2- 它可能未在您的谷歌地图控制台中启用。

      3- 错误地启用了位置 API 而不是地图 API。

      【讨论】:

        猜你喜欢
        • 2014-07-03
        • 2012-07-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-12
        • 1970-01-01
        • 2023-04-09
        • 1970-01-01
        相关资源
        最近更新 更多