2014-09-11 1 views
0
실제로지도를 만드는 창 load 이벤트에 대한 Google지도 API 대기를로드 온라인의 예, 즉 대부분의

:Google지도 v3 API - 언제 시작할 수 있습니까?

<script src="http://maps.googleapis.com/maps/api/js?key=myKeyHere&sensor=false"> 
</script> 

<script> 
function initialize() 
{ 
var mapProp = { 
    center:new google.maps.LatLng(51.508742,-0.120850), 
    zoom:5, 
    mapTypeId:google.maps.MapTypeId.ROADMAP 
    }; 
var map=new google.maps.Map(document.getElementById("googleMap") 
    ,mapProp); 
} 

google.maps.event.addDomListener(window, 'load', initialize); 
</script> 

http://www.w3schools.com/googleapi/google_maps_basic.asp

내 질문에서 촬영은 기다리는 것이 필요하다 창로드 이벤트? 특히, DOMContentReady 처리기로 충분합니까? 내 경험에 따르면 일반적으로 그렇다는 것을 알지만 때로는 내 초기화 기능에서 google.maps.MapTypeId is undefined과 같은 이상한 오류가 발생합니다.

+0

Google은 API 문서에'window.load'를 사용합니다. 나는 그걸 고수 할 것이고, 특히 당신이 다른 것으로 바꿀 때 오류가 발생한다면 더욱 그렇습니다. – Andy

+0

Google지도에 의존하는 다른 스크립트를로드하는 데'script' 태그를 사용할 수 없다는 뜻입니까? – Dan

+1

그 질문에 유용한 정보가 있었을 것입니다. 다른 스크립트는 무엇을합니까? – Andy

답변

0

로드 이벤트를 기다리는 주된 이유는지도 개체를 초기화하기 전에지도가 포함 된 div의 크기가 필요하기 때문입니다.

크기가 포함 된 div가 생성되기 전에 google.maps.Map을 초기화하면 API는 해당 요소에 대해 크기가 0이되고 왼쪽 상단에 가운데가있는지도를로드합니다. 많은 사람들이 그 문제에 직면 해 있습니다.

로드 이벤트가 발생한 후지도 개체에서 google.maps.Map resize 이벤트를 트리거하면이 문제를 해결할 수 있습니다.