gpt4 book ai didi

angular - agm 标记不从 ngfor 渲染

转载 作者:太空狗 更新时间:2023-10-29 17:13:31 25 4
gpt4 key购买 nike

我对 Angular 还很陌生,我认为这是一个基本问题。

我像这样创建我的 map

<agm-map [latitude]="lat" [longitude]="lng">
<agm-marker [latitude]="location.lat" [longitude]="location.lng" *ngFor="let location of locations; let i=index">
<agm-snazzy-info-window [maxWidth]="200" [closeWhenOthersOpen]="true">
<ng-template>
<strong>{{location.title}}</strong>
<p>adresse</p>
</ng-template>
</agm-snazzy-info-window>
</agm-marker>
</agm-map>

当我手动设置标记时,一切正常,但是当我使用 *ngFor 循环遍历我的列表时,会创建标记的 html,但显然是在 map 脚本查找标记之后,所以没有标记被渲染( map 本身是)。

来 self 的 Controller :

export class LocationMapComponent implements OnInit {

lat: number = 51.678418;
lng: number = 7.809007;
locations: Location[];

async ngOnInit() {

}

public async getLocations() {
this.locations = await this._locationService.getLocations();

}

constructor(private _locationService:LocationService, private _coreCOMService: CoreCOMService, private _coreLanguageService: CoreLanguageService, private _coreLogService: CoreLogService, private _componentFactoryResolver: ComponentFactoryResolver, private _coreSystemService: CoreSystemService) {

this.getLocations();
}

这些位置是从一个服务中加载的,该服务从远程数据库中获取它们。我确实相信问题在于 map 是在执行 ngFor 循环之前渲染的,我不确定如何确保首先执行循环或者如何告诉 map 仅在循环之后(重新)渲染标记完成了。

如前所述,这可能是非常基本的,但我现在不知所措,谢谢。

最佳答案

纬度/经度必须是数字类型。如果它们作为字符串从 API 或某种服务返回,则需要对其进行转换。根据我的经验,似乎要求将其严格键入为数字。

关于angular - agm 标记不从 ngfor 渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46972241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com