У меня есть плитка, которые одинаковы для более одного, чем один зум. Поэтому я загружаю их только одним разрешением со следующим кодом: < /p>
public createTileSystemLayerGroup(systemInfo: SystemTileInfo) {
const zIndex = 4 + systemInfo.priority;
this.customerProjection = systemInfo.epsgId;
const tileServerUrl = `http://localhost:8080/tiles/${systemInf ... ze}/{x}/{y}`;
const extent = [systemInfo.sw_x, systemInfo.sw_y, systemInfo.ne_x, systemInfo.ne_y];
const resolution = systemInfo.tileSize / 1890;
const source = new XYZ({
url: tileServerUrl,
projection: this.epsgId,
tileGrid: new TileGrid({
extent: extent,
origin: [systemInfo.sw_x, systemInfo.ne_y], // Achtung: OL erwartet Ursprung oben links
resolutions: [resolution], // nur eine Zoomstufe!
tileSize: 1890,
}),
cacheSize: 512,
});
const tileLayer = new TileLayer({
source: source,
zIndex: zIndex,
});
const tileSystemLayerGroup = new LayerGroup({
visible: true,
layers: [tileLayer],
minZoom: systemInfo.minZoom,
maxZoom: systemInfo.maxZoom,
zIndex: zIndex,
});
this.slippyMap.checkHighestZIndex(zIndex);
tileSystemLayerGroup.setProperties({ title: systemInfo.title });
return tileSystemLayerGroup;
}
< /code>
Это работает правильно и дает мне правильные плитки с моего сервера. Но когда я увеличиваю и выходит или выходит, моя карта иногда начинает отставать. С инструментом производительности браузера я обнаружил, что это вызвано идентификатодом (который называется OpenLayers внутри?). < /P>
Как я могу предотвратить декодирование изображения, или как я могу сделать его быстрее, а иногда его называют только? Экран инструмента производительности:
инструмент производительности браузера < /p>
Я попытался изменить, что у меня есть более одного решения, но проблема есть, что я не могу получить плитку в правильном положении от моего Tileserver. Я хочу добавить решение, в котором не выполняется iMadedEcode.
Подробнее здесь: https://stackoverflow.com/questions/796 ... -tilelayer