.net core 将Bing地图添加到Blazor应用程序中

.net core 将Bing地图添加到Blazor应用程序中,.net-core,bing-maps,blazor,.net Core,Bing Maps,Blazor,我正在从事一个.Net核心Blazor项目,我需要将Bing地图添加到我的应用程序中。我添加了地图,一切似乎都很好: _主持人: 在我的联系方式页面中,我添加了div: <div id="myMap" style='position:relative;width:100%;height:400px;'></div> 但我收到了这个失败: 错误:Microsoft.JSInterop.JSException:无法读取属性 null TypeError的“prototype

我正在从事一个.Net核心Blazor项目,我需要将Bing地图添加到我的应用程序中。我添加了地图,一切似乎都很好: _主持人:

在我的联系方式页面中,我添加了div:

<div id="myMap" style='position:relative;width:100%;height:400px;'></div>
但我收到了这个失败:

错误:Microsoft.JSInterop.JSException:无法读取属性 null TypeError的“prototype”:无法读取的属性“prototype” 空的

有人知道原因和如何解决吗

================

编辑 我还尝试从javascript调用中删除回调函数,但失败了:

Microsoft.JSInterop.JSException:未定义Microsoft 引用错误:未定义Microsoft


我通过添加1秒延迟解决了这个问题:wait Task.delay(TimeSpan.FromSeconds(1));//我仍然不认为这是最好的解决方案,但它至少解决了问题problem@HenkHolterman我已将文件加载到要显示地图的联系人页面上。延迟只是为了保证javascript文件已经加载。当我在没有延迟的情况下尝试时,我在开发工具中遇到了异常。在Renderi通过添加1秒延迟来解决问题后,GetMap会加载到调用中的JS Url中的主机文件中,或者加载到联系我们页面中:wait Task.delay(TimeSpan.FromSeconds(1));//我仍然不认为这是最好的解决方案,但它至少解决了问题problem@HenkHolterman我已将文件加载到要显示地图的联系人页面上。延迟只是为了保证javascript文件已经加载。当我在没有延迟的情况下尝试时,我在开发工具中遇到了异常。GetMap在调用中加载到_主机文件中的JS Url中,或者在“联系我们”页面AfterRender中
function GetMap() {
    var map = new Microsoft.Maps.Map('#myMap', {
        credentials: "[key]"
    });

    var loc = new Microsoft.Maps.Location(lan, lat);
    map.setView({ center: loc, zoom: 15 });
}
<div id="myMap" style='position:relative;width:100%;height:400px;'></div>
protected override async Task OnAfterRenderAsync(bool firstRender)
{
    if (firstRender)
    {
        await JSRuntime.InvokeVoidAsync("GetMap");
    }
}