My map projection is: "EPSG:900913", display projection is "EPSG:4326" and units is "m", however does not equal the length in Direction/length
with the length is calculated in measuring
in OpenLayers, in fact OpenLayers show the length more than the actual length when I use measure control. I've set the option geodesic: true to my measure control.
For example:
the enter length is: 100m
the length after measuring is: 85.29m
Define measure control:
measureLine = new OpenLayers.Control.DynamicMeasure(OpenLayers.Handler.Path);
measureLine.geodesic = true;
function insertDirectionLength(drawType) {
var values = parseInput(
window.prompt(
"Enter direction and length offset values for new point (e.g. '-45, 10')", "direction, length"
)
);
if (values != null) {
var controlKey,key;
for (key in controls) {
controlKey = controls[key];
if (drawType == key) {
controlKey.insertDirectionLength(values[0], values[1]);
}
}
}
}
How to resolve this problem?
EPSG:900913
it makes @mkennedy eyes twitch. Please use codeEPSG:3857
instead.