我基本上需要在单击按钮时隐藏标记。我正在使用有角度的Google地图,并且想要检索地图上存在的标记的标记对象。我该怎么办。在下面的代码中,我将传递标记json响应并在地图上创建标记。任何帮助对此表示感谢。谢谢!
<agm-map
#AgmMap
(mapReady)="initMap($event)">
<agm-marker
*ngFor="let m of markers; let i = index"
[latitude]="m.lat"
[longitude]="m.lng"
[label]="m.label"
[markerDraggable]="m.draggable"
(dragEnd)="markerDragEnd(m, $event)">
</agm-marker>
</agm-map>
答案 0 :(得分:0)
我建议不要通过Marker
组件来操纵标记可见性,而不是直接访问Google Maps Marker对象,visible
属性似乎是一个很好的选择。
假设制造商数据以以下格式表示
markers = [
{ Id: 1, name: "Oslo", lat: 59.923043, lng: 10.752839, visible: true },
{ Id: 2, name: "Stockholm", lat: 59.339025, lng: 18.065818, visible: true },
{ Id: 3, name: "Copenhagen", lat: 55.675507, lng: 12.574227, visible: true },
{ Id: 4, name: "Berlin", lat: 52.521248, lng: 13.399038, visible: true },
{ Id: 5, name: "Paris", lat: 48.856127, lng: 2.346525, visible: true }
];
,标记的初始化如下:
<agm-marker *ngFor="let m of markers" [visible]="m.visible" [latitude]="m.lat" [longitude]="m.lng" >
</agm-marker>
可以在单击按钮时更改标记可见性,如下所示:
toggleMarker(index) {
this.markers[index].visible = !this.markers[index].visible;
}
<button (click)="toggleMarker(0)">Toggle marker</button>