首页 > 解决方案 > 当单位从公制更改为英制时,Openlayers 内的值会发生变化

问题描述

我正在使用 openlayers 地图,其中我在地图中只有几个点,并且在单击每个点时,它会在弹出窗口中显示其北距、东距值

当用户将单位系统从公制更改为英制时,我们会观察地图中比例线单位的变化。同样,我需要根据单位(公制 - 米,英制 - 英尺)显示点的 Northing , Easting 值。下面是样本单位转换

Eg: In metric (meter)
North - 26.27
East - 20

In Imperial (feet)
North - 86.20
East - 65.62

我希望当单位更改完成后,地图内部也会发生相同的转换。我可以接收在地图内更改的单位系统。但是如何在地图中动态处理单位转换

标签: scaleopenlayersunits-of-measurement

解决方案


比例线控件未链接到您可能使用投影单位的弹出窗口?

例如,您需要更改弹出窗口的代码

var x = coord[0];
var y = coord[1];
if (scaleline.getUnits() == 'imperial') {
  x = x * 100 / (2.54 * 12);
  y = y * 100 / (2.54 * 12);
}
content.innerHTML = 'North - ' + y.toFixed(2) + '<br>East - ' + y.toFixed(2);

推荐阅读