将给定点移动 X、Y 米 Openlayers

Move given point by X,Y meters Openlayers

我目前需要根据给定点计算新点(经度和纬度)以及 Openlayers 中以米为单位的 X 和 Y 偏移量。我尝试使用 ol/geom/Point class 上已经可用的 translate 函数,但结果看起来不正确,因为结果位置与预期不同。

我的问题是在 ol 上是否有任何其他方法来计算所需的位置。 我正在使用 ol 6.0.3.

谢谢。

Web 墨卡托不是公制的...极点处的距离是无限的...

对于小距离,您必须计算该点的分辨率:

import {getPointResolution} from '../src/ol/proj.js';
let pointRes = getPointResolution(map.getView().getProjection(), 1, point);
let dx = 500 / pointRes;
point.translate(dx, 0);

对于更大的距离,您必须计算球体上沿大圆的距离。 您可以查看 ol-ext lib 以在给定初始点、距离和方位角的情况下计算目标点:使用 ol_sphere_computeDestinationPoint function.