2013-09-01 2 views
0

여기 Google지도, Google 장소, 경로 상자 라이브러리를 사용하여 두 위치를 표시하고 Google 장소가있는 방향 (10,20,30 마일) 근처에있는 객체를 표시하는 코드를 만듭니다. 여기 검색어 한도 초과 및 최대 호출 스택 크기

데모 및 코드 : http://jsbin.com/EVEWOta/55하지만 모스크바에 마드리드에서 "10mi"거리를 시도한 후 나는이 오류를 얻을 :

... 
    ... 
    ... 


    OVER_QUERY_LIMIT 55:121 
    199 
    OVER_QUERY_LIMIT 55:121 
    OK 55:121 
    1268 
    OVER_QUERY_LIMIT 55:121 
    3 
    OVER_QUERY_LIMIT 
    Uncaught RangeError: Maximum call stack size exceeded 

이 코드 :

service.nearbySearch(request, function (results, status) { 
    console.log(status); 
    if (status == 'OVER_QUERY_LIMIT') { 
     setTimeout(findPlaces(boxes,searchIndex),10000); 
    }else{ 
     document.getElementById('side_bar').innerHTML += "bounds["+searchIndex+"] returns "+results.length+" results<br>"; 

     for (var i = 0, result; result = results[i]; i++) { 
      var marker = createMarker(result); 
     } 
     if (++searchIndex < boxes.length) 
      setTimeout(findPlaces(boxes,searchIndex),10000); 
    } 
    }); 

이 코드 정지 검색을 박스 [14]. 왜?

setTimeot 코드 1032로 전화를 걸기 전에 다음 상자를 호출 하시겠습니까?

여기서 실제로 어떤 문제가 있습니까?

당신은 그렇지 않으면 함수가 원하는 지연 즉시하지 호출되는 함수에 findPlaces의 호출을 래핑합니다
+0

무엇입니까 : catch되지 않은 오류 RangeError : 최대 호출 스택의 크기는 을 초과, 왜 나는 10 초 동안 setTimeot을 pt 할 때 쿼리 제한을 초과합니다 ... 나는 스크립트가 더 빨리 작동한다고 생각합니다 ... – roaddev

답변

0

:

setTimeout(function(){findPlaces(boxes,searchIndex);},10000); 
+0

Dr.Molle 정말 고마워요 !!! – roaddev

관련 문제