我正在使用带有传单组件的Angular 4应用程序。问题是,我需要在特定的经度/纬度下打开一个PopUp,但无需单击标记。
这是我的界面:
export interface HistoryItem {
locationID: string;
latitude: number;
longitude: number;
description: string;
}
我用变量history:HistoryItem[]
填充这样的列表:
<mat-nav-list *ngIf="history != undefined">
<mat-list-item *ngFor="let h of history (click)="drawPopup(h);">
<p matLine>
<b>{{ h.locationID}}</b>
</p>
<span class="text-md mat-text-muted" matLine>{{ h.description}}</span>
</mat-list-item>
</mat-nav-list>
然后我的drawPopup
函数是这样的:
drawPopup(h: HistoryItem) {
const popup = L.popup().setLatLng(L.latLng(h.latitude, h.longitude));
popup.setContent('<span>'+h.locationID+'</span><br><span>'+h.description+'</span>');
this.historyItemLayer.bindPopup(popup).openPopup();
}
historyItemLayer
的声明类似于historyItemLayer: any;
,它被用作我在地图上其他图层的图层。
它实际上有效,问题在于即使纬度和经度发生变化,代码仍将弹出窗口放置在同一位置。请帮助我。