Mapbox: Как рассчитываются размеры и позиции тайлов - PullRequest
0 голосов
/ 16 мая 2018

Я пытаюсь пройти курс обучения не только API mapbox, но и тому, как в целом работают приложения карты.В настоящее время у меня возникают трудности с пониманием расчета, используемого при определении размера и размещении плиток на основе LngLat и Zoom level.

Я проверил Slippy maps wiki, но, похоже, он не соответствует тому, какmapbox работает (или, скорее всего, мое понимание неверно).

Я надеюсь, что кто-то может указать мне ресурс, который может четко объяснить расчеты для размещения тайла API mapbox-gl.

Спасибо!

Более конкретно: я пытаюсь понять, как покрыть плитку трехмерной плоскостью, используя threebox .Для этого мне нужно:

  • получить размер плитки (который изменяется в зависимости от уровня масштабирования)
  • получить позицию плитки (которую я могу получить с помощью bbox, однако я неНе думаю, что мои расчеты верны, потому что на 2-м уровне масштабирования широта трехмерной плоскости отключена на 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 голосов
/ 24 мая 2018

Найдена причина, по которой мне нужно свойство смещения.Регистрация трехмерной плоскости (0,0 координат), необходимая для соответствия плитке.По умолчанию точка регистрации трехмерной плоскости была в центре сетки, а не внизу слева.

...