Попытка перенести проект на основе углов с использованием openlayers от устаревшего openlayers-npm-package до рекомендуемого ol-npm-package . Отладкой я понял, что у меня проблема с ранее работающей интеграцией proj4 .
После двух дней использования различных подходов, пробуя то и это, осознавая, что в этой специальной комбинации библиотек проблема, похоже, возникает из-за отсутствия типизаций для нового ol-пакета.
То, что я теперь могу подтвердить - и надеюсь, что это поможет другим (я не могу комментировать SO-Answer пока) - то, что поддержка proj4 еще не существует в @ типах /ol:'4.6.2', но в @ types / openlayers: '^ 4.6.12' .
Таким образом, использование proj4 для предоставления различных проекций для открытых слоев с использованием зависимостей
"ol": "5.2.0",
"@types/openlayers": "4.6.12",
будет работать для следующего фрагмента кода, но 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);