我有一个具有多个方程式(即km,m,cm)的保管箱。最初,地图加载了km值。
<div leaflet style="height: 800px; width: 100%"
[leafletOptions]="options"
(leafletMapReady)="onMapReady($event)"
[leafletBaseLayers]="baseLayers"
[leafletMarkerCluster]="markerClusterData"
[leafletMarkerClusterOptions]="markerClusterOptions"
(leafletMarkerClusterReady)="markerClusterReady($event)">
</div>
如果用户选择仪表,我想使用新的计算(即km * 1000)重新加载/刷新地图。主要是想更新弹出窗口和图例,但是完全重新加载地图就可以了。如何发出事件以使用新值重新加载地图?谢谢
答案 0 :(得分:0)
我不确定我是否完全理解您的问题,但也许是这样吗?
在HTML模板中:
<select (change)="changed($event)">
<option value="km">km</option>
<option value="m">m</option>
<option value="cm">cm</option>
</select>
在TS文件中:
changed($event) {
reloadWithUnits($event.srcElement.value);
}
对于@angular/material
:
<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>
和TS:
changedMat($event) {
reloadWithUnits($event);
}
在reloadWithUnits();
中,我将尝试更改options
或任何单位。应该将其检测为已更改,因为它是传单的输入参数。