Added ogn-live ressources
|
@ -0,0 +1,189 @@
|
|||
/*
|
||||
____ _____ _ _ _ _ _ _ _
|
||||
/ __ \ / ____| (_) | | | \ | | | | | |
|
||||
| | | |_ __ ___ _ __ | | __| |_ __| | ___ _ __ | \| | ___| |___ _____ _ __| | __
|
||||
| | | | '_ \ / _ \ '_ \ | | |_ | | |/ _` |/ _ \ '__| | . ` |/ _ \ __\ \ /\ / / _ \| '__| |/ /
|
||||
| |__| | |_) | __/ | | | | |__| | | | (_| | __/ | | |\ | __/ |_ \ V V / (_) | | | <
|
||||
\____/| .__/ \___|_| |_| \_____|_|_|\__,_|\___|_| |_| \_|\___|\__| \_/\_/ \___/|_| |_|\_\
|
||||
| |
|
||||
|_|
|
||||
*/
|
||||
// barogram option
|
||||
var baroCanvas;
|
||||
var baroScale;
|
||||
var baroMarker;
|
||||
var baroCtx;
|
||||
var baroScaleCtx;
|
||||
var baroMarkCtx;
|
||||
var X_max;
|
||||
var X_min;
|
||||
var Y_max;
|
||||
var Y_min;
|
||||
var xScale;
|
||||
var yScale;
|
||||
var xWidth;
|
||||
var yHeight;
|
||||
var xAxis = []; // optional scale labels
|
||||
var yAxis = []; // optional scale labels
|
||||
var margin = 10; // all around line graph
|
||||
var X_legend = 0;
|
||||
var Y_legend = 0;
|
||||
var maxAlt = 5000;
|
||||
var X_lines = 5+1;
|
||||
var Y_lines = 5+1;
|
||||
var currentUnit = "";
|
||||
var scaleFlag = 0;
|
||||
var X_offset = 0;
|
||||
var Y_offset = margin+X_legend;
|
||||
|
||||
// show altitude scale on the graph
|
||||
function plotScale() {
|
||||
// var TxtWidth = baroCtx.measureText(xAxis[0]).width;
|
||||
// var TxtHeight = baroCtx.measureText(xAxis[0]).height;
|
||||
var TxtHeight = 10;
|
||||
baroScaleCtx.strokeStyle="#c0c0c0"; // color of axis text
|
||||
baroScaleCtx.beginPath();
|
||||
// print parameters on X axis
|
||||
if (xAxis.length == X_lines) {
|
||||
for (i=0;i<X_lines;i++) {
|
||||
var x = i * xWidth / (X_lines-1);
|
||||
// baroScaleCtx.fillText(xAxis[i], x+margin-TxtWidth/2, margin+TxtHeight);
|
||||
baroScaleCtx.fillText(xAxis[i], x+margin, margin);
|
||||
}
|
||||
}
|
||||
// print parameters on Y axis
|
||||
var yStep = yHeight / (Y_lines-1);
|
||||
var yScaleStep = (Y_max - Y_min) / (Y_lines-1);
|
||||
for (i=0;i<Y_lines;i++) {
|
||||
baroScaleCtx.fillText(Math.round(Y_max - (i * yScaleStep)), margin, (i * yStep) + margin+X_legend+TxtHeight/2);
|
||||
}
|
||||
baroScaleCtx.stroke();
|
||||
}
|
||||
|
||||
// show grid lines on the graph
|
||||
function plotGrid() {
|
||||
baroCtx.strokeStyle="#808080"; // color of grid lines
|
||||
baroCtx.beginPath();
|
||||
for (i=0;i<=X_lines;i++) {
|
||||
var x = i * xWidth / (X_lines-1);
|
||||
baroCtx.moveTo(x, margin+X_legend);
|
||||
baroCtx.lineTo(x, yHeight+margin+X_legend);
|
||||
}
|
||||
for (i=0;i<=Y_lines;i++) {
|
||||
var y = i * yHeight / (Y_lines-1) + margin+X_legend;
|
||||
baroCtx.moveTo(0, y)
|
||||
baroCtx.lineTo(xWidth,y)
|
||||
}
|
||||
baroCtx.stroke();
|
||||
|
||||
// //avoid redrawing the grid every time - set the dynamic image as the background
|
||||
// var imageDataURL = baroCanvas.toDataURL();
|
||||
// baroCanvas.style.background = imageDataURL; // no work
|
||||
// $("#div_baro").css("background-image","url(imageDataURL)"); // no work either
|
||||
}
|
||||
|
||||
function baro_Init() {
|
||||
X_max = "12:00:00".toSeconds();
|
||||
X_min = "11:00:00".toSeconds();
|
||||
Y_max = maxAlt;
|
||||
Y_min = 0;
|
||||
|
||||
baroCanvas = document.getElementById("div_baro");
|
||||
baroCanvas.height = parseInt(document.getElementById("dbaro").offsetHeight, 10);
|
||||
baroCtx = baroCanvas.getContext("2d");
|
||||
baroCtx.fillStyle = "#808080"; // color of text
|
||||
baroCtx.font = "12px Arial";
|
||||
|
||||
baroScale = document.getElementById("div_baroScale");
|
||||
baroScale.height = parseInt(document.getElementById("dbaro").offsetHeight, 10);
|
||||
baroScaleCtx = baroScale.getContext("2d");
|
||||
baroScaleCtx.fillStyle = "#808080"; // color of text
|
||||
baroScaleCtx.font = "12px Arial";
|
||||
|
||||
baroMarker = document.getElementById("div_baroMark");
|
||||
baroMarker.height = parseInt(document.getElementById("dbaro").offsetHeight, 10);
|
||||
baroMarkCtx = baroMarker.getContext("2d");
|
||||
baroMarkCtx.fillStyle = "#808080"; // color of text
|
||||
baroMarkCtx.font = "12px Arial";
|
||||
|
||||
xWidth = baroCanvas.width;
|
||||
yHeight = baroCanvas.height - X_legend - 2*margin;
|
||||
|
||||
yScale = (yHeight) / (Y_max - Y_min);
|
||||
xScale = (xWidth) / (X_max - X_min);
|
||||
|
||||
plotScale();
|
||||
plotGrid();
|
||||
|
||||
// create a clipping region - simpler than checking X_min
|
||||
// baroCtx.beginPath();
|
||||
// baroCtx.rect(0, margin+X_legend, 0+xWidth, margin+X_legend+yHeight);
|
||||
// baroCtx.clip();
|
||||
}
|
||||
String.prototype.toSeconds = function () { if (!this) return null; var hms = this.split(':'); return (+hms[0]) * 60 * 60 + (+hms[1]) * 60 + (+hms[2] || 0); }
|
||||
|
||||
// plot a line with color and [x,y] array - rely on clipping region
|
||||
function baro_plotData(dCn,dColor,dataSet) {
|
||||
if (dataSet.length > 1) {
|
||||
// plot the altitude data
|
||||
baroCtx.strokeStyle=dColor; // color of line
|
||||
baroCtx.beginPath();
|
||||
baroCtx.moveTo((dataSet[0][0]-X_min) * xScale + X_offset, yHeight-(dataSet[0][1] * yScale) + Y_offset);
|
||||
for (i=1 ;i<dataSet.length;i++) {
|
||||
baroCtx.lineTo((dataSet[i][0]-X_min) * xScale + X_offset, yHeight -(dataSet[i][1] * yScale) + Y_offset);
|
||||
}
|
||||
baroCtx.stroke();
|
||||
|
||||
// plot the markers
|
||||
baroMarkCtx.fillStyle = dColor; // color of text
|
||||
baroMarkCtx.beginPath();
|
||||
baroMarkCtx.fillText(dCn, 0, yHeight -(dataSet[dataSet.length-1][1] * yScale) + Y_offset);
|
||||
baroMarkCtx.stroke();
|
||||
}
|
||||
}
|
||||
|
||||
function baro_plotRefresh() {
|
||||
xWidth = baroCanvas.width;
|
||||
yHeight = baroCanvas.height - X_legend - 2*margin;
|
||||
// update the time scale
|
||||
X_min = X_max - (pathl>60 ? 900 : pathl*10); // 5, 10 else 15 minutes
|
||||
xScale = (xWidth) / (X_max - X_min);
|
||||
// update the altitude scale
|
||||
var maxRange = maxAlt * m2ft[unit];
|
||||
// auto adjust the range
|
||||
// (unit == "i") ? maxRange = Math.ceil((maxRange+250)/2000)*2000 : maxRange = Math.ceil((maxRange+100)/1000)*1000; // 2000 ft or 1000 m increments
|
||||
(unit == "i") ? maxRange = Math.ceil((maxRange+500)/1000)*1000 : maxRange = Math.ceil((maxRange+250)/500)*500; // 1000 ft or 500 m increments
|
||||
if ((maxRange != Y_max) || (unit != currentUnit)) {
|
||||
currentUnit = unit;
|
||||
Y_max = maxRange;
|
||||
yScale = (yHeight) / (Y_max - Y_min) * m2ft[unit]; // adjust scale with unit here to avoid and extra multiply every y point
|
||||
// auto adjust the grid spacing
|
||||
// (unit == "i") ? Y_lines = (Y_max / 1000) + 1 : Y_lines = (Y_max / 500) + 1; // 1000 ft or 500 m grid steps
|
||||
(unit == "i") ? Y_lines = (Y_max / 1000) + 1 : Y_lines = (Y_max / 250) + 1; // 1000 ft or 250 m grid steps
|
||||
baroScaleCtx.clearRect(0, 0, baroScale.width, baroScale.height);
|
||||
plotScale();
|
||||
}
|
||||
// erase the plot (and grid)
|
||||
// baroCtx.clearRect(0, margin+X_legend, margin+X_legend+xWidth, margin+X_legend+yHeight);
|
||||
baroCtx.clearRect(0, 0, baroCanvas.width, baroCanvas.height);
|
||||
plotGrid(); // re-plot the grid
|
||||
// erase the markers
|
||||
baroMarkCtx.clearRect(0, 0, baroMarker.width, baroMarker.height);
|
||||
// reset the flag
|
||||
scaleFlag = 0;
|
||||
}
|
||||
|
||||
// set the time and altitude scales on the barogram
|
||||
function Set_XY_Scale(tim,alt) {
|
||||
if (scaleFlag++ == 0) { // use first item as a reference
|
||||
X_max = tim.toSeconds();
|
||||
maxAlt = +alt; // '+' used for conversion from string to integer
|
||||
} else {
|
||||
if (X_max < tim.toSeconds()) {
|
||||
X_max = tim.toSeconds();
|
||||
}
|
||||
if (maxAlt < +alt) {
|
||||
maxAlt = +alt;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,54 @@
|
|||
|
||||
/*
|
||||
* The ZoomControl adds horizontal [+/-] buttons for the map
|
||||
* to replace the standard vertical one
|
||||
*/
|
||||
|
||||
function ZoomControl(controlDiv, map) {
|
||||
|
||||
// Creating divs & styles for custom zoom control
|
||||
controlDiv.style.padding = '10px';
|
||||
|
||||
// Set CSS for the control wrapper
|
||||
var controlWrapper = document.createElement('div');
|
||||
controlWrapper.style.cursor = 'pointer';
|
||||
controlWrapper.style.width = '56px';
|
||||
controlWrapper.style.height = '28px';
|
||||
controlWrapper.style.backgroundImage = 'url("horizZoom.png")';
|
||||
controlDiv.appendChild(controlWrapper);
|
||||
|
||||
// Set CSS for the zoomIn
|
||||
var zoomInButton = document.createElement('div');
|
||||
zoomInButton.style.float = "left";
|
||||
zoomInButton.style.width = '28px';
|
||||
zoomInButton.style.height = '28px';
|
||||
controlWrapper.appendChild(zoomInButton);
|
||||
|
||||
// Set CSS for the zoomOut
|
||||
var zoomOutButton = document.createElement('div');
|
||||
zoomOutButton.style.float = "left";
|
||||
zoomOutButton.style.width = '28px';
|
||||
zoomOutButton.style.height = '28px';
|
||||
controlWrapper.appendChild(zoomOutButton);
|
||||
|
||||
// Setup the click event listener - zoomIn
|
||||
google.maps.event.addDomListener(zoomInButton, 'click', function() {
|
||||
map.setZoom(map.getZoom() + 1);
|
||||
});
|
||||
|
||||
// Setup the click event listener - zoomOut
|
||||
google.maps.event.addDomListener(zoomOutButton, 'click', function() {
|
||||
map.setZoom(map.getZoom() - 1);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function horizZoomControl_initialize() {
|
||||
// Create the DIV to hold the control and call the ZoomControl() constructor
|
||||
// passing in this DIV.
|
||||
var zoomControlDiv = document.createElement('div');
|
||||
var zoomControl = new ZoomControl(zoomControlDiv, map);
|
||||
|
||||
zoomControlDiv.index = 1;
|
||||
map.controls[google.maps.ControlPosition.TOP_CENTER].push(zoomControlDiv);
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
.ol-box{box-sizing:border-box;border-radius:2px;border:2px solid #00f}.ol-mouse-position{top:8px;right:8px;position:absolute}.ol-scale-line{background:rgba(0,60,136,.3);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid #eee;border-top:none;color:#eee;font-size:10px;text-align:center;margin:1px;will-change:contents,width}.ol-overlay-container{will-change:left,right,top,bottom}.ol-unsupported{display:none}.ol-unselectable,.ol-viewport{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.ol-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.ol-grab{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.ol-control{position:absolute;background-color:rgba(255,255,255,.4);border-radius:4px;padding:2px}.ol-control:hover{background-color:rgba(255,255,255,.6)}.ol-zoom{top:.5em;left:.5em}.ol-rotate{top:.5em;right:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{right:.5em;top:.5em}@media print{.ol-control{display:none}}.ol-control button{display:block;margin:1px;padding:0;color:#fff;font-size:1.14em;font-weight:700;text-decoration:none;text-align:center;height:1.375em;width:1.375em;line-height:.4em;background-color:rgba(0,60,136,.5);border:none;border-radius:2px}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;font-size:1.2em;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:focus,.ol-control button:hover{text-decoration:none;background-color:rgba(0,60,136,.7)}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;bottom:.5em;right:.5em;max-width:calc(100% - 1.3em)}.ol-attribution ul{margin:0;padding:0 .5em;font-size:.7rem;line-height:1.375em;color:#000;text-shadow:0 0 2px #fff}.ol-attribution li{display:inline;list-style:none;line-height:inherit}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button,.ol-attribution ul{display:inline-block}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution.ol-logo-only ul{display:block}.ol-attribution:not(.ol-collapsed){background:rgba(255,255,255,.8)}.ol-attribution.ol-uncollapsible{bottom:0;right:0;border-radius:4px 0 0;height:1.1em;line-height:1em}.ol-attribution.ol-logo-only{background:0 0;bottom:.4em;height:1.1em;line-height:1em}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-logo-only button,.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{top:4.5em;left:.5em;height:200px}.ol-zoomslider button{position:relative;height:10px}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{left:.5em;bottom:.5em}.ol-overviewmap.ol-uncollapsible{bottom:0;left:0;border-radius:0 4px 0 0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:inline-block}.ol-overviewmap .ol-overviewmap-map{border:1px solid #7b98bc;height:150px;margin:2px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:1px;left:2px;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:rgba(255,255,255,.8)}.ol-overviewmap-box{border:2px dotted rgba(0,60,136,.7)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}
|
|
@ -0,0 +1,247 @@
|
|||
/*
|
||||
____ _____ _ _ _ _ _ _ _
|
||||
/ __ \ / ____| (_) | | | \ | | | | | |
|
||||
| | | |_ __ ___ _ __ | | __| |_ __| | ___ _ __ | \| | ___| |___ _____ _ __| | __
|
||||
| | | | '_ \ / _ \ '_ \ | | |_ | | |/ _` |/ _ \ '__| | . ` |/ _ \ __\ \ /\ / / _ \| '__| |/ /
|
||||
| |__| | |_) | __/ | | | | |__| | | | (_| | __/ | | |\ | __/ |_ \ V V / (_) | | | <
|
||||
\____/| .__/ \___|_| |_| \_____|_|_|\__,_|\___|_| |_| \_|\___|\__| \_/\_/ \___/|_| |_|\_\
|
||||
| |
|
||||
|_|
|
||||
*/
|
||||
|
||||
html, body {
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#map_canvas {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
@media print {
|
||||
html, body {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
#map_canvas {
|
||||
height: 650px;
|
||||
}
|
||||
}
|
||||
|
||||
.yel {
|
||||
background: #FF9;
|
||||
}
|
||||
|
||||
.whi {
|
||||
background: #FFF;
|
||||
}
|
||||
|
||||
.lright {
|
||||
border-radius: 10px 0 10px 10px;
|
||||
top: 30px;
|
||||
right: 0px;
|
||||
}
|
||||
|
||||
.lleft {
|
||||
border-radius: 0 10px 10px 10px;
|
||||
left: 0px;
|
||||
top: 30px;
|
||||
}
|
||||
|
||||
.acright {
|
||||
border-radius: 10px 0 0 10px;
|
||||
top: 30px;
|
||||
right: 180px;
|
||||
}
|
||||
|
||||
.acleft {
|
||||
border-radius: 0 10px 10px 0;
|
||||
top: 30px;
|
||||
left: 180px;
|
||||
}
|
||||
|
||||
.baroright {
|
||||
border-radius: 10px 0 0 10px;
|
||||
top: 30px;
|
||||
right: 0px;
|
||||
}
|
||||
|
||||
.baroleft {
|
||||
border-radius: 0 10px 10px 0;
|
||||
top: 30px;
|
||||
left: 0px;
|
||||
}
|
||||
|
||||
.pr {
|
||||
float:right;
|
||||
}
|
||||
|
||||
#ac {
|
||||
position:absolute;
|
||||
display: none;
|
||||
color: black;
|
||||
background-color: white;
|
||||
border-color: black;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
font-size: 13px;
|
||||
line-height: 15px;
|
||||
font-weight: bold;
|
||||
padding: 5px;
|
||||
z-index:15;
|
||||
}
|
||||
|
||||
|
||||
.act {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.aca {
|
||||
color: #222;
|
||||
}
|
||||
|
||||
|
||||
.cgv {
|
||||
width: 20px;
|
||||
}
|
||||
|
||||
.cgn {
|
||||
width: 45px;
|
||||
font-family: "Times New Roman", Times, serif;
|
||||
font-style:normal;
|
||||
overflow: hidden;
|
||||
display: inline-block;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.cgc {
|
||||
width: 9px;
|
||||
}
|
||||
|
||||
.cga {
|
||||
width: 43px;
|
||||
font-family: "Times New Roman", Times, serif;
|
||||
font-style:normal;
|
||||
text-align: right;
|
||||
overflow: hidden;
|
||||
display: inline-block;
|
||||
white-space: nowrap;
|
||||
|
||||
}
|
||||
|
||||
|
||||
div.divInfoclass {
|
||||
text-decoration: none;
|
||||
color: black;
|
||||
background-color: white;
|
||||
font: small Arial;
|
||||
border: 1px solid black;
|
||||
padding: 2px;
|
||||
margin-bottom: 3px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#dlist {
|
||||
position:absolute;
|
||||
background-color: white;
|
||||
color: black;
|
||||
border-color: black;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
height: 90%;
|
||||
width: 180px;
|
||||
overflow: hidden;
|
||||
cursor: default;
|
||||
z-index:20;
|
||||
}
|
||||
|
||||
#dbaro {
|
||||
position:absolute;
|
||||
background-color: white;
|
||||
color: black;
|
||||
border-color: black;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
/* height: 605px; */
|
||||
height: 90%;
|
||||
width: 155px;
|
||||
overflow: hidden;
|
||||
cursor: default;
|
||||
z-index:18;
|
||||
}
|
||||
|
||||
#ett1 {
|
||||
height:25px;
|
||||
background-color: cyan;
|
||||
}
|
||||
|
||||
#ett2 {
|
||||
height:22px;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
#onoff {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
|
||||
#onoff b {
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
#dtable {
|
||||
position: absolute;
|
||||
top: 47px;
|
||||
bottom: 0px;
|
||||
left: 0px;
|
||||
right: 0px;
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
#popup {
|
||||
top:20%;
|
||||
left: 50%;
|
||||
margin-left: -150px;
|
||||
padding:20px;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
border: 1px solid #000000;
|
||||
background-color: white;
|
||||
display:none;
|
||||
position: fixed;
|
||||
z-index:99;
|
||||
overflow:hidden;
|
||||
-moz-border-radius: 20px;
|
||||
-webkit-border-radius: 20px;
|
||||
border-radius: 20px;
|
||||
-moz-box-shadow: 20px 20px 10px 0px #656565;
|
||||
-webkit-box-shadow: 20px 20px 10px 0px #656565;
|
||||
-o-box-shadow: 20px 20px 10px 0px #656565;
|
||||
box-shadow: 20px 20px 10px 0px #656565;
|
||||
filter:progid:DXImageTransform.Microsoft.Shadow(color=#656565, Direction=134, Strength=10);
|
||||
}
|
||||
|
||||
.tt {
|
||||
border-collapse:collapse;
|
||||
border-spacing: 0;
|
||||
}
|
||||
|
||||
.tt th,td {
|
||||
padding: 1px;
|
||||
}
|
||||
|
||||
.ol-zoom {
|
||||
left: 40%;
|
||||
top: 0px;
|
||||
}
|
||||
|
||||
.ol-control button {
|
||||
float: left
|
||||
}
|
||||
|
||||
.ol-rotate {
|
||||
visibility: hidden;
|
||||
}
|
Po Szerokość: | Wysokość: | Rozmiar: 767 B |
Po Szerokość: | Wysokość: | Rozmiar: 747 B |
Po Szerokość: | Wysokość: | Rozmiar: 740 B |
Po Szerokość: | Wysokość: | Rozmiar: 779 B |
Po Szerokość: | Wysokość: | Rozmiar: 888 B |
Po Szerokość: | Wysokość: | Rozmiar: 747 B |
Po Szerokość: | Wysokość: | Rozmiar: 1.3 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 985 B |
Po Szerokość: | Wysokość: | Rozmiar: 871 B |
Po Szerokość: | Wysokość: | Rozmiar: 181 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 16 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 16 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 34 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 31 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 1.1 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 1.9 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 4.6 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 1.0 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 117 B |
Po Szerokość: | Wysokość: | Rozmiar: 1.2 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 137 B |
Po Szerokość: | Wysokość: | Rozmiar: 137 B |
Po Szerokość: | Wysokość: | Rozmiar: 234 B |
Po Szerokość: | Wysokość: | Rozmiar: 852 B |
Po Szerokość: | Wysokość: | Rozmiar: 616 B |
Po Szerokość: | Wysokość: | Rozmiar: 3.8 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 1.8 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 1.6 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 1.3 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 1.1 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 963 B |
Po Szerokość: | Wysokość: | Rozmiar: 889 B |
Po Szerokość: | Wysokość: | Rozmiar: 12 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 1.1 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 896 B |
Po Szerokość: | Wysokość: | Rozmiar: 1013 B |
Po Szerokość: | Wysokość: | Rozmiar: 900 B |
Po Szerokość: | Wysokość: | Rozmiar: 895 B |
Po Szerokość: | Wysokość: | Rozmiar: 883 B |
Po Szerokość: | Wysokość: | Rozmiar: 871 B |
Po Szerokość: | Wysokość: | Rozmiar: 266 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 896 B |
Po Szerokość: | Wysokość: | Rozmiar: 1.0 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 884 B |
Po Szerokość: | Wysokość: | Rozmiar: 893 B |
Po Szerokość: | Wysokość: | Rozmiar: 4.1 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 957 B |
Po Szerokość: | Wysokość: | Rozmiar: 996 B |
Po Szerokość: | Wysokość: | Rozmiar: 866 B |
Po Szerokość: | Wysokość: | Rozmiar: 1.1 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 1.0 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 846 B |
Po Szerokość: | Wysokość: | Rozmiar: 534 B |
Po Szerokość: | Wysokość: | Rozmiar: 585 B |
Po Szerokość: | Wysokość: | Rozmiar: 899 B |
|
@ -0,0 +1,113 @@
|
|||
/**
|
||||
* Returns an XMLHttp instance to use for asynchronous
|
||||
* downloading. This method will never throw an exception, but will
|
||||
* return NULL if the browser does not support XmlHttp for any reason.
|
||||
* @return {XMLHttpRequest|Null}
|
||||
*/
|
||||
function createXmlHttpRequest() {
|
||||
try {
|
||||
if (typeof ActiveXObject != 'undefined') {
|
||||
return new ActiveXObject('Microsoft.XMLHTTP');
|
||||
} else if (window["XMLHttpRequest"]) {
|
||||
return new XMLHttpRequest();
|
||||
}
|
||||
} catch (e) {
|
||||
changeStatus(e);
|
||||
}
|
||||
return null;
|
||||
};
|
||||
|
||||
/**
|
||||
* This functions wraps XMLHttpRequest open/send function.
|
||||
* It lets you specify a URL and will call the callback if
|
||||
* it gets a status code of 200.
|
||||
* @param {String} url The URL to retrieve
|
||||
* @param {Function} callback The function to call once retrieved.
|
||||
*/
|
||||
function downloadUrl(url, callback) {
|
||||
var status = -1;
|
||||
var request = createXmlHttpRequest();
|
||||
if (!request) {
|
||||
return false;
|
||||
}
|
||||
|
||||
request.onreadystatechange = function() {
|
||||
if (request.readyState == 4) {
|
||||
try {
|
||||
status = request.status;
|
||||
} catch (e) {
|
||||
// Usually indicates request timed out in FF.
|
||||
}
|
||||
if (status == 200) {
|
||||
callback(request.responseXML, request.status);
|
||||
request.onreadystatechange = function() {};
|
||||
}
|
||||
}
|
||||
}
|
||||
request.open('GET', url, true);
|
||||
try {
|
||||
request.send(null);
|
||||
} catch (e) {
|
||||
changeStatus(e);
|
||||
}
|
||||
};
|
||||
|
||||
function downloadUrltxt(url, callback) {
|
||||
var status = -1;
|
||||
var request = createXmlHttpRequest();
|
||||
if (!request) {
|
||||
return false;
|
||||
}
|
||||
|
||||
request.onreadystatechange = function() {
|
||||
if (request.readyState == 4) {
|
||||
try {
|
||||
status = request.status;
|
||||
} catch (e) {
|
||||
// Usually indicates request timed out in FF.
|
||||
}
|
||||
if (status == 200) {
|
||||
callback(request.responseText, request.status);
|
||||
request.onreadystatechange = function() {};
|
||||
}
|
||||
}
|
||||
}
|
||||
request.open('GET', url, true);
|
||||
try {
|
||||
request.send(null);
|
||||
} catch (e) {
|
||||
changeStatus(e);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Parses the given XML string and returns the parsed document in a
|
||||
* DOM data structure. This function will return an empty DOM node if
|
||||
* XML parsing is not supported in this browser.
|
||||
* @param {string} str XML string.
|
||||
* @return {Element|Document} DOM.
|
||||
*/
|
||||
function xmlParse(str) {
|
||||
if (typeof ActiveXObject != 'undefined' && typeof GetObject != 'undefined') {
|
||||
var doc = new ActiveXObject('Microsoft.XMLDOM');
|
||||
doc.loadXML(str);
|
||||
return doc;
|
||||
}
|
||||
|
||||
if (typeof DOMParser != 'undefined') {
|
||||
return (new DOMParser()).parseFromString(str, 'text/xml');
|
||||
}
|
||||
|
||||
return createElement('div', null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Appends a JavaScript file to the page.
|
||||
* @param {string} url
|
||||
*/
|
||||
function downloadScript(url) {
|
||||
var script = document.createElement('script');
|
||||
script.src = url;
|
||||
document.body.appendChild(script);
|
||||
}
|