设置Google地图的超时限制,以及如何测试?

时间:2011-07-20 20:59:53

标签: javascript jquery google-maps

是否有人使用google maps API使用超时?我有一个谷歌地图从融合表加载。如果地图在x秒内没有加载,我的客户希望我采用不同的解决方案。

我尝试使用javascript超时函数和$(document).ready,但发现jquery ready在地图甚至渲染到屏幕之前就已经开始了。

尽管如此......有没有人知道一种方法来强制超时来测试一些可用的解决方案。

谢谢, 安迪

1 个答案:

答案 0 :(得分:2)

您可以使用tilesloaded活动吗?代码看起来像这样:

// set up the map and timeout
var map = new google.maps.Map(document.getElementById("map"), someOptions),
    timeoutSeconds = 4,
    usingMap = false;

function doAlternateStuff() {
    // do whatever the fallback requires
}

// set a timeout and store the reference
var timer = window.setTimeout(doAlternateStuff, timeoutSeconds * 1000);

// now listen for the tilesloaded event
google.maps.event.addListener(map, 'tilesloaded', function() {
    // cancel the timeout
    window.clearTimeout(timer);
    usingMap = true;
    // etc
});