Я использую библиотеку Angular Maps (X-Map) с Bing Maps для создания карты с помеченными на ней многоугольниками. В другом месте моего приложения у меня есть элементы, по которым можно щелкнуть, чтобы перемещаться в определенные места на карте. Проблема в том, что когда это происходит, надписи на многоугольниках не перемещаются вместе со всем остальным, но если вы затем используете мышь для ручного панорамирования карты, они внезапно возвращаются на свои места.
Вот простой пример, который демонстрирует проблему ( Stackblitz здесь *):
* Примечание: если во время тестирования вы получаете «Аргумент 1 Node.appendChild не реализует интерфейсный узел», ручное обновление предварительного просмотра заставляет его работать снова. Не уверен, связано это или нет, но в моем реальном коде это не происходит.
HTML
<x-map style="width: 100%; height: 500px;" [Zoom]="8" [Latitude]="lat" [Longitude]="0">
<x-map-polygon [Paths]="paths" [ShowTooltip]="false" [ShowLabel]="true" [Title]="title"></x-map-polygon>
</x-map>
<button (click)="clicked()">Click Me!</button>
Компонент
export class AppComponent {
paths = [{latitude: 0.1, longitude: 0.1}, {latitude: -0.1, longitude: 0.1}, {latitude: -0.1, longitude: -0.1}, {latitude: 0.1, longitude: -0.1}]
title = "test"
lat = 0
clicked () {
this.lat += 0.1
}
}
Когда вы нажимаете кнопку, она перемещает все на карте вниз, кроме метки «test»:
![An animation demonstrating the label not moving properly](https://i.stack.imgur.com/GGzY6.gif)
Копаясь в исходном коде библиотеки, в конечном итоге он вызывает setView
из Bing API , и я не могу найти никаких вариантов, чтобы принудительно обновить ярлыки или переместить их вручную , Что я могу сделать здесь?