2013-02-26 2 views
0

: 나는 이미 callback에 응답 status를 사용하여 대체가Google지도 API 대체 나는 현재 Google지도 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); 
} 

을하지만, 어떻게 API에 접근 할 수없는 말을하는 경우에 대체를 만들 어떤 이유로 든 위의 스크립트가로드되지 않는 경우?

또는이 과잉 공격인가요? API가 항상 존재한다고 가정해야합니까?

답변

0

스크립트가로드되었는지 또는로드되지 않았는지 결정하려면 시간 종료를 정의해야합니다. 예를 들어 스크립트를로드하는 데 10 초가 걸리면 수용 할 수 있지만 10을 넘는 경우 "로드되지 않은"것으로 간주 할 수 있습니다.

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

감사합니다. 이것은 내가 여기에서 찾은 정답을 향해 나를 잡았습니다. http://stackoverflow.com/questions/9014473/how-can-i-timeout-a-google-maps-geocoder-via-javascript – greener