Angular [谷歌地图API]:有没有办法从typescript代码内部更改属性?

Angular [谷歌地图API]:有没有办法从typescript代码内部更改属性?,angular,typescript,google-maps-markers,Angular,Typescript,Google Maps Markers,我正在从数据库中读取一些标记,并使用标签将它们呈现在谷歌地图上 这是代码的一部分,我在其中读取标记并将它们推入标记数组componentName.component.ts: 以及呈现标记的Html: <agm-map [latitude]="latitude" [longitude]="longitude" [zoom]="zoom" [disableDefaultUI]="false" [streetViewControl]="false"

我正在从数据库中读取一些标记,并使用标签将它们呈现在谷歌地图上

这是代码的一部分,我在其中读取标记并将它们推入标记数组componentName.component.ts:

以及呈现标记的Html:

    <agm-map
    [latitude]="latitude"
    [longitude]="longitude"
    [zoom]="zoom"
    [disableDefaultUI]="false"
    [streetViewControl]="false"
    [zoomControl]="false"
    [mapTypeControl]="false"
    [mapTypeId]="'terrain'"
    > 

    <agm-marker id="display-markers"
     *ngFor="let m of markers; let i = index"
      (markerClick)="openModal('marker-content' + i)"
      [latitude]="m.lat"
      [longitude]="m.lng"
      [markerDraggable]="m.draggable"
      [iconUrl]="m.icon" 
      [visible]="true"
      [id]="i"
    </agm-marker>

   </agm-map>  
我需要使用户能够通过按下按钮清除所有标记,这意味着的[visible]属性应该为每个标记设置为False。如何从component.ts文件中访问标记并对其进行更改

有没有其他方法可以清除地图上的所有标记

我在网上找不到任何东西:


谢谢

我没有完全理解这个问题,但我认为你需要:

Html模板
希望能有所帮助。

谢谢。看来你真的有问题了!但是,有没有一种方法可以真正删除标记,而不仅仅是更改其可见性?是的,仅在toggleMarkers方法中,您需要清除这样的标记数组。markers=[]。但是如果你不从服务器上再次下载它们,就不可能将它们返回。谢谢。成功了。我不敢相信我花了一整天的时间来尝试许多复杂的解决方案,而答案却如此简单明了。再次谢谢你,没问题,我很高兴它帮了我的忙。
    <agm-map
    [latitude]="latitude"
    [longitude]="longitude"
    [zoom]="zoom"
    [disableDefaultUI]="false"
    [streetViewControl]="false"
    [zoomControl]="false"
    [mapTypeControl]="false"
    [mapTypeId]="'terrain'"
    > 

    <agm-marker id="display-markers"
     *ngFor="let m of markers; let i = index"
      (markerClick)="openModal('marker-content' + i)"
      [latitude]="m.lat"
      [longitude]="m.lng"
      [markerDraggable]="m.draggable"
      [iconUrl]="m.icon" 
      [visible]="true"
      [id]="i"
    </agm-marker>

   </agm-map>  
...
<agm-marker id="display-markers"
  ...
  [visible]="isMarkersVisible"
  ...
</agm-marker>
...
<button (click)="toggleMarkers()">{{isMarkersVisible ? "Hide" : "Show"}}</button>
...
...
isMarkersVisible = true;
...
ngOnInit(): void { ... }
...
toggleMarkers(): void {
  this.isMarkersVisible = !this.isMarkersVisible;
}
...