var blob=JSON.parse(data) var arma=blob.arma var stud=JSON.parse('{}'); var vectorLayerDynamic = new OpenLayers.Layer.Vector('Overlay',{attribution:'Brmlab'}); map.addLayer(vectorLayerDynamic); var studlay = new OpenLayers.Layer.Vector("Overlay",{attribution:"Brmlab"}); // 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" 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[i].name+""},{'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) { var r="" if(document.getElementById("reg").value!="ALL") r=document.getElementById("reg").value else { r=a[i].regnum for(var e=i;e>=0 && a[e].locus==a[i].locus;e--) if(a[e].regnum!=a[i].regnum) { r="ALL"; break; } } switch (r) { case "Animalia": 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="" clasel.innerHTML="" ordsel.innerHTML="" famsel.innerHTML="" gensel.innerHTML="" spesel.innerHTML="" var phyarr=[] for (var i=0;i" continue } if(phyarr[i]!=phyarr[i-1]) physel.innerHTML+="" } armageddon() // Populate the map with monsters... } function gencla() { clasel.innerHTML="" ordsel.innerHTML="" famsel.innerHTML="" gensel.innerHTML="" spesel.innerHTML="" var claarr=[] for (var i=0;i" continue } if(claarr[i]!=claarr[i-1]) clasel.innerHTML+="" } armageddon() // Populate the map with monsters... } function genord() { ordsel.innerHTML="" famsel.innerHTML="" gensel.innerHTML="" spesel.innerHTML="" var ordarr=[] for (var i=0;i" continue } if(ordarr[i]!=ordarr[i-1]) ordsel.innerHTML+="" } armageddon() // Populate the map with monsters... } function genfam() { famsel.innerHTML="" gensel.innerHTML="" spesel.innerHTML="" var famarr=[] for (var i=0;i" continue } if(famarr[i]!=famarr[i-1]) famsel.innerHTML+="" } armageddon() // Populate the map with monsters... } function gengen() { gensel.innerHTML="" spesel.innerHTML="" var genarr=[] for (var i=0;i" continue } if(genarr[i]!=genarr[i-1]) gensel.innerHTML+="" } //genspe() // ...and here we go armageddon() // Populate the map with monsters... } function genspe() { spesel.innerHTML="" var spearr=[] for (var i=0;i" continue } if(spearr[i]!=spearr[i-1]) spesel.innerHTML+="" } 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' if(a[i].obr != "") spoj+='' else spoj+='' spoj+=""+a[i].qualis+"
"+a[i].quando+"" spoj+="" ox=a[i].x oy=a[i].y continue; } if(a[i].specie=="sp.") wikisp="https://en.wikipedia.org/wiki/"+a[i].genus else wikisp="https://en.wikipedia.org/wiki/"+a[i].genus+" "+a[i].specie // 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':""+spoj+"
"},{'externalGraphic':spojicon,'graphicHeight':24,'graphicWidth':24,'graphicXOffset':-12,'graphicYOffset':-12}); vectorLayerDynamic.addFeatures(n[i]); spoj="" sam="" } bylo=a[i].locus spoj='' if(a[i].obr != "") spoj+='' else spoj+='' spoj+=''+a[i].qualis+'
'+a[i].quando+'' spoj+="" sam=''+a[i].qualis+'' sam+='
' sam+='Qualis: '+a[i].qualis+'
' if(a[i].imperium != "") sam+='Imperium: '+a[i].imperium+'
' if(a[i].regnum != "") sam+='Regnum: '+a[i].regnum+'
' if(a[i].phylum != "") sam+='Phylum: '+a[i].phylum+'
' if(a[i].classis != "") sam+='Classis: '+a[i].classis+'
' if(a[i].ordo != "") sam+='Ordo: '+a[i].ordo+'
' if(a[i].familia != "") sam+='Familia: '+a[i].familia+'
' if(a[i].genus != "") sam+='Genus: '+a[i].genus+'
' if(a[i].specie != "") sam+='Specie: '+a[i].specie+'
' if(a[i].bio != "") sam+="Biotope: "+a[i].bio+"
" if(a[i].quando != "") sam+="Quando: "+a[i].quando+"
" sam+="Locus: "+a[i].locus+" ("+a[i].locplain+")
" if(a[i].spec != "") sam+="Spectator: "+a[i].spec+"
" if(a[i].micro != "") sam+="Microscopium: "+a[i].micro+" ("+a[i].microtyp+")
" if(a[i].amp != "") sam+="Amplificatio: "+a[i].amp+"
" /* if [[ "$des" != "" ]]; then # sam="$samDepictio: $des
" # fi */ if(a[i].vid != "") sam+='Video: '+a[i].vid+'
' sam+="
" 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=''+spoj+'
' 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,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, '
'+feature.attributes.description+'
', 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; } // Run armageddon on initial load armageddon()