1

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

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

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中的错误还是我遗漏了一些东西。

4

1 回答 1

0

我曾经面临过类似的问题,这是由投影引起的,您是否已经将您的 p1、p2 转换为地图投影?见变换部分

于 2013-09-26T16:07:03.387 回答