지도에 여러 마커를 그려 넣은 Google지도 JS가 있습니다. 그러나 마커를로드 할 때 이미지가 시간 내에로드되지 않아 마커가 배치되지 않은 것으로 나타났습니다.JavaScript img onLoad 및 Closure -이 코드가 무한 루프를 트리거하는 이유는 무엇입니까?
function newGoogleMapPin(type){
var imgpath = "img/gmapicons/"+type+".png";
var img = new Image();
img.src = imgpath;
var imgloaded = false;
while(imgloaded == false) {
img.onload = function() {
imgloaded = true;
}
}
return new google.maps.MarkerImage(imgpath, new google.maps.Size(img.width, img.height));
}
문제의 존재가 imgloaded
이 나는 클로저를 오해하고 있는가, true
로 설정되지 않습니다되어 이 해결하기 위해 나는 다음과 같이지도 아이콘을 돌려 내 함수를 수정? (그렇게 생각합니다!)
되지 않은 변수'imloaded'가있어, 실수? –
옙, imgloaded 했어야합니다 :) – Sergio