Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
443 changes: 43 additions & 400 deletions index.html

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions layers/1.js

Large diffs are not rendered by default.

58 changes: 58 additions & 0 deletions layers/layers.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
var wms_layers = [];


var lyr_OSMStandard_0 = new ol.layer.Tile({
'title': 'OSM Standard',
'type':'base',
'opacity': 1.000000,


source: new ol.source.XYZ({
attributions: ' &nbsp &middot; <a href="https://www.openstreetmap.org/copyright">© OpenStreetMap contributors, CC-BY-SA</a>',
url: 'http://tile.openstreetmap.org/{z}/{x}/{y}.png'
})
});
var format__1 = new ol.format.GeoJSON();
var features__1 = format__1.readFeatures(json__1,
{dataProjection: 'EPSG:4326', featureProjection: 'EPSG:3857'});
var jsonSource__1 = new ol.source.Vector({
attributions: ' ',
});
jsonSource__1.addFeatures(features__1);
var lyr__1 = new ol.layer.Vector({
declutter: false,
source:jsonSource__1,
style: style__1,
popuplayertitle: 'Снеговой район',
interactive: true,
title: 'Снеговой район<br />\
<img src="styles/legend/_1_0.png" /> I<br />\
<img src="styles/legend/_1_1.png" /> II<br />\
<img src="styles/legend/_1_2.png" /> III<br />\
<img src="styles/legend/_1_3.png" /> IV<br />\
<img src="styles/legend/_1_4.png" /> V<br />\
<img src="styles/legend/_1_5.png" /> VI<br />\
<img src="styles/legend/_1_6.png" /> VII<br />\
<img src="styles/legend/_1_7.png" /> VIII<br />\
<img src="styles/legend/_1_8.png" /> <br />' });
var group_ = new ol.layer.Group({
layers: [],
fold: 'close',
title: 'Города'});
var group_ = new ol.layer.Group({
layers: [],
fold: 'close',
title: 'Снег'});
var group_ = new ol.layer.Group({
layers: [],
fold: 'close',
title: 'Ветер'});

lyr_OSMStandard_0.setVisible(true);lyr__1.setVisible(true);
var layersList = [lyr_OSMStandard_0,lyr__1];
lyr__1.set('fieldAliases', {'fid': 'fid', 'region_typ': 'Тип региона', 'region': 'Регион', 'district': 'Район', 'city': 'Город', 'federal': 'Федеральный округ', 'snow_reg': 'Снеговой район', 'wind_reg': 'Ветровой район', 'snow_load': 'Снеговая нагрузка', });
lyr__1.set('fieldImages', {'fid': 'TextEdit', 'region_typ': 'UniqueValues', 'region': 'TextEdit', 'district': 'UniqueValues', 'city': 'TextEdit', 'federal': 'UniqueValues', 'snow_reg': 'UniqueValues', 'wind_reg': 'UniqueValues', 'snow_load': 'Range', });
lyr__1.set('fieldLabels', {'fid': 'hidden field', 'region_typ': 'hidden field', 'region': 'inline label - visible with data', 'district': 'hidden field', 'city': 'inline label - visible with data', 'federal': 'hidden field', 'snow_reg': 'inline label - visible with data', 'wind_reg': 'header label - visible with data', 'snow_load': 'inline label - visible with data', });
lyr__1.on('precompose', function(evt) {
evt.context.globalCompositeOperation = 'normal';
});
11 changes: 11 additions & 0 deletions resources/Autolinker.min.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions resources/Autolinker.min.js.map

Large diffs are not rendered by default.

46 changes: 46 additions & 0 deletions resources/OSMBuildings-OL3.js

Large diffs are not rendered by default.

5 changes: 5 additions & 0 deletions resources/fontawesome-all.min.css

Large diffs are not rendered by default.

56 changes: 56 additions & 0 deletions resources/functions.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
var createTextStyle = function(feature, resolution, labelText, labelFont,
labelFill, placement, bufferColor,
bufferWidth) {

if (feature.hide || !labelText) {
return;
}

if (bufferWidth == 0) {
var bufferStyle = null;
} else {
var bufferStyle = new ol.style.Stroke({
color: bufferColor,
width: bufferWidth
})
}

var textStyle = new ol.style.Text({
font: labelFont,
text: labelText,
textBaseline: "middle",
textAlign: "left",
offsetX: 8,
offsetY: 3,
placement: placement,
maxAngle: 0,
fill: new ol.style.Fill({
color: labelFill
}),
stroke: bufferStyle
});

return textStyle;
};

function stripe(stripeWidth, gapWidth, angle, color) {
var canvas = document.createElement('canvas');
var context = canvas.getContext('2d');
canvas.width = screen.width;
canvas.height = stripeWidth + gapWidth;
context.fillStyle = color;
context.lineWidth = stripeWidth;
context.fillRect(0, 0, canvas.width, stripeWidth);
innerPattern = context.createPattern(canvas, 'repeat');

var outerCanvas = document.createElement('canvas');
var outerContext = outerCanvas.getContext('2d');
outerCanvas.width = screen.width;
outerCanvas.height = screen.height;
outerContext.rotate((Math.PI / 180) * angle);
outerContext.translate(-(screen.width/2), -(screen.height/2));
outerContext.fillStyle = innerPattern;
outerContext.fillRect(0,0,screen.width,screen.height);

return outerContext.createPattern(outerCanvas, 'no-repeat');
};
1 change: 1 addition & 0 deletions resources/horsey.min.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions resources/horsey.min.js

Large diffs are not rendered by default.

Binary file added resources/ic_location_on_128_28437.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added resources/marker.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added resources/measure-control.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
188 changes: 188 additions & 0 deletions resources/ol-layerswitcher.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,188 @@
.layer-switcher {
position: absolute;
top: 3.5em;
right: 0.5em;
text-align: left;
}

.layer-switcher .panel {
margin: 0;
border: 4px solid #eee;
border-radius: 4px;
background-color: white;
display: none;
max-height: inherit;
height: 100%;
box-sizing: border-box;
overflow-y: auto;
}

.layer-switcher button {
float: right;
z-index: 1;
width: 38px;
height: 38px;
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAACE1BMVEX///8A//8AgICA//8AVVVAQID///8rVVVJtttgv98nTmJ2xNgkW1ttyNsmWWZmzNZYxM4gWGgeU2JmzNNr0N1Rwc0eU2VXxdEhV2JqytQeVmMhVmNoydUfVGUgVGQfVGQfVmVqy9hqy9dWw9AfVWRpydVry9YhVmMgVGNUw9BrytchVWRexdGw294gVWQgVmUhVWPd4N6HoaZsy9cfVmQgVGRrytZsy9cgVWQgVWMgVWRsy9YfVWNsy9YgVWVty9YgVWVry9UgVWRsy9Zsy9UfVWRsy9YgVWVty9YgVWRty9Vsy9aM09sgVWRTws/AzM0gVWRtzNYgVWRuy9Zsy9cgVWRGcHxty9bb5ORbxdEgVWRty9bn6OZTws9mydRfxtLX3Nva5eRix9NFcXxOd4JPeINQeIMiVmVUws9Vws9Vw9BXw9BYxNBaxNBbxNBcxdJexdElWWgmWmhjyNRlx9IqXGtoipNpytVqytVryNNrytZsjZUuX210k5t1y9R2zNR3y9V4lp57zth9zdaAnKOGoaeK0NiNpquV09mesrag1tuitbmj1tuj19uktrqr2d2svcCu2d2xwMO63N+7x8nA3uDC3uDFz9DK4eHL4eLN4eIyYnDX5OM5Z3Tb397e4uDf4uHf5uXi5ePi5+Xj5+Xk5+Xm5+Xm6OY6aHXQ19fT4+NfhI1Ww89gx9Nhx9Nsy9ZWw9Dpj2abAAAAWnRSTlMAAQICAwQEBgcIDQ0ODhQZGiAiIyYpKywvNTs+QklPUlNUWWJjaGt0dnd+hIWFh4mNjZCSm6CpsbW2t7nDzNDT1dje5efr7PHy9PT29/j4+Pn5+vr8/f39/f6DPtKwAAABTklEQVR4Xr3QVWPbMBSAUTVFZmZmhhSXMjNvkhwqMzMzMzPDeD+xASvObKePPa+ffHVl8PlsnE0+qPpBuQjVJjno6pZpSKXYl7/bZyFaQxhf98hHDKEppwdWIW1frFnrxSOWHFfWesSEWC6R/P4zOFrix3TzDFLlXRTR8c0fEEJ1/itpo7SVO9Jdr1DVxZ0USyjZsEY5vZfiiAC0UoTGOrm9PZLuRl8X+Dq1HQtoFbJZbv61i+Poblh/97TC7n0neCcK0ETNUrz1/xPHf+DNAW9Ac6t8O8WH3Vp98f5lCaYKAOFZMLyHL4Y0fe319idMNgMMp+zWVSybUed/+/h7I4wRAG1W6XDy4XmjR9HnzvDRZXUAYDFOhC1S/Hh+fIXxen+eO+AKqbs+wAo30zDTDvDxKoJN88sjUzDFAvBzEUGFsnADoIvAJzoh2BZ8sner+Ke/vwECuQAAAABJRU5ErkJggg==')
/*logo.png*/;
background-repeat: no-repeat;
background-position: 2px;
background-color: white;
color: black;
border: none;
}

.layer-switcher button:focus,
.layer-switcher button:hover {
background-color: white;
}

.layer-switcher.shown {
overflow-y: hidden;
display: flex;
flex-direction: column;
max-height: calc(100% - 5.5em);
}

.layer-switcher.shown.ol-control {
background-color: transparent;
}

.layer-switcher.shown.ol-control:hover {
background-color: transparent;
}
.layer-switcher.shown .panel {
display: block;
}

.layer-switcher.shown button {
display: none;
}

.layer-switcher.shown.layer-switcher-activation-mode-click > button {
display: block;
background-image: unset;
right: 2px;
position: absolute;
background-color: #eee;
margin: 1px;
}

.layer-switcher.shown button:focus,
.layer-switcher.shown button:hover {
background-color: #fafafa;
}

.layer-switcher ul {
list-style: none;
margin: 1.6em 0.4em;
padding-left: 0;
}
.layer-switcher ul ul {
padding-left: 1.2em;
margin: 0.1em 0 0 0;
}
.layer-switcher li.group + li.group {
margin-top: 0.4em;
}
.layer-switcher li.group + li.layer-switcher-base-group {
}

.layer-switcher li.group > label {
font-weight: bold;
}

.layer-switcher.layer-switcher-group-select-style-none li.group > label {
padding-left: 1.2em;
}

.layer-switcher li {
position: relative;
margin-top: 0.3em;
}

.layer-switcher li input {
position: absolute;
left: 1.2em;
height: 1em;
width: 1em;
font-size: 1em;
}
.layer-switcher li label {
padding-left: 2.7em;
padding-right: 1.2em;
display: inline-block;
margin-top: 1px;
}

.layer-switcher label.disabled {
opacity: 0.4;
}

.layer-switcher input {
margin: 0px;
}

.layer-switcher.touch ::-webkit-scrollbar {
width: 4px;
}

.layer-switcher.touch ::-webkit-scrollbar-track {
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
border-radius: 10px;
}

.layer-switcher.touch ::-webkit-scrollbar-thumb {
border-radius: 10px;
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.5);
}

li.layer-switcher-base-group > label {
padding-left: 1.2em;
}

.layer-switcher .group button {
position: absolute;
left: 0;
display: inline-block;
vertical-align: top;
float: none;
font-size: 1em;
width: 1em;
height: 1em;
margin: 0;
background-position: center 2px;
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAW0lEQVR4nGNgGAWMyBwXFxcGBgaGeii3EU0tXHzPnj1wQRYsihqQ+I0ExDEMQAYNONgoAN0AmMkNaDSyQSheY8JiaCMOGzE04zIAmyFYNTMw4A+DRhzsUUBtAADw4BCeIZkGdwAAAABJRU5ErkJggg==');
-webkit-transition: -webkit-transform 0.2s ease-in-out;
-ms-transition: -ms-transform 0.2s ease-in-out;
transition: transform 0.2s ease-in-out;
}

.layer-switcher .group.layer-switcher-close button {
transform: rotate(-90deg);
-webkit-transform: rotate(-90deg);
}

.layer-switcher .group.layer-switcher-fold.layer-switcher-close > ul {
overflow: hidden;
height: 0;
}

/*layerswitcher on the right*/
.layer-switcher.shown.layer-switcher-activation-mode-click {
padding-left: 34px;
}
.layer-switcher.shown.layer-switcher-activation-mode-click > button {
left: 0;
border-right: 0;
}

/*layerswitcher on the left*/
/*
.layer-switcher.shown.layer-switcher-activation-mode-click {
padding-right: 34px;
}
.layer-switcher.shown.layer-switcher-activation-mode-click > button {
right: 0;
border-left: 0;
}
*/
Loading