1 | goog.require('ol.Map');
|
2 | goog.require('ol.View');
|
3 | goog.require('ol.layer.Tile');
|
4 | goog.require('ol.source.OSM');
|
5 |
|
6 | var viewport = document.getElementById('map');
|
7 |
|
8 | function getMinZoom() {
|
9 | var width = viewport.clientWidth;
|
10 | return Math.ceil(Math.LOG2E * Math.log(width / 256));
|
11 | }
|
12 |
|
13 | var initialZoom = getMinZoom();
|
14 |
|
15 | var view = new ol.View({
|
16 | center: [0, 0],
|
17 | minZoom: initialZoom,
|
18 | zoom: initialZoom
|
19 | });
|
20 |
|
21 | var map = new ol.Map({
|
22 | layers: [
|
23 | new ol.layer.Tile({
|
24 | source: new ol.source.OSM()
|
25 | })
|
26 | ],
|
27 | target: 'map',
|
28 | view: view
|
29 | });
|
30 |
|
31 | window.addEventListener('resize', function() {
|
32 | var minZoom = getMinZoom();
|
33 | if (minZoom !== view.getMinZoom()) {
|
34 | view.setMinZoom(minZoom);
|
35 | }
|
36 | });
|