Я работаю над проектом. Net Core Blazor, и мне нужно добавить Bing Map в мое приложение. Я добавил карту, и все, кажется, работает нормально: _Host:
<script async defer src="https://www.bing.com/api/maps/mapcontrol?callback=GetMap&&key=[key]"></script>
Моя javascript функция:
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:
<div id="myMap" style='position:relative;width:100%;height:400px;'></div>
Проблема в том, что карта не будет отображаться при переходе на страницу контакта, она появится только после очистки кэша (Crtl + F5)
Я также пытался вызовите функцию, используя JSRunTime:
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender)
{
await JSRuntime.InvokeVoidAsync("GetMap");
}
}
Но я получил эту ошибку:
Ошибка: Microsoft.JSInterop.JSException: Невозможно прочитать свойство 'prototype' с нулевым TypeError: Не удается прочитать свойство 'prototype' со значением null
Кто-нибудь знает причину и способ ее устранения?
=======================
Редактировать
Я также пытался удалить функцию CallBack из вызова javascript, и я получаю эту ошибку:
Microsoft.JSInterop.JSException: Microsoft Не определено ReferenceError: Microsoft не определена