将像素转换为Mapbox地图上的坐标

时间:2019-12-05 12:24:51

标签: maps gis mapbox

我有纬度和经度坐标到Mapbox地图上的某个位置。该地图设置为缩放级别15,方位为30度。当地图显示在屏幕上时,我需要水平+ 500px垂直移动+ 300px垂直移动。如何确定经纬度中的目的地是什么?

我需要在ruby脚本中进行此计算(以及许多类似的计算)。

尽管我找到了一些信息,描述了如何实现我想要的反向功能,但我很难理解它的工作原理,因此我无法逆转计算结果。

有人可以帮我吗?

1 个答案:

答案 0 :(得分:1)

有一个名为projectunproject的方法。

projectLngLat转换为像素,unproject将像素转换为LngLat

您可以使用类似的内容:

const currentCenterPixel = map.project(map.getCenter());
currentCenterPixel.x += 500;
currentCenterPixel.y += 300;
map.once("idle", () => {
    map.panTo(map.unproject(currentCenterPixel));
});

https://jsfiddle.net/cs09g/q3x1ohun/8/