我如何修复谷歌地图api v3显示为灰色框?

时间:2011-04-29 23:21:08

标签: google-maps

当我搜索网站上的附近位置时,我正在工作,结果显示在列表中,但地图区域显示为灰色,有时它会回来,但随后会消失。

任何帮助将不胜感激

4 个答案:

答案 0 :(得分:5)

这是对第一个答案的问题的回复。他的想法是正确的,你需要在任何东西可见之前用一个位置初始化它。另请注意,这是关于V3的问题,第一个答案解决了V2的语法问题。请使用与v2帖子相同的想法尝试下面的代码。

使用初始位置设置地图选项中的中心值。您也可以在此处调整缩放。

var mapOptions = {
      zoom: 12,
      mapTypeId: google.maps.MapTypeId.ROADMAP,
      center: new google.maps.LatLng(latitude, longitude)
    };
var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);

答案 1 :(得分:2)

在第3版中,检查您的Lat和Lng是否正常,不是"未定义"。

console.log(results[0].geometry.location.k);
console.log(results[0].geometry.location.D);

var mapOptions = {
    zoom: 15,
    center: new google.maps.LatLng(
        results[0].geometry.location.k, 
        results[0].geometry.location.D
    )
};
map = new google.maps.Map(document.getElementById('map-canvas'),mapOptions);

答案 2 :(得分:1)

初始化的时机非常重要。地图加载时地图是否可见,或者是否弹出/淡入/(无论是什么状态会将状态从不可见变为可见)?

如果在初始化时隐藏地图,则地图将为灰色。

答案 3 :(得分:0)

根据我使用谷歌地图的经验,有时当您正在预览的位置(特别是缩放系数较高时)或当您的互联网连接速度较慢时,会显示灰色色块。这样地图数据需要很长时间才能加载/失败!

但其他因素也可能是原因 - 也许。

初始化地图时,例如:

var map = new GMap2(document.getElementById("map_canvas"));
map.setCenter(new GLatLng(37.4419, -122.1419), 13);

map.setCenter的秒参数是缩放系数 - 在本例中为13

您还可以为地图设置新的缩放级别,如下所示:

map.setZoom(5);

阅读more here...