mapbox怎样只显示主干路

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mapbox怎样只显示主干路相关的知识,希望对你有一定的参考价值。

只显示主干路的方法是
在 Studio 中,首先创建一个新的空白样式。选择图层标签,并添加 "Mapbox Satellite " 图层,即 Mapbox 卫星图层。

接下来,添加 "Mapbox Countries V1 "层。默认的样式是黑色的。

现在我们要为 "Mapbox Countries V1 "图层设置样式,调整“Style with data conditions(数据条件)”中对于颜色的设置。使用 "Name "数据字段,输入 "United States (美国)",选中数据。
如果你不清楚你要选择的国家在其中的名字,你还可以使用 " select data (选择数据) "面板,通过右键点击地图来查看您选择的国家的各类属性。

一旦 "United States "被选中,将颜色的不透明度值设为 "0 "

然后,将其他的地区,即 Fallback value (回退值)里的颜色调整为白色和不透明度为 1。现在,地图应该显示所有国家除了美国,都是白色的。

添加 Mapbox 的 " Water "层(水域层),并将填充颜色改为白色。

这就是我们的成果——感兴趣的国家凸显出来了,其他区域都隐藏了。当然,我们可以灵活地将国家的回退值设计成任何颜色,并将该样式与水域层匹配。试试不同的颜色,以便与数据可视化或网络平台的背景颜色最匹配。
参考技术A Mapbox中可以使用路网样式以及过滤器来显示主干路。要让地图只显示主干路,首先要在样式文件中构建路网样式,定义“道路”图层,然后通过在修改样式文件的过滤器字段中使用“road_class”过滤条件来控制是否显示主干道。语法如下:[road_class] == [major_road]

Mapbox:在底图上只显示一个国家?

【中文标题】Mapbox:在底图上只显示一个国家?【英文标题】:Mapbox: show only one country on base map? 【发布时间】:2017-07-23 19:54:57 【问题描述】:

我正在使用 Mapbox GL JS。有什么办法可以让我的基础层看起来像 Mapbox Light 示例,但只显示英国?

我假设我会使用 Mapbox Studio 来构建我自己的基础层,但我在 Studio 中看不到任何按国家/地区过滤的方法。

如果这不可能,有什么方法可以只在英国显示标签,而将其他国家显示为填充多边形? (根据this unanswered question。)

【问题讨论】:

Filter out Country with Mapbox的可能重复 【参考方案1】:

有一个选项可让您仅突出显示一个国家/地区。但缺点是,您会丢失所有图层和图块级别的细节。这是链接https://www.mapbox.com/videos/how-to/map-a-single-country-in-mapbox-studio/。

但是,如果您想包含瓷砖详细信息以及整个世界地图,但在该地图中仅突出显示一两个或自定义数量的国家,则从 Natural Earth 的上述链接下载 ne_10m_admin_0_countries 的压缩文件并上传。

回到你的地图样式,而不是制作一个空白的。在您的当前地图中添加另一层 ne_10m_admin_0_countries。在过滤器选项中选择国家(与视频中显示的方式相同)。并改变它的不透明度。就是这样。

希望对您有所帮助。祝你有美好的一天。

【讨论】:

【参考方案2】:

this SO 答案中也提出了解决方法,如果您只能获得英国的地图(SO 答案提供了链接,但对于德国),您可以 将它们作为数据集上传到 Mapbox ,将其导出到图块集,然后 将地图作为图层。删除所有其他图层

您还可以在 Mapbox 中为单个国家/地区设置样式 工作室参考this 教程。其他国家/地区仍会显示,但您可以设置地图样式以突出显示英国

【讨论】:

【参考方案3】:

很遗憾,在为图层选择数据源时,无法按特定地理位置进行过滤。如果您使用 Mapbox 的图块,它们将始终覆盖整个星球。

可以使用map.setMaxBounds 方法(https://www.mapbox.com/mapbox-gl-js/api/#Map#setMaxBounds) 将地图限制在某个(矩形)范围内。由于您希望将视图限制在英国,因此这可能工作得相当好,但根据您希望将视图限制到的几何形状,这可能不合适。

作为一种解决方法,您可以创建一个数据集并添加一个多边形,该多边形覆盖整个星球,除了您希望在地图中显示的范围。然后以您的样式添加此数据集作为最顶层的图层,并使用您希望地图中空白区域的样式对其进行样式设置。

【讨论】:

你知道在哪里可以找到一个覆盖整个星球的多边形吗? 我的意思是,你知道覆盖整个星球的多边形的坐标是多少吗? [[180, 90], [-180, 90], [-180, -90], [-180, 90]] 应该覆盖地球。

以上是关于mapbox怎样只显示主干路的主要内容,如果未能解决你的问题,请参考以下文章

Mapbox 地图未在 ionic 生产版本中显示

pycharm历史记录只显示12小事

Mapbox显示地图案例

在 MapBox 上隐藏和显示标记

Leaflet.js 中未显示自定义 Mapbox 瓦片集

如何正确显示 plotly density_mapbox?