0

我正在尝试在 OpenLayers 2.12 中添加自定义测量单位。OpenLayers 中默认可用的只有:

displaySystemUnits: {
  geographic: ['dd'],
  english: ['mi', 'ft', 'in'],
  metric: ['km', 'm'],
}

我希望能够扩展它并添加一个自定义的,仅以英里为单位。例如,如果测量值小于 1 英里,比如半英里,则将其显示为 0.5。

我不想通过添加以下内容来编辑实际的 OpenLayers Measurement.js,因为它对于未来的升级是不可扩展的:

myCustomUnits: ['mi', 'mi']

有什么想法可以扩展 OpenLayers 来执行上述操作吗?

谢谢迪米特里奥斯

4

1 回答 1

2

实际上已经找到了使用以下代码覆盖 displaySystemUnits 的方法:

OpenLayers.Control.Measure.prototype.displaySystemUnits = {
 geographic: ['dd'],
 english: ['mi', 'ft', 'in'],
 metric: ['km', 'm'],
 myCustomUnits: ['mi', 'mi']
};
于 2012-11-27T15:51:02.823 回答