4

我在 OpenLayers 中的 crs ETRS89/UTM 区域 32N (EPSG:25832) 中使用矢量图块,它在默认样式下正常工作。

但我的问题是,如果我通过使用 olm-mapbox-style 库以 Mapbox 样式的形式应用 Maputnik 的 style.json,它将被忽略。相同的 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);
4

0 回答 0