Afficher la résolution native 0,2 m au lieu d'étirer le niveau 0,4 m
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@ -565,16 +565,18 @@ function tileUrl(key) {
|
||||
|
||||
// Couche à niveaux standard pairs seulement (stockage réduit côté serveur) :
|
||||
// à un zoom impair, les tuiles du niveau pair SUPÉRIEUR sont affichées
|
||||
// réduites de moitié (nettes) ; au-delà du zoom natif, le niveau inférieur.
|
||||
// Le niveau de tuile Leaflet est ici la numérotation standard (zoomOffset −1
|
||||
// avec des tuiles de 512 px).
|
||||
// réduites de moitié (nettes). Exception : le niveau natif lui-même (19,
|
||||
// impair — 0,2 m/px) est demandé tel quel, rendu à la volée par le serveur.
|
||||
// Le replier sur le niveau pair inférieur plafonnait l'affichage à 0,4 m/px,
|
||||
// étiré ensuite par le navigateur : la pleine résolution n'était jamais vue.
|
||||
// Au-delà du natif, Leaflet étire le niveau natif (jamais de tuile agrandie
|
||||
// côté serveur). Le niveau de tuile Leaflet est ici la numérotation standard
|
||||
// (zoomOffset −1 avec des tuiles de 512 px).
|
||||
const EvenLevelTileLayer = ZoomAnimTileLayer.extend({
|
||||
_clampZoom(zoom) {
|
||||
let z = L.TileLayer.prototype._clampZoom.call(this, zoom);
|
||||
if (this.options.evenLevels && z % 2) {
|
||||
const maxN = this.options.maxNativeZoom;
|
||||
z = (maxN !== undefined && z + 1 > maxN) ? z - 1 : z + 1;
|
||||
}
|
||||
const maxN = this.options.maxNativeZoom;
|
||||
if (this.options.evenLevels && z % 2 && (maxN === undefined || z < maxN)) z += 1;
|
||||
return z;
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user