bing map TestDataGenerator未定义
问题描述:
我尝试了将动态365 CRM中的地图作为web资源的最简单示例。bing map TestDataGenerator未定义
<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>
我目前没有BingMapKey。
由于TestDataGenerator未定义,地图出现在屏幕上,但没有图钉。 我哪里错了?
答
我很惊讶地图甚至加载。您需要将Bing地图V8地图脚本加载到与地图相同的框架中,而不是在父窗口中。否则地图控件将无法访问它所需的所有资源。这里是你的代码应该工作的修改版本:
<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>
谢谢,它的工作原理。 这是令人困惑的部分,我的地图如何加载没有脚本。由于地图被加载,我认为CRM包含地图脚本,我不需要调用它。 现在很明显,情况并非如此。 – Milos