首页 > 解决方案 > Mapbox - 是什么决定了国家标签显示在哪个缩放级别?

问题描述

这个问题是关于 Mapbox Studio 的。我的用例显示了各个国家之间的税收协定地图,其中一些非常小的国家由于是避税天堂而很重要,例如毛里求斯。毛里求斯岛的标签仅在地图缩放级别 2 或更高级别显示,而将此标签显示在与其他较大国家/地区相同的突出位置会很有用。标签是烘焙到 Mapbox 瓦片中还是有办法控制它们何时出现?

我发现您可以进一步过滤显示哪些国家/地区,但不能控制它们出现在哪个缩放级别的初始设置。

标签: mapbox

解决方案


大多数情况下,当想要更改特定标签的样式时,最好的方法是按照本指南自定义单个标签的标签文本。但是,正如您所提到的,毛里求斯岛仅在地图缩放级别 2 下显示。我们可以通过以下概述的步骤确定这是源数据如何包含在 Mapbox Streets 瓦片集中的限制。有时,数据不会出现在地图样式中,因为它的样式方式(即如何为相关图层指定属性),而其他时候它不会出现,因为它根本不包含在底层瓦片集中在那个特定的缩放级别。Tilesets 有条件地包含不同缩放级别的数据以提高性能。

  1. 导航到样式的相关图层(在本例中为country-label符号图层)。
  2. 切换到Select data选项卡。此视图允许您查看在特定缩放级别可见的标签。
  3. 探索不同的缩放级别以查看包含在该缩放级别的绿色功能。在这里,我们看到Mauritius不存在于z1.99但存在于z2

缩放 1.99 放大 2

幸运的是,Mapbox Streets 背后的大部分数据都来自OpenStreetMap,您可以使用多种不同的方法下载所需的数据,然后将其包含在您的地图样式中:

  1. 使用Overpass Turbo下载您想使用的数据。
  2. 从这里开始,您有两个选项来平铺数据 - 您可以使用Mapbox Tilesets API或 Mapbox 创建的开源工具Tippecanoe您可以了解如何使用本指南中的任一工具来调整数据的缩放范围。
  3. 将上一步中创建的图块集上传到您的 Mapbox 帐户。
  4. 在您的样式中添加一个引用此图块集的新图层。然后,您可以指定此图层以低于 的缩放级别显示z2

如果您只想添加几个国家/地区标签,则手动创建带有标签和坐标的 GeoJSON 文件,然后使用 Tilesets API 平铺此数据可能更容易,而不是使用 Overpass Turbo 下载数据.


推荐阅读