2016-08-01 10 views
-1

TileImageソースから特定の範囲のタイルを最高解像度(ズーム)でロードし、すべてのズームレベル。 BingやOSMなどの別のタイルレイヤーの上にレイヤーとして表示したい高解像度の画像があります。openlayers 3 - 最高のズームレベルタイルを持つTileLayerをロードしますが、すべてのズームレベルで表示します

例ソース

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 

})。

答えて

1

私はあなたを正しく理解してくれることを願っています。まず、レイヤ範囲をextentで制限できます。次に、maxZoomminZoomのプロパティでズームをロックできます。 OpenLayersは自分でタイルのサイズを変更します。

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 
    }) 
}); 
+0

提供されたURLを使用してXYZソースを使用すると、この現象が発生します。これは、ArcGISのタイルレイヤーがエクステントとズームでロックされている例です。 tileUrlFunctionを使ってTileImageソースで同じことをしようとすると、20にズームするとタイル21が消えます。これは、すべてのズームレベルに対して関数が呼び出され、 21. –

+0

'ol.source.XYZ'はあなたには良いでしょうか?これはTileImageを拡張し、tileUrlFunctionを含むすべての関数を持ちます。 –

+0

それは、違いはありません試してみました。私は未定義の代わりに悪いurlを返すと、タイルは消える前に1つのズームレベルのために後方に保持されていることに気付きました。コメントアウトされた範囲を使用すると、tileUrlFunctionはzoom = 19で呼び出されなくなります。 –

関連する問題