如何在服务器端Blazor中使用Bing Javascript映射?

如何在服务器端Blazor中使用Bing Javascript映射?,javascript,bing-maps,blazor,blazor-server-side,Javascript,Bing Maps,Blazor,Blazor Server Side,我正在尝试在新的(3.0.0-preview6.19307.2)中使用。我已经在Blazor的早期版本和客户端应用程序中使用过这种方法 不建议需要任何新步骤,但当我在\u Hosts.cshtml的主体中添加以下部分并调用createMap函数时,我会得到一个错误,即 Microsoft.AspNetCore.Components.Browser.Rendering.RemoteRenderer: 警告:未处理的异常呈现组件:“Microsoft”不可用 明确的 ReferenceError:W

我正在尝试在新的(3.0.0-preview6.19307.2)中使用。我已经在Blazor的早期版本和客户端应用程序中使用过这种方法

不建议需要任何新步骤,但当我在\u Hosts.cshtml的主体中添加以下部分并调用createMap函数时,我会得到一个错误,即

Microsoft.AspNetCore.Components.Browser.Rendering.RemoteRenderer:

警告:未处理的异常呈现组件:“Microsoft”不可用 明确的

ReferenceError:Windows.createMap()中未定义“Microsoft”


var-map=null;
window.createMap=(数据)=>{
if(map!=null)
返回;
map=new Microsoft.Maps.map(“#myMap”,
{
凭据:“…我的凭据…”,
缩放:1
}
);
Microsoft.Maps.loadModule('Microsoft.Maps.HeatMap');
返回;
};

如果将此代码放在客户机大小相同的Blazor项目的index.html中,那么它确实可以正常工作,因此我猜需要执行一些额外的步骤才能将地图导出到Microsoft名称空间。有人能告诉我我遗漏了什么吗?

在Magoo先生的帮助下回答我自己的问题


在这种特殊情况下,答案似乎是Blazore服务器端模型需要HTTPS(不是HTTP)连接到bing maps控件。

您可以尝试将引用库的脚本标记放在文档的头部-我在这里猜测,因为您尚未指定它当前所在的位置。谢谢-它当前在正文中,但我也在头部尝试过,并得到了相同的错误。因此,当页面加载后,能否检查浏览器控制台是否存在错误?如果您开始键入“window.Mic”,请在浏览器控制台中检查Microsoft是否出现在自动完成中?实际上-考虑到错误-您正在代码中的某个位置调用“createMap”-在哪里?实际上检查浏览器控制台是一个很好的建议,并显示了此警告。。。“SEC7111:[混合内容]源“”已在安全上下文中加载,但尝试在“.”处加载不安全的脚本资源。“将bing.com的脚本源从http更改为httpS解决了此问题,现在映射已正确呈现!
   <script type="text/javascript" src="http://www.bing.com/api/maps/mapcontrol"></script>

   <script>

    var map = null;
    window.createMap = (data) => {
        if (map != null)
            return;
        map = new Microsoft.Maps.Map('#myMap',
            {
                credentials: '... my credentials ...',
                zoom: 1
            }
        );
        Microsoft.Maps.loadModule('Microsoft.Maps.HeatMap');
        return ;
    };
    </script>