Mapbox не может изменить стиль векторных плиток во время выполнения - PullRequest
0 голосов
/ 06 июня 2018

Я использую утилиту командной строки tippecanoe для создания моего набора векторных приложений.Это создает структуру каталогов в соответствии с координатами z / x / y, что прекрасно.У меня есть определенная группа объектов (выделенных слоем), которым не нужно, чтобы z был до уровня масштабирования до 21, поэтому он создает плитки до уровня масштабирования 14 .В моем случае очень важно не тратить пространство памяти, увеличив максимальное увеличение до 21 для определенного уровня функций.

Насколько я понимаю, mapbox gl-js запрашивает векторные плитки в соответствии с их координатным пространством.

Так, во время моего увеличения с 6 до 21, хотя на уровне масштабирования> 14 запросов к мозаике отвечает 404, gl-js принимает ту же плитку, которая доступна в 14.

Проблема в том,

Например, если я нажимаю на какую-либо функцию, мне нужно, чтобы эта функция была выделена.Я делаю это, отфильтровывая слои следующим образом:

 //hiding the current layer
 mapBox.setFilter(currentLayer, ["==",'gid', "_none_"]);

 //showing only the clicked feature by filtering it out with a unique id it has
 mapBox.setFilter(highlightedLayer, ["==",'gid', feature_gid]);

Это работает, как и ожидалось, для уровня масштабирования <14, но если уровень масштабирования превышает 14 (максимальный масштаб при создании плитки), то это не так.возможность рендерить плитку с применением стиля слоя, когда он пытается извлечь плитку, которой нет на моем сервере.Итак, мой вопрос: если исходная плитка с определенным уровнем масштабирования дает 404, то почему бы не применить стиль слоя к любой плитке, доступной при уровне масштабирования 14?</p>

Любая помощь, чтобы решить эту проблему?

1 Ответ

0 голосов
/ 06 июня 2018

Эта функциональность не поддерживается mapbox-gl.Вам нужно вернуться к Типпекано и сгенерировать плитки для этого уровня масштабирования.

Обратите внимание, что эти новые плитки могут быть похожи с точки зрения данных на другие уровни масштабирования.

Помните, что плитки похожи на изображения, созданные с точным уровнем масштабирования.Если вы увеличите масштаб, одна плитка будет разделена на множество плиток.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...