#mapbox #mapbox-gl-js
Вопрос:
Я пытаюсь разместить шестиугольник (с центром над координатами), с которым я могу взаимодействовать, наведите/щелкните. Метод, который я использую, состоит в том, чтобы загрузить изображение(…_Hexagon.png), а затем добавить слой. В конечном счете идея состоит в том, чтобы иметь много шестиугольников над определенными областями.
Я получил желаемое взаимодействие с формой, но я хотел бы, чтобы этот слой был инвариантным при увеличении (т. Е. У меня есть шестиугольники, покрывающие площадь x квадратных километров во все времена, независимо от увеличения). Есть ли эффективный способ сделать это? Будет ли другой метод лучше? и т.д.
Заранее благодарю вас за любые советы!
Ответ №1:
Если вы действительно хотите масштабировать значок таким образом, чтобы он увеличивался при увеличении масштаба, вы можете использовать экспоненциальный масштаб:
"icon-scale": ["*", ["interpolate", ["exponential", 2], ["zoom"]], SCALE]
где SCALE
какая-то константа, которую вы выбираете.
Вероятно, имеет больше смысла на самом деле генерировать данные шестиугольных полигонов (например, с использованием дерна) и отображать их.