Openlayers - 为什么会产生不同的距离

时间:2013-09-17 11:27:51

标签: javascript openlayers

我试图了解这有什么问题。

我有一对坐标,我计算它们之间的距离。现在,通过该距离,我在每个坐标中绘制一个圆,并给它计算距离的半径,但圆总是更小。

var p1 = [lat01, lng01]
var p2 = [lat02, lng02]

var distance = p1.distanceTo(p2)

mycircle = OpenLayers.Geometry.Polygon.createRegularPolygon(
        new OpenLayers.Geometry.Point(p1.lng01, p1.lat01),
        distance,
        40,
        0
    )

现在的问题是绘制的圆总是更小,看起来距离越大,误差越大。

因此,圆的边缘应位于另一个坐标的顶部,但总是更小。

这是openlayers中的错误还是我遗漏了什么。

1 个答案:

答案 0 :(得分:0)

我用来面对类似的问题,这是由投影造成的,你是否已经将p1,p2转换为地图投影?见transform section