window.blob=JSON.parse('{}');
window.arma=null;
//
// MAIN LOAD START HERE
// https://web.archive.org/web/20200502112446/http://dev.openlayers.org/releases/OpenLayers-2.13.1/doc/apidocs/files/OpenLayers-js.html
//
//
function getJSONbioosm()
{
url="./bioosm.json";
var request;
if(window.XMLHttpRequest)
request=new XMLHttpRequest();
else
request=new ActiveXObject("Microsoft.XMLHTTP");
request.onreadystatechange=function()
{
if(request.readyState==4)
{
window.blob=JSON.parse(request.responseText);
window.arma=blob.arma;
// Display ONLY platyhelminthes if reguired
pus=document.URL.match(/platyhelminthes=understone/);
if(pus)
plostenkoidy();
else
// Else initial load
armageddon()
}
}
request.open("GET",url,true);
request.send();
}
wat=document.URL.match(/(index.htm)|(bioosm\/$)/);
if(wat)
getJSONbioosm();
var stud=JSON.parse('{}');
var vectorLayerDynamic = new OpenLayers.Layer.Vector('Overlay',{attribution:'<a href="http://brmlab.cz">Brmlab</a>'});
var vectorLayerPonygon = new OpenLayers.Layer.Vector('Overlay',{attribution:'<a href="http://brmlab.cz">Brmlab</a>'});
map.addLayer(vectorLayerPonygon);
map.addLayer(vectorLayerDynamic);
//map.setLayerZIndex(vectorLayerDynamic,999);
//map.raiseLayer(vectorLayerDynamic,map.layers.length);
var studlay = new OpenLayers.Layer.Vector("Overlay",{attribution:"<a href=\"http://brmlab.cz\">Brmlab</a>"}); // studanky
map.addLayer(studlay);
var regsel=document.getElementById("reg")
var physel=document.getElementById("phy")
var clasel=document.getElementById("cla")
var ordsel=document.getElementById("ord")
var famsel=document.getElementById("fam")
var gensel=document.getElementById("gen")
var spesel=document.getElementById("spe")
var ICON_animalia="animalia.png"
var ICON_bacteria="bacteria.png"
var ICON_fungi="fungi.png"
var ICON_chromista="chromista.png"
var ICON_plantae="plantae.svg"
var ICON_plostenkoid="plostenkoid.png"
var ICON_protista="protista.png"
var ICON_biohazard="biohazard.svg"
var ICON_studanka="studanka.png"
var ICON_negative="negative.png"
function getJSONcsop21()
{
url="./CSOP_122123.json";
var request;
if(window.XMLHttpRequest)
request=new XMLHttpRequest();
else
request=new ActiveXObject("Microsoft.XMLHTTP");
request.onreadystatechange=function()
{
if(request.readyState==4)
{
window.blob=JSON.parse(request.responseText);
window.arma=blob.arma;
armageddon()
}
}
request.open("GET",url,true);
request.send();
}
function getJSONcsop22()
{
url="./CSOP_122210.json";
var request;
if(window.XMLHttpRequest)
request=new XMLHttpRequest();
else
request=new ActiveXObject("Microsoft.XMLHTTP");
request.onreadystatechange=function()
{
if(request.readyState==4)
{
window.blob=JSON.parse(request.responseText);
window.arma=blob.arma;
armageddon()
}
}
request.open("GET",url,true);
request.send();
}
function getJSONexfissgtig()
{
url="./none_exfiss_gtig.json";
var request;
if(window.XMLHttpRequest)
request=new XMLHttpRequest();
else
request=new ActiveXObject("Microsoft.XMLHTTP");
request.onreadystatechange=function()
{
if(request.readyState==4)
{
window.blob=JSON.parse(request.responseText);
window.arma=blob.arma;
armageddon()
}
}
request.open("GET",url,true);
request.send();
}
function getJSONempb22()
{
url="./EPMB2022.json"; // jo preklep kurva
var request;
if(window.XMLHttpRequest)
request=new XMLHttpRequest();
else
request=new ActiveXObject("Microsoft.XMLHTTP");
request.onreadystatechange=function()
{
if(request.readyState==4)
{
window.blob=JSON.parse(request.responseText);
window.arma=blob.arma;
armageddon()
}
}
request.open("GET",url,true);
request.send();
}
function getJSONparas()
{
url="./parasitology.json"; // jo preklep kurva
var request;
if(window.XMLHttpRequest)
request=new XMLHttpRequest();
else
request=new ActiveXObject("Microsoft.XMLHTTP");
request.onreadystatechange=function()
{
if(request.readyState==4)
{
window.blob=JSON.parse(request.responseText);
window.arma=blob.arma;
armageddon()
}
}
request.open("GET",url,true);
request.send();
}
function getJSONstud()
{
url="./stud.json";
var request;
if(window.XMLHttpRequest)
request=new XMLHttpRequest();
else
request=new ActiveXObject("Microsoft.XMLHTTP");
request.onreadystatechange=function()
{
if(request.readyState==4)
{
stud=JSON.parse(request.responseText);
studdraw(stud);
}
}
request.open("GET",url,true);
request.send();
}
function studdraw(sj)
{
studlay.destroyFeatures();
sjs=stud.std;
s=[];
for(i=0;i<sjs.length;i++)
{
s[i] = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(sjs[i].lon,sjs[i].lat).transform(epsg4326,projectTo),{'description':"<table class=\"hadtbl\">"+sjs[i].name+"</table>"},{'externalGraphic':ICON_studanka,'graphicHeight':24,'graphicWidth':24,'graphicXOffset':-12,'graphicYOffset':-12});
studlay.addFeatures(s[i]);
}
}
function studdrv()
{
box=document.getElementById("studchecker");
if(box.checked)
getJSONstud();
else
studlay.destroyFeatures();
}
// Return icon by Regnum
function geticon (a,i)
{
if(a[i].genus=="negative")
return ICON_negative;
var p=true;
var r=""
if(document.getElementById("reg").value!="ALL")
{
r=document.getElementById("reg").value
p=false;
}
else
{
r=a[i].regnum
for(var e=i;e>=0 && a[e].locality==a[i].locality;e--)
{
if(a[e].phylum!="Platyhelminthes")
p=false;
if(a[e].regnum!=a[i].regnum)
{
r="ALL";
break;
}
}
}
switch (r)
{
case "Animalia":
{
if(p)
return ICON_plostenkoid;
return ICON_animalia;
}
case "Bacteria":
return ICON_bacteria;
case "Fungi":
return ICON_fungi;
case "Chromista":
return ICON_chromista;
case "Plantae":
return ICON_plantae;
case "Protista":
return ICON_protista;
default:
return ICON_biohazard
}
}
function genphy() {
physel.innerHTML="<option>ALL</option>"
clasel.innerHTML="<option>ALL</option>"
ordsel.innerHTML="<option>ALL</option>"
famsel.innerHTML="<option>ALL</option>"
gensel.innerHTML="<option>ALL</option>"
spesel.innerHTML="<option>ALL</option>"
var phyarr=[]
for (var i=0;i<window.arma.length-1;i++)
{
if(regsel.value==window.arma[i].regnum && window.arma[i].phynum!="")
phyarr.push(window.arma[i].phylum)
}
phyarr.sort()
for (var i=0;i<phyarr.length;i++)
{
if(i==0)
{
physel.innerHTML+="<option>"+phyarr[0]+"</option>"
continue
}
if(phyarr[i]!=phyarr[i-1])
physel.innerHTML+="<option>"+phyarr[i]+"</option>"
}
armageddon() // Populate the map with monsters...
}
function gencla() {
clasel.innerHTML="<option>ALL</option>"
ordsel.innerHTML="<option>ALL</option>"
famsel.innerHTML="<option>ALL</option>"
gensel.innerHTML="<option>ALL</option>"
spesel.innerHTML="<option>ALL</option>"
var claarr=[]
for (var i=0;i<window.arma.length-1;i++)
{
if(physel.value==window.arma[i].phylum && window.arma.classis!="")
claarr.push(window.arma[i].classis)
}
claarr.sort()
for (var i=0;i<claarr.length;i++)
{
if(i==0)
{
clasel.innerHTML+="<option>"+claarr[0]+"</option>"
continue
}
if(claarr[i]!=claarr[i-1])
clasel.innerHTML+="<option>"+claarr[i]+"</option>"
}
armageddon() // Populate the map with monsters...
}
function genord() {
ordsel.innerHTML="<option>ALL</option>"
famsel.innerHTML="<option>ALL</option>"
gensel.innerHTML="<option>ALL</option>"
spesel.innerHTML="<option>ALL</option>"
var ordarr=[]
for (var i=0;i<window.arma.length-1;i++)
{
if(clasel.value==window.arma[i].classis && window.arma[i].ordo!="")
ordarr.push(window.arma[i].ordo)
}
ordarr.sort()
for (var i=0;i<ordarr.length;i++)
{
if(i==0)
{
ordsel.innerHTML+="<option>"+ordarr[0]+"</option>"
continue
}
if(ordarr[i]!=ordarr[i-1])
ordsel.innerHTML+="<option>"+ordarr[i]+"</option>"
}
armageddon() // Populate the map with monsters...
}
function genfam() {
famsel.innerHTML="<option>ALL</option>"
gensel.innerHTML="<option>ALL</option>"
spesel.innerHTML="<option>ALL</option>"
var famarr=[]
for (var i=0;i<window.arma.length-1;i++)
{
if(ordsel.value==window.arma[i].ordo && window.arma[i].familia!="")
famarr.push(window.arma[i].familia)
}
famarr.sort()
for (var i=0;i<famarr.length;i++)
{
if(i==0)
{
famsel.innerHTML+="<option>"+famarr[0]+"</option>"
continue
}
if(famarr[i]!=famarr[i-1])
famsel.innerHTML+="<option>"+famarr[i]+"</option>"
}
armageddon() // Populate the map with monsters...
}
function gengen() {
gensel.innerHTML="<option>ALL</option>"
spesel.innerHTML="<option>ALL</option>"
var genarr=[]
for (var i=0;i<window.arma.length-1;i++)
{
if(famsel.value==window.arma[i].familia && window.arma[i].genus!="")
genarr.push(window.arma[i].genus)
}
genarr.sort()
for (var i=0;i<genarr.length;i++)
{
if(i==0)
{
gensel.innerHTML+="<option>"+genarr[0]+"</option>"
continue
}
if(genarr[i]!=genarr[i-1])
gensel.innerHTML+="<option>"+genarr[i]+"</option>"
}
//genspe() // ...and here we go
armageddon() // Populate the map with monsters...
}
function genspe()
{
spesel.innerHTML="<option>ALL</option>"
var spearr=[]
for (var i=0;i<window.arma.length-1;i++)
{
if(gensel.value==window.arma[i].genus && window.arma[i].specie!="")
spearr.push(window.arma[i].specie)
}
spearr.sort()
for (var i=0;i<spearr.length;i++)
{
if(i==0)
{
spesel.innerHTML+="<option>"+spearr[0]+"</option>"
continue
}
if(spearr[i]!=spearr[i-1])
spesel.innerHTML+="<option>"+spearr[i]+"</option>"
}
armageddon() // Populate the map with monsters...
}
function armageddon()
{
var speval=document.getElementById("spe").value
var genval=document.getElementById("gen").value
var famval=document.getElementById("fam").value
var ordval=document.getElementById("ord").value
var claval=document.getElementById("cla").value
var phyval=document.getElementById("phy").value
var regval=document.getElementById("reg").value
var a=[]
if(speval!="ALL")
{
for(var i=0;i<window.arma.length-1;i++)
if(window.arma[i].specie==speval && window.arma[i].genus==genval) // Check genus because of unknown "sp."
a.push(window.arma[i])
}
else if(genval!="ALL")
{
for(var i=0;i<window.arma.length-1;i++)
if(window.arma[i].genus==genval)
a.push(window.arma[i])
}
else if(famval!="ALL")
{
for(var i=0;i<window.arma.length-1;i++)
if(window.arma[i].familia==famval)
a.push(window.arma[i])
}
else if(ordval!="ALL")
{
for(var i=0;i<window.arma.length-1;i++)
if(window.arma[i].ordo==ordval)
a.push(window.arma[i])
}
else if(claval!="ALL")
{
for(var i=0;i<window.arma.length-1;i++)
if(window.arma[i].classis==claval)
a.push(window.arma[i])
}
else if(phyval!="ALL")
{
for(var i=0;i<window.arma.length-1;i++)
if(window.arma[i].phylum==phyval)
a.push(window.arma[i])
}
else if(regval!="ALL")
{
for(var i=0;i<window.arma.length-1;i++)
if(window.arma[i].regnum==regval)
a.push(window.arma[i])
}
else // Regnum: ALL
{
for(var i=0;i<window.arma.length-1;i++)
a.push(window.arma[i])
}
icongeddon(a)
}
function buggy()
{
var p=[]
for(var i=0;i<window.arma.length-1;i++)
{
if(window.arma[i].regnum==""||
window.arma[i].phylum==""||
window.arma[i].classis==""||
window.arma[i].ordo==""||
window.arma[i].familia==""||
window.arma[i].genus=="")
p.push(window.arma[i])
}
icongeddon(p)
}
function plostenkoidy()
{
var p=[]
for(var i=0;i<window.arma.length-1;i++)
{
if(window.arma[i].phylum=="Platyhelminthes")
p.push(window.arma[i])
}
icongeddon(p)
}
function icongeddon(a)
{
//alert(a.length) // #thingies to show in the map'
while(map.popups.length)
map.removePopup(map.popups[0])
vectorLayerDynamic.destroyFeatures()
var bylo="" // Minula pozice
var sam="" // HTML samostatneho zaznamu
var osam="" // predchozi $sam
var spoj="" // HTML had z popisu stejnych pozic
var ospoj="" // Predchozi spoj
var ox="" // Old X
var oy="" // Old Y
var datelog="" // Entries sorted by date for plaintext log
var i=0 // Iterator over a[] (needed after FOR)
var n=[] // New points in the layer
var muchicons=0 // How much Regnum's?
var samicon=ICON_biohazard // Icon
var spojicon=ICON_biohazard // Icon
for(;i<a.length;i++) // -1 fix for last empty entry
{
if(a[i].cluster!=0&&a[i].mainpic!="y") // show only in gallery, without icon in map
continue;
// Pokracujem v hadovi
if(a[i].locality == bylo)
{
sam="";
spoj+="<tr><td>"
spoj+='<a href="./det/'+a[i].detid+'.htm" target="_blank">'
if(a[i].obr != "")
spoj+='<img src="./simg/'+a[i].obr+'" class="hadimg"></a></td>'
else
spoj+='<img src=./"'+ICON_biohazard+'" class="hadimg"></a></td>'
spoj+="<td>"+a[i].title+"<br>"+a[i].takendate+"</td>"
spoj+="</tr>"
ox=a[i].x
oy=a[i].y
continue;
}
switch(a[i].specie)
{
case "sp.":
{
wikisp="https://en.wikipedia.org/wiki/"+a[i].genus
break;
}
case "negative":
case "":
{
wikisp="https://en.wikipedia.org/wiki/Null_result"
break;
}
default:
{
wikisp="https://en.wikipedia.org/wiki/"+a[i].genus+" "+a[i].specie
break;
}
}
// Bud prvni zaznam, nebo zmena pozice
// Predchozi pozice jen 1 zaznam?
if(sam != "")
{
samicon=geticon(a,i-1)
n[i] = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(ox,oy).transform(epsg4326,projectTo),{'description':sam},{'externalGraphic':samicon,'graphicHeight':24,'graphicWidth':24,'graphicXOffset':-12,'graphicYOffset':-12});
vectorLayerDynamic.addFeatures(n[i]);
spoj=""
sam=""
} // ELSE vytvori prazdny radek
// Predchozi pozice vic zaznamu?
if(spoj!="")
{
spojicon=geticon(a,i-1)
n[i] = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(ox,oy).transform(epsg4326,projectTo),{'description':"<table class=\"hadtbl\">"+spoj+"</table>"},{'externalGraphic':spojicon,'graphicHeight':24,'graphicWidth':24,'graphicXOffset':-12,'graphicYOffset':-12});
vectorLayerDynamic.addFeatures(n[i]);
spoj=""
sam=""
}
bylo=a[i].locality
spoj='<tr><td><a href="./det/'+a[i].detid+'.htm" target="_blank">'
if(a[i].obr != "")
spoj+='<img src="./simg/'+a[i].obr+'" class="hadimg"></a></td>'
else
spoj+='<img src="./'+geticon(a,i)+'" class="hadimg"</a></td>'
spoj+='<td>'+a[i].title+'<br>'+a[i].takendate+'</td>'
spoj+="</tr>"
sam='<a href="./det/'+a[i].detid+'.htm" target="_blank"><img src="'+(a[i].genus=='negative'?ICON_negative:'./simg/'+a[i].obr)+'" alt="'+a[i].title+'" class="buttimg"></a>'
sam+='<br><span class="butttext">'
sam+='<a href="'+wikisp+'" target="_blank">'+(a[i].title=="negative"?"Negative observation":a[i].title)+'</a><br>'
if(a[i].imperium != "")
sam+='<b>Domain:</b> <a href="https://en.wikipedia.org/wiki/'+a[i].imperium+'" target="_blank">'+a[i].imperium+'</a><br>'
if(a[i].regnum != "")
sam+='<b>Kingdom:</b> <a href="https://en.wikipedia.org/wiki/'+a[i].regnum+'" target="_blank">'+a[i].regnum+'</a><br>'
if(a[i].phylum != "")
sam+='<b>Phylum:</b> <a href="https://en.wikipedia.org/wiki/'+a[i].phylum+'" target="_blank">'+a[i].phylum+'</a><br>'
if(a[i].classis != "")
sam+='<b>Class:</b> <a href="https://en.wikipedia.org/wiki/'+a[i].classis+'" target="_blank">'+a[i].classis+'</a><br>'
if(a[i].ordo != "")
sam+='<b>Order:</b> <a href="https://en.wikipedia.org/wiki/'+a[i].ordo+'" target="_blank">'+a[i].ordo+'</a><br>'
if(a[i].familia != "")
sam+='<b>Family:</b> <a href="https://en.wikipedia.org/wiki/'+a[i].familia+'" target="_blank">'+a[i].familia+'</a><br>'
if(a[i].genus != "" && a[i].genus!="negative")
sam+='<b>Genus:</b> <a href="https://en.wikipedia.org/wiki/'+a[i].genus+'" target="_blank">'+a[i].genus+'</a><br>'
if(a[i].specie != "")
sam+='<b>Species:</b> <a href="'+wikisp+'" target="_blank">'+a[i].specie+'</a><br>'
if(a[i].biotope != "")
sam+="<b>Biotope:</b> "+a[i].biotope+"<br>"
if(a[i].pov != "")
sam+="<b>River:</b> "+a[i].pov+"<br>"
if(a[i].temperature != "")
sam+="<b>Temperature:</b> "+a[i].temperature+" °C<br>"
if(a[i].pov != "")
sam+="<b>Conductivity:</b> "+a[i].conductivity+" mSv<br>"
if(a[i].pov != "")
sam+="<b>pH:</b> "+a[i].ph+"<br>"
if(a[i].takendate != "")
sam+="<b>Date:</b> "+a[i].takendate+"<br>"
sam+="<b>Location:</b> "+a[i].locality+" ("+a[i].locplain+")<br>"
if(a[i].observer != "")
sam+="<b>Spectator:</b> "+a[i].observer+"<br>"
if(a[i].micro != "")
sam+="<b>Microscope:</b> "+a[i].micro+" ("+a[i].microtyp+")<br>"
if(a[i].enlargement != "")
sam+="<b>Amplification:</b> "+a[i].enlargement+"<br>"
/* if [[ "$des" != "" ]]; then
# sam="$sam<b>Depictio:</b> $des<br>"
# fi */
//if(a[i].videolink != "")
// sam+='<b>Video:</b> <a href="'+a[i].videolink+'" target="_blank">'+a[i].videolink+'</a><br>'
sam+="</span>"
ox=a[i].x
oy=a[i].y
} // Konec prochazeni a[]
// Do not forget to print last line when FOR ends!
samicon=geticon(a,i-1)
if(sam == "")
sam='<table style="hadtbl">'+spoj+'</table>'
n[i]=new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(a[i-1].x,a[i-1].y).transform(epsg4326,projectTo),{description:"'"+sam+"'"},{externalGraphic:samicon,graphicHeight:24,graphicWidth:24,graphicXOffset:-12,graphicYOffset:-12});
vectorLayerDynamic.addFeatures(n[i]);
} // Konec armageddonu
//var laycon = [vectorLayer,vectorLayerPonygon,vectorLayerDynamic,studlay];
var laycon = [vectorLayer,vectorLayerDynamic,studlay];
var controls = {selector: new OpenLayers.Control.SelectFeature(laycon, { onSelect: createPopup, onUnselect: destroyPopup })};
map.addControl(controls['selector']);
controls['selector'].activate();
function createPopup(feature)
{
feature.popup = new OpenLayers.Popup.FramedCloud('pop',
feature.geometry.getBounds().getCenterLonLat(),
null,
'<div class="markerContent">'+feature.attributes.description+'</div>',
null,
false, // Close button?
function() { controls['selector'].unselectAll(); }
);
//feature.popup.closeOnMove = true;
map.addPopup(feature.popup);
}
function destroyPopup(feature) {
feature.popup.destroy();
feature.popup = null;
}
// Vyhledavani
function limit()
{
srch=document.getElementById("srch").value.toLowerCase();
var p=[]
for(var i=0;i<window.arma.length-1;i++)
{
if(window.arma[i].title.toLowerCase().indexOf(srch)>=0||
window.arma[i].imperium.toLowerCase().indexOf(srch)>=0||
window.arma[i].regnum.toLowerCase().indexOf(srch)>=0||
window.arma[i].phylum.toLowerCase().indexOf(srch)>=0||
window.arma[i].classis.toLowerCase().indexOf(srch)>=0||
window.arma[i].ordo.toLowerCase().indexOf(srch)>=0||
window.arma[i].familia.toLowerCase().indexOf(srch)>=0||
//window.arma[i].genus.toLowerCase().indexOf(srch)>=0|| // v "qualis"
//window.arma[i].observerie.toLowerCase().indexOf(srch)>=0||
window.arma[i].locplain.toLowerCase().indexOf(srch)>=0||
window.arma[i].description.toLowerCase().indexOf(srch)>=0||
window.arma[i].takendate.toLowerCase().indexOf(srch)>=0||
window.arma[i].micro.toLowerCase().indexOf(srch)>=0||
window.arma[i].microtyp.toLowerCase().indexOf(srch)>=0||
window.arma[i].biotope.toLowerCase().indexOf(srch)>=0||
window.arma[i].pov.toLowerCase().indexOf(srch)>=0)
p.push(arma[i])
}
icongeddon(p)
}
// ====== GEOJSON ======
var metageo=JSON.parse("{}");
var geje=[];
var gejbarva="";
function placegeo(coor,gejbarva)
{
var geja=new Array;
epsg4326 = new OpenLayers.Projection("EPSG:4326"); //WGS 1984 projection
projectTo = map.getProjectionObject();
for(i=0;i<coor.length;i++)
{
geja.push(new OpenLayers.Geometry.Point(coor[i][0],coor[i][1]).transform(epsg4326, projectTo))
}
/* "default" namespaces work for Layers, not Features
var lajna=new OpenLayers.StyleMap({
"default": new OpenLayers.Style({
//strokeColor: "#FF0000",
strokeColor: gejbarva,
strokeOpacity: 1,
strokeWidth: 5,
pointRadius: 6,
}),
"select": new OpenLayers.Style({
//strokeColor: "#0000FF",
strokeColor: gejbarva,
strokeOpacity: 1,
strokeWidth: 5,
pointRadius: 6,
})
}); */
var lajna={ // Feature without the namespaces
strokeColor: gejbarva,
strokeOpacity: 1,
strokeWidth: 5,
pointRadius: 6,
};
gejs=new OpenLayers.Geometry.LineString(geja);
vectorLayerPonygon.addFeatures([new OpenLayers.Feature.Vector(gejs,{},lajna)]);
}
function getsld(url,s,g)
{
var request;
if(window.XMLHttpRequest)
request=new XMLHttpRequest();
else
request=new ActiveXObject("Microsoft.XMLHTTP");
request.overrideMimeType("text/plain");
request.onreadystatechange=function()
{
if(request.readyState==4)
{
tmpc=request.responseText;
tmpc=tmpc.match(/SvgParameter name="stroke">#[0-9a-fA-F]*<\/se:SvgParameter/)[0].match(/#[0-9a-fA-F]*/)[0];
getgeo(url,g,tmpc);
//console.log(tmpc);
}
}
request.open("GET",url+s,true);
request.send();
}
function getgeo(url,g,c)
{
var request;
if(window.XMLHttpRequest)
request=new XMLHttpRequest();
else
request=new ActiveXObject("Microsoft.XMLHTTP");
request.overrideMimeType("application/geo+json");
request.onreadystatechange=function()
{
if(request.readyState==4)
{
tmpg=JSON.parse(request.responseText);
for(var e=0;e<tmpg.features.length;e++)
{
if(typeof tmpg.features[e].properties === 'undefined') // || tmpg.features[e].properties.osm_type!="way")
continue;
for(var i=0;i<tmpg.features[e].geometry.coordinates.length;i++)
{
for(var j=0;j<tmpg.features[e].geometry.coordinates[i].length;j++)
{
if(tmpg.features[e].geometry.coordinates[i][j].length<2)
continue;
//console.log(tmpg.features[e].properties.osm_type+" "+tmpg.features[e].geometry.coordinates[i][j].length);
placegeo(tmpg.features[e].geometry.coordinates[i][j],c);
}
}
}
}
}
request.open("GET",url+g,true);
request.send();
}
// ENTRY POINT
// parametr je ./ adresar ve kterem je metadata.json S LOMITKEM NA KONCI
function drawgeojson(url)
{
var request;
if(window.XMLHttpRequest)
request=new XMLHttpRequest();
else
request=new ActiveXObject("Microsoft.XMLHTTP");
request.onreadystatechange=function()
{
if(request.readyState==4)
{
window.metageo=JSON.parse(request.responseText);
for(var i=0;i<metageo.layers.length;i++)
{
//console.log(metageo.layers[i].geojson);
getsld(url,metageo.layers[i].sld,metageo.layers[i].geojson)
}
}
}
request.open("GET",url+"metadata.json",true);
request.send();
}