angular - 从 API 使用 Angular Google Maps 创建多个标记
问题描述
我正在尝试使用 AGM 包在 Google 地图中创建多个标记。如果我尝试使用从 API 获取的数据创建它们,我可以创建多个对纬度和经度进行硬编码的标记,但我无法使其工作。
如果我在“p”标签中执行 ngFor 来显示纬度和经度,它会正确显示数据,但由于某种原因,它无法创建 agm 标记。这是我的代码:
组件.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);
});
}
组件.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>
解决方案
您可以尝试使用此解决方案
组件.ts
markers: Arary<any>=[];
ngOnInit() {
this._api.machinesLocation().subscribe((res: any) => {
for(let data in res.data){
this.markers.push({
lat: parseInt(res.data[data].lat),
long: parseInt(res.data[data].long)
})
}
}
}
组件.html
<agm-marker
*ngFor="let m of markers;"
[latitude]="m.lat"
[longitude]="m.long">
</agm-marker>
推荐阅读
- bash - 如果程序失败,powershell 脚本将停止(如 bash `set -o errexit`)
- python - 使用 Numba 加速滚动均方根偏差计算
- javascript - 如何获取当前页面 URL 并使用它
- python-3.x - How to i add the return values of a loop
- docker - CI/CD: How to run the initial setup steps (yum upgrade, deps installation etc). Shoud I use a custom Docker image or not?
- sql - Query for two tables with similar information
- php - 如何下载从肥皂请求中收到的 ZipArchive
- php - 唯一约束返回类型不匹配
- javascript - 错误:找不到模块 'code-point-at' 和 npm install
- botframework - 在 facebook 中单击 GetStarted 按钮 2 分钟后如何发送主动消息