Функция apply () ol-mapbox-style не работает с пользовательской проекцией в OpenLayers - PullRequest
1 голос
/ 31 октября 2019

Я использую векторные плитки в зоне CTR ETRS89 / UTM 32N (EPSG: 25832) в OpenLayers, и это работает должным образом со стилем по умолчанию.

Но моя проблема заключается в том, что если я применю style.json из Maputnik вФорма Mapbox Style, используя библиотеку olm-mapbox-style, будет игнорироваться. Тот же style.json отлично работает с "EPSG: 3857".

Я предполагаю, что это связано с просмотром, потому что olms использует функцию map.getView (). GetZoom (), обновляя стиль.

Как я могу решить эту проблему? Любая идея? Большое спасибо.

...
import {apply, applyStyle} from 'ol-mapbox-style';

...
proj4.defs("EPSG:25832","+proj=utm +zone=32 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
register(proj4);
var projection = getProjection("EPSG:25832");

const map = new Map({
  target: 'map',
  layers:[
    new TileLayer({
      source: new OSM()
    }),
    vectorTile
  ],
  view: new View({
    center: transform([7.012, 51.4], "EPSG:4326", projection),
    projection:projection,
    zoom: 6
  })
});

const jsonPath = require('./data/style.json');
apply(map, jsonPath);
...