gpt4 book ai didi

google-chrome - Bing Maps v8.0 Microsoft.Maps.Location 不是 chrome 中的构造函数

转载 作者:行者123 更新时间:2023-12-04 19:30:08 24 4
gpt4 key购买 nike

我正在从 6.3 版升级 Bing map 8.0 版。下面是我升级后的代码,它抛出了一个错误:

var Points = [new Microsoft.Maps.Location(0, 0), new Microsoft.Maps.Location(0, 0)]

执行后的上述几行给了我一个错误说

"TypeError: Microsoft.Maps.Location is not a constructor"



上述问题发生在 Google Chrome 浏览器中。但是在 Internet Explorer 中同样可以正常工作。

任何建议都是有帮助的。

提前致谢。

问候,
拉胡尔

最佳答案

问题很可能是您在加载 map 控制脚本之前尝试使用 Microsoft.Maps 命名空间。 V8 map 脚本以异步方式加载以提高性能,但这意味着如果您尝试在脚本标记之后立即访问代码中的命名空间以加载 map 控件,则命名空间将不存在。您需要您的代码等待 map 脚本加载完毕。您可以通过向 map 脚本标记 URL 添加回调函数名称来处理此问题。例如:

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8" />
<script type='text/javascript'>
var map;

function GetMap()
{
map = new Microsoft.Maps.Map('#myMap', {
credentials: 'YourBingMapsKey'
});

//Add your post map load code here.
}
</script>

<script type='text/javascript' src='https://www.bing.com/api/maps/mapcontrol?callback=GetMap' async defer></script>
</head>
<body>
<div id="myMap" style=";width:800px;height:600px;"></div>
</body>
</html>

我们还建议在 map 加载代码之后添加 map 脚本标签。这样做的原因是,如果刷新页面, map 脚本将被缓存并立即调用回调函数,因此回调函数需要已经加载。

关于google-chrome - Bing Maps v8.0 Microsoft.Maps.Location 不是 chrome 中的构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44260168/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com