OpenLayers自定义单位衡量

时间:2012-11-27 12:42:33

标签: prototype openlayers

我正在尝试在OpenLayers 2.12中添加自定义测量单位。默认情况下,OpenLayers中提供的所有内容均为:

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

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

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

myCustomUnits: ['mi', 'mi']

我有什么想法可以扩展OpenLayers以实现上述目标吗?

由于 迪米特里奥斯

1 个答案:

答案 0 :(得分:1)

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

OpenLayers.Control.Measure.prototype.displaySystemUnits = {
 geographic: ['dd'],
 english: ['mi', 'ft', 'in'],
 metric: ['km', 'm'],
 myCustomUnits: ['mi', 'mi']
};