【发布时间】:2019-02-11 10:52:53
【问题描述】:
尝试使用 openlayers 将基于角度的项目从弃用的 openlayers-npm-package 迁移到推荐的 ol-npm-package。通过调试,我意识到我之前仍然有效的 proj4 集成存在问题。
在遵循不同方法两天后,尝试了这个和那个,意识到在这种特殊的库组合中,问题似乎是由于新的 ol-package 缺少类型造成的。
我现在可以确认 - 并希望它对其他人有所帮助(我还不能对 SO-Answer 发表评论) - 对 proj4 的支持在 @types/ol:'4.6.2' 中尚不存在,但在 @types/openlayers:'^4.6.12' 中。
因此利用 proj4 使用依赖项向 openlayers 提供不同的投影
"ol": "5.2.0",
"@types/openlayers": "4.6.12",
将适用于以下代码-sn-p,但 ol 与 @types/ol 结合使用不会:
进口
import * as ol from 'openlayers';
import * as proj4x from 'proj4';
const proj4 = (proj4x as any).default;
proj4.defs([
[ 'EPSG:25832', '+proj=utm +zone=32 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs' ],
...
]);
构造函数
ol.proj.setProj4(proj4);
【问题讨论】:
标签: angular html-lists openlayers proj4js proj