javascript - openlayers 3 - Load TileLayer with highest zoom level tiles but display at all zoom levels -


is possible load tile layer tileimage source tiles in highest resolution (zoom) specific extent , have these tiles show zoom levels. have high resolution imagery wish show layer above tile layer such bing or osm.

example source

var source = new ol.source.tileimage({ projection: 'epsg:900913', tilegrid: new ol.tilegrid.tilegrid({ projection: 'epsg:900913', extent: projectionextent, //extent: ol.proj.transformextent([-83.7893967, 42.851353, -83.7855987, 42.849371], "epsg:4326", "epsg:900913"), resolutions: resolutions, tilesize:[pictometryimagesize, pictometryimagesize] }), tileurlfunction: function(tilecoord, pixelratio, projection){ var zoom = tilecoord[0];  console.log(zoom)  if(zoom == 21){     var tilegrid = this.gettilegrid();     var center = ol.proj.transform(ol.extent.getcenter(tilegrid.gettilecoordextent(tilecoord)),"epsg:900913", "epsg:4326");     return 'www.myrealtileurl; } //return undefined; //return 'https://dummy.com'; }, minzoom: 0, maxzoom: 21 

});

i hope understand correctly. first, can restrict layer extent extent. second, can lock zoom maxzoom , minzoom properties. openlayers resize tiles on own. here example, arcgis tile layer locked in extent , zoom:

var map = new ol.map({   target: 'map',   layers: [     new ol.layer.tile({ source: new ol.source.osm() }),     new ol.layer.tile({       extent: ol.proj.transformextent([-110, 42, -100, 48], "epsg:4326", "epsg:3857"),       source: new ol.source.xyz({           maxzoom: 6,           minzoom: 6,           url: 'http://server.arcgisonline.com/arcgis/rest/services/' +           'world_topo_map/mapserver/tile/{z}/{y}/{x}'       })     })   ],   view: new ol.view({       center: ol.proj.fromlonlat([-105.89, 45.09]),       zoom: 6   }) }); 

Comments