2

我正在尝试在新的 (3.0.0-preview6.19307.2) Blazor server-side application中使用Bing JavaScript Map 控件。我已经在 Blazor 的早期版本和客户端应用程序中进行了这项工作。

当前的Blazor JavaScript 互操作指南不建议需要任何新步骤,但是当我在 _Hosts.cshtml的正文中添加以下部分并调用createMap函数时,我收到一条错误消息

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

警告:未处理的异常呈现组件:未定义“Microsoft”

ReferenceError: 'Microsoft' 未在 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 命名空间。谁能建议我缺少什么?

4

1 回答 1

1

在Magoo 先生的帮助下回答我自己的问题……</p>

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

于 2019-06-21T08:29:25.120 回答