2010-05-15 6 views
1

LabeledMarker으로 Google지도를 표시하는 웹 사이트 페이지를 확장하려고합니다. Google지도 API는 LabeledMarker에 의해 확장 된 GMarker라는 클래스를 정의합니다.종속 JavaScript 파일을 올바르게로드하는 방법

문제는 Google API가로드되고 'GMarker not defined'오류가 발생하여 LabeledMarker 스크립트를 제대로로드하지 않는 것입니다.

그런 경우에 스크립트를 지정하는 올바른 방법은 무엇입니까?

먼저 Google의 URL에 대해 ASP.NET의 ClientScript.RegisterClientScriptInclude()를 사용하고 나서 LabeledMarker 스크립트 파일을 사용하고 있습니다.

초기 Google API 로더는 실제 GMarker 클래스를로드하는 추가 스크립트 링크를 작성합니다. 다음 스크립트 블록 (LabeledMarker 스크립트)이 처리되기 전에 모든 스크립트가 실행되지 않아야합니다.

생성 된 HTML을 검사하고 스크립트 블록이 올바른 순서로 생성되었습니다.

<script src="google api url" type="text/javascript"></script> 
... 
(the above scripts uses document.write() etc to append further script blocks/sources) 
... 
<script src="Scripts/LabeledMarker.js" type="text/javascript"></script> 

다시 한번, LabeledMarker.js은 구글 API로드가 완료되기 전에 실행 얻을 것으로 보인다.

+1

나는 똑같은 일을했지만 결코이 문제가 없었습니다. 현재 Google jsapi 스크립트 (www.google.com/jsapi?key = ...)가 포함 된 다음 바로 그 다음에지도 API 'google.load ("maps",'2.132 ')를로드하는 데 사용합니다. 내 사용자 정의 스크립트를로드하십시오. –

답변

0

나는 그것이 문제라고 생각한다. 스크립트를로드 한 후 body.onload에서 google.load()를 호출했습니다. onload 처리기 내에서 LabeledMarker 용 스크립트 태그를 방출하여 해결되었습니다.

관련 문제