Bing 语音和 Bing 地图在 Windows 8 Store 应用中发生冲突

Bing Speech and Bing Maps conflicting in Windows 8 Store app

Bing maps dosent work when bing speech is also referenced in a win8 system(works for win8.1 system).在 veapicore.js 和 veapiModules.js 中有 window[$MapsNamespace]。当 spech 和 maps 都被引用时,maps 永远不会在命名空间中初始化。仅存在语音 which.The 地图命名空间只有 2 个 dll 文件,由 bing 语音引用。这仅发生在 Windows 8 系统中。在 8.1 中,我们在地图命名空间中同时获得语音和地图。请问有解决办法吗

我以前遇到过这个。语音 API 很可能覆盖了 Microsoft 命名空间。有两种选择。首先是在 Speech 引用之后添加 Bing Maps 脚本引用。 Bing Maps SDK 扩展了 Microsoft 名称空间并且没有覆盖它。第二个选项是更改 Bing 地图控件的命名空间:

  • 在 html 文件中引用 sdk js 文件之前添加代码段,如下所示:

    window.$MapsNamespace = 'MicrosoftJS';

  • 然后将新创建的自定义命名空间替换为“Microsoft”,如下所示:

    MicrosoftJS.Maps.loadModule('Microsoft.Maps.Map', { callback: createMap, culture: 'us', homeRegion: 'en-us' } );