特定于 angular Google 地图:从地图中清除标记

Specific to angular Google Maps: clearing out markers from map

这是一个 Angular 特定/Google 地图问题。我正在使用 Angular Google 地图库。我很难引用 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 中看到的 "markers" 变量只是我用来填充 actual Google 字段的自定义对象标记对象。

我可以想到两种解决方案,但我不知道该怎么做。

1.) 在我的 TS 文件中生成标记对象。 (注意:我想尽可能多地保留 HTML 的结构。我担心的一件事是标签会自动创建一个地图标记,因此我的标记对象列表实际上不会是地图上的)。 2.) 以某种方式引用(我认为这些标签实际上在后台生成标记)作为标记列表。

如果有人在 Angular 中有清除地图标记的示例,请分享。感谢任何帮助/建议。

当您需要清除标记时,

在你的ts文件中,只需要

markers = [];