사용자가 특정 HTML 요소를 클릭 할 때마다 Bing Map을 표시하려고했지만, timeInterval을 설정 한 후에도 Microsoft.Maps.Map은 항상 undefined를 반환하고, 다음과 함께 새 스크립트를 삽입하려고 시도했습니다. onscriptload onclick 이벤트. 다음은 샘플 코드입니다.Map은 항상 정의되지 않음을 반환합니다.
$(document).ready(function(){
var script = document.createElement("script");
script.type = 'text/javascript';
script.src = 'https://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0&onscriptload=getMap';
document.head.appendChild(script);
})
$("#showMap").click(function(){
getMap();
})
function getMap(){
console.info(Microsoft.Maps.Map);
var time = "";
var map
var mapControl = Microsoft.Maps.Map;
if(mapControl == undefined){
time = setInterval(function(){ getMap() }, 8000);
}
else{
map = new Microsoft.Maps.Map(document.getElementById('address1_composite'), {credentials: 'Cred'});
clearInterval(time);
}
}
죄송합니다 나는이 질문에 이미이 링크를 여기에 요청 알고
Bing map is undefined after loading Javascript file 우리는 같은 시나리오를 가지고 있지만 내 내가 제안 된 대답을 시도하지만 예상대로 작동하지 않습니다.
어디 당신이 당신의 코드를 테스트 했습니까? 하나는 jsfiddle 같은 사이트, localhost는 ...? 콘솔에 표시되는 오류 메시지는 무엇입니까? –
crm에 연결되어 있기 때문에 콘솔을 통해서만 테스트하고 있습니다. Microsoft.Maps.Map은 정의되지 않았습니다. – user3197077
그러면 브라우저의 네트워크 탭을 확인해야합니다. 나는 스크립트의 로딩이 어떤 이유로 블럭이라고 확신한다. –