我目前需要从Openlayers中的给定点和X和Y偏移量(以米为单位(计算一个新点(经度和纬度(。我尝试使用ol/geom/Point类上已经可用的translate函数,但结果看起来不正确,因为结果位置与预期不同。
我的问题是,在ol上是否有其他方法来计算所需的位置。我用的是ol 6.0.3。
谢谢。
Web Mercator不是度量。。。极点的距离是无限的。。。
对于小距离,您必须计算该点的分辨率:
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
函数。