这就是我所做的:
1 。我按照官方指南使用npm install proj4
将proj4js安装到Vue项目中
2。。安装了proj4之后。我重新启动了开发服务器,并尝试导入自己的proj4_def.js
,其中包含很多投影定义。 (见下文)
function proj4_def () {
proj4.defs("EPSG:21781","+proj=somerc +lat_0=46.95240555555556 +lon_0=7.439583333333333 +k_0=1 +x_0=600000 +y_0=200000 +ellps=bessel +towgs84=660.077,13.551,369.344,2.484,1.783,2.939,5.66 +units=m +no_defs");
proj4.defs("EPSG:25831","+proj=utm +zone=31 +ellps=GRS80 +units=m +no_defs");
proj4.defs("EPSG:25832","+proj=utm +zone=32 +ellps=GRS80 +units=m +no_defs");
}
export { proj4_def }
因此,我将proj4_def.js
导入到我的Vue组件之一中,方法是:import { proj4_def } from '../proj4_def/GIAGS_proj_defs.js';
我在创建的挂钩中使用proj4_def()
以确保正确定义了我需要的所有投影。
如果我运行Vue应用程序,则会收到错误:proj4 is not defined
我认为整个链条似乎相对简单,我只是不明白为什么在安装proj4并重新启动开发服务器后未定义proj4
另一个问题是:是否可以使我的proj4_def.js
全局访问?在过去,我只需要将proj4_def.js
的路径放在HTML <script>
标记中并完成工作。我不太了解Vue应用程序的复杂结构。由于我不能只让我的proj4_def.js
在全球范围内工作。