UNPKG

1.45 kBJavaScriptView Raw
1goog.require('ol.Map');
2goog.require('ol.View');
3goog.require('ol.layer.Tile');
4goog.require('ol.source.Zoomify');
5
6var imgWidth = 9911;
7var imgHeight = 6100;
8
9var zoomifyUrl = 'http://vips.vtech.fr/cgi-bin/iipsrv.fcgi?zoomify=' +
10 '/mnt/MD1/AD00/plan_CHU-4HD-01/FOND.TIF/';
11var iipUrl = 'http://vips.vtech.fr/cgi-bin/iipsrv.fcgi?FIF=' + '/mnt/MD1/AD00/plan_CHU-4HD-01/FOND.TIF' + '&JTL={z},{tileIndex}';
12
13var layer = new ol.layer.Tile({
14 source: new ol.source.Zoomify({
15 url: zoomifyUrl,
16 size: [imgWidth, imgHeight],
17 crossOrigin: 'anonymous'
18 })
19});
20
21var extent = [0, -imgHeight, imgWidth, 0];
22
23var map = new ol.Map({
24 layers: [layer],
25 target: 'map',
26 view: new ol.View({
27 // adjust zoom levels to those provided by the source
28 resolutions: layer.getSource().getTileGrid().getResolutions(),
29 // constrain the center: center cannot be set outside this extent
30 extent: extent
31 })
32});
33map.getView().fit(extent);
34
35var control = document.getElementById('zoomifyProtocol');
36control.addEventListener('change', function(event) {
37 var value = event.currentTarget.value;
38 if (value === 'iip') {
39 layer.setSource(new ol.source.Zoomify({
40 url: iipUrl,
41 size: [imgWidth, imgHeight],
42 crossOrigin: 'anonymous'
43 }));
44 } else if (value === 'zoomify') {
45 layer.setSource(new ol.source.Zoomify({
46 url: zoomifyUrl,
47 size: [imgWidth, imgHeight],
48 crossOrigin: 'anonymous'
49 }));
50 }
51
52});