打开没有标记的Leaflet PopUp?

时间:2018-08-15 16:59:29

标签: javascript angular typescript popup leaflet

我正在使用带有传单组件的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;,它被用作我在地图上其他图层的图层。

它实际上有效,问题在于即使纬度和经度发生变化,代码仍将弹出窗口放置在同一位置。请帮助我。

0 个答案:

没有答案