Azure Maps Basic JS инициализирует ошибку при JQuery - PullRequest
0 голосов
/ 05 июля 2019

Я пытаюсь использовать Azure Maps с их JS Web SDK.Я следую инструкциям на https://docs.microsoft.com/en-us/azure/azure-maps/how-to-use-map-control вплоть до простого добавления ключа подписки, и он выдает ошибку.

Я попытался удалить все параметры, и он запросил учетные данныеЯ знаю, что я заверен.Когда вводится идентификатор, которого нет в DOM, я получаю сообщение об ошибке, в котором говорится, что он не может найти идентификатор.Когда я введу правильный идентификатор, я получу белый перетаскиваемый фон с логотипом Microsoft внизу.Поскольку из отладчика кажется, что звонок поступил с this.map.setStyle(this.styleBuilder.build()),, я попытался дать дополнительные параметры стиля и попытался удалить центр, масштабирование и язык.Я также пытался использовать window.onload.В общем, проблема остается.

Все, что требуется, это загрузить сценарии и вставить этот фрагмент:

var map = new atlas.Map(<div id>, {
    center: [-122.33, 47.6],
    zoom: 12,
    language: 'en-US',
    authOptions: {
        authType: 'subscriptionKey',
        subscriptionKey: '<Your Azure Maps Key>'
    }
});

, что я и сделал.

Только этот фрагмент сгенерировал эту ошибку:

    Uncaught (in promise) TypeError: Cannot read property 'origin' of 
    undefined
    at Object.at [as getReferrer] (atlas.min.js:3066)
    at new r (atlas.min.js:3066)
    at n._updateStyle (atlas.min.js:3066)
    at n.setStyle (atlas.min.js:3066)
    at e._rebuildStyle (atlas.min.js:3391)
    at atlas.min.js:3391
at  @   atlas.min.js:3066
r   @   atlas.min.js:3066
n._updateStyle  @   atlas.min.js:3066
n.setStyle  @   atlas.min.js:3066
e._rebuildStyle @   atlas.min.js:3391
(anonymous) @   atlas.min.js:3391
Promise.then (async)        
e._setStyleComponents   @   atlas.min.js:3391
(anonymous) @   atlas.min.js:3391
Promise.then (async)        
e   @   atlas.min.js:3391
(anonymous) @   myScript.js:787

И это сообщение об ошибке с красивой печатью:

Uncaught (in promise) TypeError: Cannot read property 'origin' of undefined
    at Object.at [as getReferrer] (atlas.min.js:formatted:25499)
    at new r (atlas.min.js:formatted:47165)
    at n._updateStyle (atlas.min.js:formatted:52481)
    at n.setStyle (atlas.min.js:formatted:52475)
    at e._rebuildStyle (atlas.min.js:formatted:60131)
    at atlas.min.js:formatted:60219
at  @   atlas.min.js:formatted:25499
r   @   atlas.min.js:formatted:47165
n._updateStyle  @   atlas.min.js:formatted:52481
n.setStyle  @   atlas.min.js:formatted:52475
e._rebuildStyle @   atlas.min.js:formatted:60131
(anonymous) @   atlas.min.js:formatted:60219
Promise.then (async)        
e._setStyleComponents   @   atlas.min.js:formatted:60172
(anonymous) @   atlas.min.js:formatted:59678
Promise.then (async)        
e   @   atlas.min.js:formatted:59673
(anonymous) @   myScript.js:formatted:787

РЕДАКТИРОВАТЬ: я начал идти и комментироватьмои скрипты в шапке.Когда я удалил все теги скрипта JQuery, карта работала.(Затем я убедился, что работаю над последней версией JQuery).Но сейчас, конечно, моя страница не работает.Кроме того, пока он работал, я проверил, какое свойство origin выдает ошибку.Код был self.location.origin с self, равным window.Так что теперь у меня есть несовместимость.

Если кто-то может оказать некоторую помощь, это было бы очень признательно.

1 Ответ

0 голосов
/ 06 июля 2019

Я не придумал причину, почему это не работает.Но мне удалось заставить мою страницу загружаться правильно.

По сути, поскольку Azure Maps пытался сослаться на self, который должен был указывать на window, но был null, я сделал следующее:объявите self перед инициализацией `map.

var self = this;
var map = new atlas.Map(<div id>, {...

Это хак, это уродливо, но работает.

...