组件和视图之间的绑定不会更新标记的值

时间:2018-12-11 14:31:17

标签: angular google-maps rxjs observable

我正在使用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>

0 个答案:

没有答案