【发布时间】:2018-02-02 07:29:49
【问题描述】:
我试图在我的 JavaScript 文件运行期间加载 Bing 地图 API。这是我到目前为止所得到的,基于this。
var bingmap_link = 'https://www.bing.com/api/maps/mapcontrol?callback=loadMapScenario';
$.when(
$.getScript(bingmap_link),
$.Deferred(function( deferred ){
$( deferred.resolve );
})
)
.done(function() {
console.log("done");
load_bing_map();
});
但是我会得到以下错误
TypeError:Microsoft.Maps.NetworkCallbacks.f_logCallbackRequest 不是 一个函数
于是我又尝试了一次:
$('head').append('<script type="text/javascript" src="https://www.bing.com/api/maps/mapcontrol?callback=loadMapScenario" async defer></script>');
load_bing_map();
但我又在错误中运行:
jQuery.Deferred 异常:n 为空 k@https://www.bing.com/api/maps/mapcontrol?callback=loadMapScenario:12:7416
在这两种情况下,load_bing_map() 函数如下所示。
function load_bing_map() {
var map = new Microsoft.Maps.Map('#mymap', {
credentials: 'MyKey'
});
}
代码在$().ready 触发后执行。
我错过了什么?
最后我不需要像这样的解决方案
<head>
<script type='text/javascript' src='https://www.bing.com/api/maps/mapcontrol?callback=loadMapScenario' async defer></script>
</heady>
我只能在运行时这样做。
【问题讨论】:
标签: javascript jquery bing-maps