jk's notes
  • 修改 basemap 的语言

修改 basemap 的语言

https://developers.arcgis.com/javascript/latest/tutorials/change-the-basemap-language/

基本上不会用到这里, 这个文档是完全使用 ArcGIS 的库和源, 默认显示的是英文.

可以通过导入 intl 模块, 调用 该模块的 setLocale() 方法 (静态方法) 来设置语言.

创建 basemap 的时候使用 BasemapStyle 来指定语言.

需要注意的是

  1. 必须使用 4.28+ 的 ArcGIS JS 库.
  2. 要更新文字需要同时修改两个部分: 1) 使用 intl.setLocale 2) 替换整个 BasemapStyle

创建 BasemapStyle

import BasemapStyle from '@arcgis/core/support/BasemapStyle'
const basemapStyle = new BasemapStyle({
  language: 'en',
  id: 'arcgis/outdoor'
})

创建 intl

import * as intl from '@arcgis/core/intl'
intl.setLocale('en')

可支持的语言包括: https://developers.arcgis.com/rest/basemap-styles/#languages

image-20231121151913710

更新语言 (需要替换整个 basemap)

intl.setLocale('zh-CN')
mapView.map.basemap.destroy()
mapView.map.basemap = new Basemap({
  style: new BasemapStyle({
    language: 'zh-CN',
    id: 'arcgis/outdoor'
  })
})
Last Updated:
Contributors: jk