Карта google создает скрытый div и span внутри со значением besbswy и снижает угловую производительность

Я использую API карты Google v3 в своем проекте angular, однако, когда я добавляю карту в свой проект, карта Google создает скрытый
<div style="position: absolute; left: 0px; top: -2px; height: 1px; overflow: hidden; visibility: hidden; width: 1px;"><span style="position: absolute; font-size: 300px; width: auto; height: auto; margin: 0px; padding: 0px; font-family: Roboto, Arial, sans-serif;">BESbswy</span></div>
элемент внизу корпуса.
Я не осознавал этого, пока не почувствовал, что мой fps уменьшился, когда я работал с картой, например, создавая многоугольник с помощью диспетчера рисования и т. д. Итак, после нескольких часов отладки я понял, что из-за этого бесполезного скрытого обнаружения угловых изменений div срабатывает каждую секунду и вызывает проблемы с производительностью, я проверил ngAfterViewChecked и понял, что даже после того, как мой компонент полностью загрузился, эта функция вызывается постоянно, и когда я удаляю этот элемент из dom все в норме. Я погуглил эту проблему, и я также нашел несколько вопросов, связанных с этой проблемой, но я не смог найти приемлемого решения Неизвестный «BESbswy»

enter image description here

5
0
754
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Такая же проблема с API Google Адресов. Всякий раз, когда я обращаюсь к результатам запроса их сервисов, я тоже вижу тупой div "BESbswy". Мои поиски показали, что это связано с typekit, но я не использую @ font-face или шрифты Google на своей странице. Я предполагаю, что Google добавляет его, чтобы убедиться, что их карты отображаются правильно? Но он остается там - супер раздражает. Единственное исправление, которое я видел, - это создать таймер и удалить div через несколько наносекунд. Но это больше похоже на то, чтобы наложить повязку на проблему, а не исправить ее.

ИЗМЕНИТЬ МИНУТЫ СПУСТЯ!

Итак, я только что обнаружил, что это происходит у меня, когда карта Google добавляется на экран. Контейнер для карты не имеет определенной ширины или высоты, поэтому карта входит без ширины, поэтому, когда typekit пытается увидеть, загружены ли шрифты, сравнивая строки "BESbswy" и не работает, потому что нет ширины на сравниваемой строке с карты. Это приводит к тому, что во время выполнения теста на загрузку шрифта возникает ошибка или нет.

Кажется, Google не написал логику для удаления div при ошибке / сбое. Но, может быть, это значит, что мы знаем, что что-то не так? Лично я бы предпочел лог консоли…

Другие вопросы по теме