如何在服务器端 Blazor 中使用 Bing Javascript 地图?

How can I use a Bing Javascript Map in server-side Blazor?

我正在尝试使用 Bing JavaScript Map control in a new (3.0.0-preview6.19307.2) Blazor server-side application。我已经在早期版本的 Blazor 和客户端应用程序中使用过它。

current Blazor JavaScript interop guide 并不建议需要任何新步骤,但是当我在 _Hosts.cshtml 的正文中添加以下部分并调用 createMap 函数我得到一个错误说

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

Warning: Unhandled exception rendering component: 'Microsoft' is not defined

ReferenceError: 'Microsoft' is not defined at window.createMap (https://localhost:44372/:79:9)

   <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>

将此代码 放置在等效客户端大小的 Blazor 项目的 index.html 中时,它可以正常工作,所以我猜需要一些额外的步骤来导出映射到 Microsoft 名称-space。谁能建议我缺少什么?

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

在这种特殊情况下的答案似乎是 Blazore server-side 模型需要与 bing 地图的 HTTPS(不是 HTTP)连接控制。