2016-03-29 7 views
2

Ich versuche, ein hochauflösendes Bild mit OpenLayers3 anzuzeigen. Das Bild (14336px x 12544px) wurde in 7 Ebenen von 256 x 256 Pixel gekachelt.OpenLayers3 und hochauflösendes Bild (XYZ-Quelle)

Ich versuche, das Bild zu zentrieren und den Blick auf das Bild zu beschränken (keine Wiederholung).

Ich habe Ausmaß und Vorsprung sah aber ich habe es nicht geschafft, zu tun, was ich wollte.

Hier ist mein Code:

var width = 14336; 
var height = 12544; 
var level = 6; 

var layer = new ol.layer.Tile({ 
    source: new ol.source.XYZ({ 
     url: 'http://projects.local/.../{z}/{x}/{-y}.jpg' 
    }), 
    maxZoom: level 
}); 

var view = new ol.View({ 
    center: [0, 0], 
    zoom: 2, 
    maxZoom: level 
}); 

var map = new ol.Map({ 
    target: 'viewerContainer', 
    layers: [ 
     layer, 
    ], 
    view: view 
}); 

Danke für Ihre Hilfe

Antwort

2

ich eine Lösung dank dieser JSFiddle gefunden: http://jsfiddle.net/jonataswalker/6f233kLy/

var width = 14336; 
var height = 12544; 
var level = 6; 

var projection = new ol.proj.Projection({ 
    code: 'pixels', 
    units: 'pixels', 
    extent: [0, 0, height, width] 
}); 

var layer = new ol.layer.Tile({ 
    source: new ol.source.XYZ({ 
     url: 'http://projects.local/prototype/data/item1/0/0/0/{z}/{x}/{-y}.jpg', 
     projection: projection 
    }), 
    maxZoom: level 
}); 

var view = new ol.View({ 
    center: [height/2, width/2], 
    zoom: 2, 
    maxZoom: level, 
    projection: projection 
}); 

var map = new ol.Map({ 
    target: 'viewerContainer', 
    layers: [ 
     layer, 
    ], 
    view: view 
}); 

Hoffe, dass es jemand

helfen
Verwandte Themen