scale - 当单位从公制更改为英制时,Openlayers 内的值会发生变化
问题描述
我正在使用 openlayers 地图,其中我在地图中只有几个点,并且在单击每个点时,它会在弹出窗口中显示其北距、东距值
当用户将单位系统从公制更改为英制时,我们会观察地图中比例线单位的变化。同样,我需要根据单位(公制 - 米,英制 - 英尺)显示点的 Northing , Easting 值。下面是样本单位转换
Eg: In metric (meter)
North - 26.27
East - 20
In Imperial (feet)
North - 86.20
East - 65.62
我希望当单位更改完成后,地图内部也会发生相同的转换。我可以接收在地图内更改的单位系统。但是如何在地图中动态处理单位转换
解决方案
比例线控件未链接到您可能使用投影单位的弹出窗口?
例如,您需要更改弹出窗口的代码
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);
推荐阅读
- excel - 如何删除参数不是可选错误
- python - Python打开.doc文件
- javascript - 有没有办法在 javascript 循环期间使用 .splice() 添加元素?
- java - Spring Batch中TaskExecutor实现并行处理
- r - 增长率估计包中getClass("nonlinear_fit")的作用是什么?
- javascript - 将数据从 JSON 文件传递到 html
- html - Powershell 无法填写 HTML 表单
- c# - Excel Interop 将工作表的视图样式设置为普通视图
- python - Odoo 12 邮件通知
- amazon-web-services - 如何将 AWS Kinesis Video Stream(帧)发送到 EC2 实例?