OpenLayers 3 - 视网膜与缓存图块
OpenLayers 3 - retina vs cached tiles
我有一个应用程序,它为来自 GeoServer (GeoWebcache) 切片缓存的一些图层提供服务。默认情况下,它以 256*256 像素分辨率存储它们,但 ol.source.TileWMS 源在使用视网膜 Macbook Pro 时请求 512*512 像素分辨率,这导致服务器回复:
400: The requested tile dimensions 512x512 do not match those of the
grid set (256x256)
(它在我的 Lenovo T420 上完美运行。)有没有办法强制它在 rMBP 上也使用 256*256 tiles?
提前致谢!
此致,
Balázs Eigner
好的,看起来很容易解决:您只需在源上将 'hidpi' 选项设置为 false 即可。
var layers = [ new ol.layer.Tile({
source : new ol.source.TileWMS({
hidpi : false,
url : tiledArcGISMapServer,
params : {
'LAYERS' : 'guangdong_level16',
'TILED' : true,
'SRS' : 'EPSG:900913',
'FORMAT' : 'image/jpeg'
},
tileGrid : gr,
serverType : 'geoserver'
})
}) /* , layer */];
我有一个应用程序,它为来自 GeoServer (GeoWebcache) 切片缓存的一些图层提供服务。默认情况下,它以 256*256 像素分辨率存储它们,但 ol.source.TileWMS 源在使用视网膜 Macbook Pro 时请求 512*512 像素分辨率,这导致服务器回复:
400: The requested tile dimensions 512x512 do not match those of the grid set (256x256)
(它在我的 Lenovo T420 上完美运行。)有没有办法强制它在 rMBP 上也使用 256*256 tiles?
提前致谢!
此致, Balázs Eigner
好的,看起来很容易解决:您只需在源上将 'hidpi' 选项设置为 false 即可。
var layers = [ new ol.layer.Tile({
source : new ol.source.TileWMS({
hidpi : false,
url : tiledArcGISMapServer,
params : {
'LAYERS' : 'guangdong_level16',
'TILED' : true,
'SRS' : 'EPSG:900913',
'FORMAT' : 'image/jpeg'
},
tileGrid : gr,
serverType : 'geoserver'
})
}) /* , layer */];