Google Maps API后备广告

时间:2013-02-26 21:34:02

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

我目前正在使用Google Maps API脚本:

function loadScript() {
    var script = document.createElement("script");
    script.type = "text/javascript";
    script.src = "https://maps.googleapis.com/maps/api/js?v=3.exp&key=KEY&sensor=false&callback=callback";
    document.body.appendChild(script);
}

我已经使用status中的响应callback进行了回退,但是如果因为任何原因无法访问API,例如上面的脚本未加载时,如何创建回退?

或者,这是否过分,应该假设API将始终为您服务?

1 个答案:

答案 0 :(得分:0)

您需要定义超时以确定脚本是否已加载。例如,如果脚本需要10秒钟才能加载,那么这可能是可以接受的,但是如果它超过10,你可以认为它“未加载”。

var apiLoaded = false;
function loadScript() { }
function callback() { 
    apiLoaded = true;
}
setTimeout(function() {
    if (apiLoaded === false) {
        // your backup logic here
    }
, 10000);