ArcGIS JS 异常之:Invalid language tag: RangeError: Invalid language tag:

使用默认的PopupTemplate显示点击查询的内容,点击后报错:

Invalid language tag: RangeError: Invalid language tag: at new NumberFormat (<anonymous>) at o (webpack-internal:///./node_modules/@arcgis/core/intl/number.js:14:273) at c (webpack-internal:///./node_modules/@arcgis/core/intl/number.js:14:716) at f (webpack-internal:///./node_modules/@arcgis/core/intl/substitute.js:14:1386) at u (webpack-internal:///./node_modules/@arcgis/core/intl/substitute.js:14:504) at eval (webpack-internal:///./node_modules/@arcgis/core/intl/substitute.js:14:214) at eval (webpack-internal:///./node_modules/@arcgis/core/core/string.js:15:191) at [Symbol.replace] (<anonymous>) at String.replaceAll (<anonymous>) at r (webpack-internal:///./node_modules/@arcgis/core/core/string.js:15:78)

尝试AI解决,乱搞一通,越搞越乱。后面问ChatGPT,原因如下:

这个报错本质上不是"查询"本身的问题,而是 ArcGIS JS 在做字符串格式化(number/intl substitute)时,拿到了一个非法的语言标签(locale)

解决方法:

方案一:

javascript 复制代码
esriConfig.locale = "zh-CN";   // 简体中文

方案二:

ArcGIS JS 会自动读取html文件lang属性,如果该属性为空字符,会报错。改为正确的

html 复制代码
<html lang="zh">
相关推荐
chao1898443 小时前
基于 SPEA2 的多目标优化算法 MATLAB 实现
开发语言·算法·matlab
赏金术士3 小时前
Kotlin 习题集 · 高级篇
android·开发语言·kotlin
楼兰公子4 小时前
buildroot 在编译rust时裁剪平台类型数量的方法
开发语言·后端·rust
吴声子夜歌4 小时前
Go——并发编程
开发语言·后端·golang
ooseabiscuit5 小时前
Laravel4.x:现代PHP框架的奠基之作
java·开发语言·php
c1s2d3n4cs5 小时前
Qt模仿nlohmann::json进行序列化和反序列化
开发语言·qt·json
AiTop1006 小时前
Claude Code 推出 Agent View:命令行编程正式进入“多线程并发“时代
开发语言·人工智能·ai·aigc
jf加菲猫6 小时前
第21章 Qt WebEngine
开发语言·c++·qt·ui
码农-阿杰7 小时前
深入理解 synchronized 底层实现:从 HotSpot C++ 源码看对象锁与 Monitor 机制
开发语言·c++·
2401_832298107 小时前
AI智能体监管落地,OpenClaw率先建立行业合规标准
开发语言