2013-06-27 4 views
2

웹 사이트의 경우 Google에서 모든 스크립트를로드하기 전에 일부 브라우저 (Firefox)에서 스크롤을 무시하므로 비동기 Google Maps 스크립트를로드하려고합니다.Google지도 V3 async에서 오류가 발생했습니다

Google 개발자 문서를보고 스크립트를 사용했습니다. https://developers.google.com/maps/documentation/javascript/examples/map-simple-async 은 index.html의 <script> 태그 안에 넣으면 완벽하게 작동합니다.

하지만이 코드를 예를 들어 main.js 파일에 넣으면 더 이상 작동하지 않습니다. 예 : http://jsfiddle.net/doktormolle/7cu2F/ 그러나 이상 여기에 같은 문제 :

http://jsfiddle.net/693xK/은 그 때 나는 작동하는 것 같다 jsfiddle에이 예제를 발견했다. 내 main.js 파일 안에 배치하면 Google지도가 표시되지 않습니다. 모든 것이 글로벌입니다. 나는 다음과 같은 오류가 발생하지만 그것에 대해 무엇을해야하는지 이해하지 못합니다. 나는 오류 메시지를 봤지만 아무런 운이 없었어요.

TypeError: window.initialize is not a function 
+0

main.js 전에 google maps 스크립트를 사용하고 계십니까? – Praveen

+0

@ paul-ngc 알았어, 내 대답에 바이올린을 확인하십시오. – Praveen

답변

1

당신은 당신의 #map-canvas폭과 높이를 추가 할 수없는 것입니다. 당신이 (프레임 워크에서, 왼쪽 모서리 & 확장) 그래서 머리를 감싸

#map-canvas{ 
    width:500px; 
    height:500px; 
} 

확인이 updated JSFiddlewindow.onload = loadScript;을 사용하고 있기 때문에 또한 나는 당신의 바이올린을 확인.

+0

안녕하세요 사용자 1671639, 답변 해 주셔서 감사합니다. onload를 사용할 때 스크립트를 머리에 포함해야합니까? 나는 그렇게하지 않는 것을 선호한다. 여기 웹 사이트 구성 방법에 대한 실제 예가있는 링크가 있습니다. 오류와 함께 포함됩니다. [테스트 링크] (http://tup.li/test/index.html) –

+0

@paul_ngc main.js에서'$ (function() {'jquery enclosure)를 제거하면 작동합니다 – Praveen

+0

예 제거하겠습니다. 그것은 작동합니다 :)하지만 어떻게 작동하지 않습니다 '$ (function() {?이 함수를 내부에서 실행하고 원하는 언제든지 호출하려면 원하는 때문에 이것을 배우려고. 나는 다음을 수행하십시오 'VAR OBJ = { \t gMaps을 : 함수() { \t \t 기능 초기화() { \t \t ....... \t \t} \t \t window.onload = loadScript; \t \t} } obj.gMaps(); 그것은 다시 나에게 같은 경고를주는' . –