В большинстве случаев проще установить экстент на слое.
Чтобы ограничить экстент источника, вы должны предоставить ему собственную сетку плиток, например
var defaultTileGrid = createXYZ();
var source = new XYZ({
url: .... ,
tileGrid: new TileGrid({
origin: defaultTileGrid.getOrigin(0),
resolutions: defaultTileGrid.getResolutions(),
extent: extent
})
});
Границы должны быть в той же проекции, что и источник
Так что для EPSG: 4326 вам потребуется
var defaultTileGrid = createXYZ({extent: getProjection('EPSG:4326').getExtent()});
var source = new XYZ({
url: .... ,
tileGrid: new TileGrid({
origin: defaultTileGrid.getOrigin(0),
resolutions: defaultTileGrid.getResolutions(),
extent: [-0.795668404302292, 48.78018752203186, -0.7037491016945445, 48.83999044180076]
})
});