如何更改mapbox中的语言

tye*_*hia 6 javascript mapbox reactjs mapbox-gl-js

我需要在 javascript 中更改地图框的语言,我只在文档中看到以下代码

map.setLayoutProperty('country-label', 'text-field', ['get', 'name_de'])
Run Code Online (Sandbox Code Playgroud)

但这行代码只会更改国家/地区名称,但我需要一切(城市、城镇等)

Mur*_*ati 8

根据您的地图框样式,将会有不同的文本图层。对于dark-v9,这些是可用的文本图层。

country-label
state-label
settlement-label
settlement-subdivision-label
airport-label
poi-label
water-point-label
water-line-label
natural-point-label
natural-line-label
waterway-label
road-label 
Run Code Online (Sandbox Code Playgroud)

使用您在上面各层的问题中提到的代码片段,您应该能够更改语言。

map.setLayoutProperty('country-label', 'text-field', ['get', 'name_de'])
Run Code Online (Sandbox Code Playgroud)

或者您可以使用mapbox-language-plugin更改所有可能图层的语言。这是该插件的工作示例。

country-label
state-label
settlement-label
settlement-subdivision-label
airport-label
poi-label
water-point-label
water-line-label
natural-point-label
natural-line-label
waterway-label
road-label 
Run Code Online (Sandbox Code Playgroud)

参考: https: //blog.mapbox.com/how-to-localize-your-maps-in-mapbox-gl-js-da4cc6749f47