Angular 一旦dropbox选定值更改,ngx传单重新加载地图

Angular 一旦dropbox选定值更改,ngx传单重新加载地图,angular,leaflet,ngx-leaflet,Angular,Leaflet,Ngx Leaflet,我有一个带有几个等式(即km,m,cm)的dropbox。最初,地图加载了km值 <div leaflet style="height: 800px; width: 100%" [leafletOptions]="options" (leafletMapReady)="onMapReady($event)" [leafletBaseLayers]="baseLayers" [leafletMarkerCluster]="markerClusterData" [

我有一个带有几个等式(即km,m,cm)的dropbox。最初,地图加载了km值

 <div leaflet style="height: 800px; width: 100%" 
  [leafletOptions]="options" 
  (leafletMapReady)="onMapReady($event)" 
  [leafletBaseLayers]="baseLayers"
  [leafletMarkerCluster]="markerClusterData" 
  [leafletMarkerClusterOptions]="markerClusterOptions"
  (leafletMarkerClusterReady)="markerClusterReady($event)">
</div>


如果用户选择meter,我想重新加载/刷新带有新计算的地图(即km*1000)。主要是想更新弹出窗口和图例,但完全重新加载地图是可以的。如何发射事件以使用新值重新加载贴图?谢谢你

我不确定我是否完全理解你的问题,但也许是这样

在HTML模板中:

<select (change)="changed($event)">
  <option value="km">km</option>
  <option value="m">m</option>
  <option value="cm">cm</option>
</select>
对于
@角度/材料

<mat-select (valueChange)="changedMat($event)" placeholder="Select units">
  <mat-option value="km">km</mat-option>
  <mat-option value="m">m</mat-option>
  <mat-option value="cm">cm</mat-option>
</mat-select>

reloadWithUnits()中我会尝试更改
选项
或任何单位所在的位置。它应该被检测为已更改,因为它是传单的输入参数。

谢谢您的回复。我正在传单地图上创建图例,比如onMapReady($event)
map.on('baselayerchange',(eventLayer)=>{…}
。从您的示例中,on valueChange->changedMat()我想重建地图图例。我必须发射baselayerchange事件吗?我想知道有没有什么优雅的方式可以这样做。很抱歉,我不知道传单,我以为你正在努力从dropbox/select捕捉比例变化。愚蠢的我:(感谢男人的回复:)。现在我将继续发射baselayerchange事件。
<mat-select (valueChange)="changedMat($event)" placeholder="Select units">
  <mat-option value="km">km</mat-option>
  <mat-option value="m">m</mat-option>
  <mat-option value="cm">cm</mat-option>
</mat-select>
changedMat($event) {
 reloadWithUnits($event);
}