【发布时间】:2018-12-11 09:46:40
【问题描述】:
我正在尝试使用 AGM 包在 Google 地图中创建多个标记。虽然我可以创建多个标记硬编码纬度和经度,但如果我尝试使用从 API 获取的数据创建它们,但我无法使其工作。
如果我在“p”标签中执行 ngFor 来显示纬度和经度,它会正确显示数据,但由于某种原因,它无法创建 agm 标记。这是我的代码:
component.ts
gps_lats: Array<number>;
gps_longs: Array<number>;
constructor(private _api: ApiService) { }
ngOnInit() {
this._api.machinesLocation().subscribe(res => {
this.gps_lats = Object.values(res['data']).map(({ lat }) => lat);
this.gps_longs = Object.values(res['data']).map(({ long }) => long);
});
}
component.html
<div class="card ">
<agm-map [latitude]="39.9" [longitude]="-0.16">
<agm-marker *ngFor="let machine of gps_lats; index as i" [latitude]="gps_lats[i]" [longitude]="gps_longs[i]">
</agm-marker>
</agm-map>
</div>
【问题讨论】:
-
嗨@David 请提供
machinesLocation服务的json res -
好的,我将在演示中创建一个 Stackblitz
-
嗨 @David 我已经发布了 Stackblitz 演示的解决方案。
标签: angular google-maps