Dans Openlayers, le niveau de zoom min ou max ne dépend pas de la carte, mais de chaque couche : ainsi, si on ne veut fournir que certaines résolutions pour une couche wmts, il faut utiliser les paramètres resolutions et serverResolutions à la création des couches, sans modifier les paramètres de la carte :

resolutions:[5000,2500,1500,1000,750],
serverResolutions: [null,null ,null, null, null, null, 2445.9849047851562, 1222.9924523925781, 611.4962261962891, 305.74811309814453, 152.87405654907226, 76.43702827453613, 38.218514137268066, 19.109257068634033, 9.554628534317017, 4.777314267158508],

Ainsi, on indique que :

  • Quand la couche avec laquelle on a défini ces paramètres est la couche de base, alors les niveaux de zoom disponibles pour la carte correspondent au tableau resolutions de la couche : zoom 0 -> résolution 5000, zoom 4 -> résolution 750.
  • Le serveur wmts fournit les résolutions 2445 à 4.77. Ainsi, en fonction de la résolution demandée pour la carte (dans le tableau resolutions), OpenLayers demandera la couche dont la résolution est la plus proche de la résolution carte. Par exemple, pour la résolution carte 5000, on va requêter la résolution 2455. Les éléments null viennent du fait que serverResolutions est utilisé pour faire la correspondande tilematrix/résolution : si je veux la résolution 1222, je vais requêter la TM 7. Or pour cette couche du WMTS, les tilematrixes 1 à 5 ne sont pas disponibles.