Mapbox:如何计算切片大小和位置

时间:2018-05-16 04:13:05

标签: mapbox mapbox-gl-js

我试图通过不仅仅是mapbox api的学习曲线,而是通常地图应用程序如何工作。目前,我很难理解基于LngLat和Zoom级别调整和放置图块的计算。

我检查了Slippy maps wiki,但它似乎与mapbox的工作原理不一致(或者更有可能是我的理解不正确)。

我希望有人能指出我可以清楚解释mapbox-gl api tile放置计算的资源。

谢谢!

更具体地说:我正试图弄清楚如何使用threebox用3D平面覆盖瓷砖。要做到这一点,我需要:

  • 获取图块的大小(根据缩放级别而变化)
  • 获取瓷砖的位置(我可以使用bbox获得,但我不认为我的计算是正确的,因为在缩放级别2时,使用三个盒子放置3D平面的纬度偏差40.97度)

我放置瓷砖的计算:

var offset = 40.97// temporarily used to fix placement.
var loc_x = bounds[0] + ((bounds[2] - bounds[0])/2); // this works as expected
var loc_y = bounds[1] + offset;
var loc_z = 0;

if (bounds[1] < 0) {
  loc_y = bounds[3] - offset;
}

1 个答案:

答案 0 :(得分:0)

找到我需要偏移属性的原因。 3D平面的配准(0,0坐标)需要匹配拼贴。默认情况下,3D平面的注册点位于网格的中心,而不是左下角。