Estoy usando openlayers 6, en montado uso map().getView().fit(extent) por alguna razón en cada actualización, el nivel de zoom es más alto. ¿Algún consejo sobre cómo solucionar esto?
Antes de usar .fit(extent) tengo que transformExtent para cambiar la proyección de 5514 a 3857
this.map().setView(new View({ projection: 'EPSG:3857', center: fromLonLat([50.075710, 14.472606]), zoom: 10, enableRotation: false })) extent = transformExtent(extent, 'EPSG:5514', this.map().getView().getProjection().getCode()) this.map().getView().fit(extent)mi problema es con map.getview.fit aquí está mi código y aquí están las coordenadas de los valores devueltos después de view.fit son un poco diferentes
console.log(transformedExtent) this.map().getView().fit(transformedExtent, this.map().getSize()) console.log(this.map().getView().calculateExtent(this.map().getSize()))antes de encajar:
después del ajuste:
Está utilizando la misma variable para las extensiones EPSG: 5514 y EPSG: 3857, por lo que presumiblemente está corrompiendo el EPSG: 5514 original que desea usar. Usar una variable separada debería resolver el problema.
const transformedExtent = transformExtent(extent, 'EPSG:5514', this.map().getView().getProjection().getCode()) this.map().getView().fit(transformedExtent)Preguntado sobre este problema directamente en openlayers github y es el comportamiento esperado. https://github.com/openlayers/openlayers/issues/13503