1

我正在使用 Mapbox 静态图像 API 向用户显示与他们正在查看的页面相关的地图切片的图像。我们的用户来自许多国家,并希望得到正确本地化的国家、城市名称等。

问题
是否可以以某种方式设置 Mapbox 静态图像中所有标签的语言?

我想我可以通过为我们想要支持的每种语言创建一个 Mapbox Studio 样式来实现这一点,但是我们在自定义样式中有很多自定义,所以我宁愿避免手动维护所有支持语言的版本。

我尝试使用操场https://docs.mapbox.com/playground/static/并通读文档,但没有找到任何让人想起设置语言环境的内容

4

1 回答 1

2

我认为您唯一的选择是为您想要支持的每种语言创建多种样式。您可能使用这样的调用来获取您的地图:

/styles/v1/{username}/{style_id}/static/{overlay}/{lon},{lat},{zoom},{bearing},{pitch}|{auto}/{width}x{height}{@2x}

使用 javascript 查找您的用户浏览器首选语言:如何使用 JavaScript 获取浏览器语言

并将您的 {style_id} 更改为请求的语言。

想到的另一个选择是尝试使用多个图层。所有背景数据和(复杂)样式都在一个图层中,并使用您的标签制作一个单独的图层。这样您只需要为您的标签设置不同的样式,并且维护将不那么麻烦。

于 2020-08-13T13:32:40.757 回答