Javascript bing map TestDataGenerator未定义
我尝试了在dynamic 365 CRM中将bing地图作为web资源的最简单示例Javascript bing map TestDataGenerator未定义,javascript,bing-maps,Javascript,Bing Maps,我尝试了在dynamic 365 CRM中将bing地图作为web资源的最简单示例 <body> <div class="container"> <div class="map" id='mapId'></div> <div id='printoutPanel'></div> </div> <script type='text/javascr
<body>
<div class="container">
<div class="map" id='mapId'></div>
<div id='printoutPanel'></div>
</div>
<script type='text/javascript'>
document.onreadystatechange = function () {
if (document.readyState == "complete") {
loadMapScenario();
}
}
function loadMapScenario() {
var map = new window.parent.Microsoft.Maps.Map(document.getElementById('mapId'), {
credentials: 'Your Bing Maps Key'
});
map.entities.push(window.parent.Microsoft.Maps.TestDataGenerator.getPushpins(3, map.getBounds()));
}
</script>
</body>
document.onreadystatechange=函数(){
如果(document.readyState==“完成”){
loadMapScenario();
}
}
函数loadMapScenario(){
var map=new window.parent.Microsoft.Maps.map(document.getElementById('mapId'){
凭据:“您的Bing地图密钥”
});
map.entities.push(window.parent.Microsoft.Maps.TestDataGenerator.getPushpins(3,map.getBounds());
}
我目前没有BingMapKey
地图显示在屏幕上,但没有图钉,因为TestDataGenerator未定义。
我哪里错了?我很惊讶地图竟然上膛了。您需要将Bing Maps V8 map脚本加载到与地图相同的帧中,而不是加载到父窗口中。否则映射控件将无法访问它所需的所有资源。以下是您的代码的一个修改版本,应该可以使用:
<body>
<div class="container">
<div class="map" id='mapId'></div>
<div id='printoutPanel'></div>
</div>
<script type='text/javascript'>
function loadMapScenario() {
var map = new Microsoft.Maps.Map(document.getElementById('mapId'), {
credentials: 'Your Bing Maps Key'
});
map.entities.push(Microsoft.Maps.TestDataGenerator.getPushpins(3, map.getBounds()));
}
</script>
<script type='text/javascript' src='https://www.bing.com/api/maps/mapcontrol?callback=loadMapScenario' async defer></script>
</body>
函数loadMapScenario(){
var map=new Microsoft.Maps.map(document.getElementById('mapId'){
凭据:“您的Bing地图密钥”
});
map.entities.push(Microsoft.Maps.TestDataGenerator.getPushpins(3,map.getBounds());
}
谢谢,它很有效。这是令人困惑的部分,我的地图是如何在没有脚本的情况下加载的。因为map已经加载,所以我认为CRM中包含了map脚本,所以我不需要调用它。现在很明显,情况并非如此。