我在 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);