Mapbox:在基本地图上只显示一个国家/地区?

时间:2017-03-03 16:00:46

标签: mapbox mapbox-gl-js

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

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

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

3 个答案:

答案 0 :(得分:3)

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

使用map.setMaxBounds方法(https://www.mapbox.com/mapbox-gl-js/api/#Map#setMaxBounds)可以将地图限制为某个(矩形)边界。由于您希望将视图限制为英国,但这可能不太合适,具体取决于您要将视图限制为的几何图形。

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

答案 1 :(得分:1)

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

  • 您还可以在Mapbox中为单个国家/地区设置样式 Studio参考this教程。其他国家/地区仍会显示,但您可以通过突出显示英国的方式来设置地图样式

答案 2 :(得分:0)

有一个选项可以让您仅显示一个突出显示的国家。但是缺点是,您会丢失所有图层和图块级细节。这是链接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。在过滤器选项中选择国家(如视频中所示)。并更改其不透明度。就是这样。

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