我正在使用AGM MAP,并且正在尝试使用可观测对象来修改地图的标记。可观察值工作正常,并且在内部,标记的值已正确更新。问题是关于何时更新值,尽管在组件(ts)中正确更新了值,但agm-map界面无法直观地更新此值。是否有可能需要和事件来更新地图?下面是代码。你能帮我吗?
map.ts
export class MapComponent implements OnInit {
public agmMarkers: agmmarker[] = [
{ lat: 12.954517, lng: 77.3507335 },
{ lat: 52.228973, lng: 20.728218 },
{ lat: 38.5157234723591, lng: -3.2916969355 }
];
constructor(private map_service: MapService) {}
ngOnInit(): void {
this.map_service.observable_Mapa.subscribe(
marker => {
this.updateMarkers(marker);
}
);
}
public updateMarkers(markers: Hero) {
this.agmMarkers = [];
this.agmMarkers.push({
lat: markers.lat,
lng: markers.long,
});
}
}
Map.html
<div id="map">
<agm-map [latitude]="lat" [longitude]="lng">
<agm-marker *ngFor="let i of agmMarkers" [latitude]="i.lat" [longitude]="i.lng">
</agm-marker>
</agm-map>
</div>