Это проблема Angular Speci c / Google Maps. Я использую библиотеку Google Maps Angular. Я изо всех сил пытаюсь сослаться на объект Маркер Google, потому что они генерируются в файле HTML.
HTML
<map-marker
#markerElem
*ngFor="let marker of markers"
[position]="marker.position"
[title]="marker.title"
[options]="marker.options"
(mapClick)="openInfo(markerElem, marker.info)"
>
</map-marker>
Мне нужно очистить эти маркеры, сгенерированные в этом HTML файл. Похоже, что карты Google не имеют функции clearMap (), и большинство форумов соглашаются, что лучше всего отслеживать маркеры, имея их список в коде.
Переменная «маркеры», видимая в HTML - это просто пользовательский объект, который я сделал для заполнения полей фактического объекта Google Marker.
Есть два решения, о которых я могу подумать, но я не знаю, как go сделать это.
1.) Сгенерировать объекты Marker в моем файле TS. (Примечание: я хотел бы сохранить как можно больше структуры HTML. Одна вещь, которую я действительно беспокоился, это то, что тег автоматически создаст маркер карты и, таким образом, мой список объектов Marker на самом деле не будет карта). 2.) как-то ссылаться на (я думаю, что эти теги на самом деле генерируют маркеры в фоновом режиме) как список маркеров.
Если у кого-нибудь есть примеры удаления маркеров с карты в Angular, пожалуйста, поделитесь. Любая помощь / предложения приветствуются.