You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Proj4js转换EPSG:3857到EPSG:32633报未定义错误如何解决

Proj4js Uncaught ReferenceError: Proj4js is not defined 报错解决方案

核心错误原因

你使用的proj4js 2.4.3属于2.x版本系列,该版本暴露的全局调用对象为小写的proj4,而非你代码中使用的大写开头Proj4js,这是触发未定义报错的直接原因。

其他注意事项

  • 需保证业务转换代码在proj4.js加载完成后执行,不要将业务代码写在proj4.js引入标签之前
  • 2.x版本简化了API调用逻辑,无需手动实例化Proj、Point对象

修正后完整代码

<script src="https://cdnjs.cloudflare.com/ajax/libs/proj4js/2.4.3/proj4.js"></script>
<script>
// 定义坐标系参数
proj4.defs("EPSG:3857", "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext  +no_defs");
proj4.defs("EPSG:32633", "+proj=utm +zone=33 +ellps=WGS84 +datum=WGS84 +units=m +no_defs");

// 直接执行坐标转换,参数顺序为[源坐标系, 目标坐标系, 坐标数组[x,y]]
const transXCoords = proj4('EPSG:3857', 'EPSG:32633', [minX, maxX]);
const transYCoords = proj4('EPSG:3857', 'EPSG:32633', [minY, maxY]);
</script>

额外提示

坐标转换时注意传入数组的顺序为x在前、y在后,不要颠倒参数顺序导致转换结果异常。

内容的提问来源于stack exchange,提问作者Lucijan Troha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 16:06:05