Я пытаюсь отображать Bing Map всякий раз, когда пользователь нажимает на определенный элемент HTML, но Microsoft.Maps.Map всегда возвращает undefined даже после установки timeInterval, я также попытался вставить новые скрипты с onscriptload onclick event. Ниже приведен мой пример кода.Карта всегда возвращает undefined
$(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
Затем вам нужно проверить вкладку сети вашего браузера. Я почти уверен, что загрузка скрипта по какой-то причине является блоком. –