Y-SLD/assets/playkit/js/map-share-1da26db000.js

3 lines
70 KiB
JavaScript
Raw Normal View History

2024-03-01 11:23:55 +00:00
function simpleheat(e){return this instanceof simpleheat?(this._canvas=e="string"==typeof e?document.getElementById(e):e,this._ctx=e.getContext("2d"),this._width=e.width,this._height=e.height,this._max=1,void(this._data=[])):new simpleheat(e)}function toWKT(e){var t,n,r=[];if(e instanceof L.Polygon||e instanceof L.Polyline){for(var a=e.getLatLngs(),i=0;i<a.length;i++)a[i],r.push(a[i].lng+" "+a[i].lat),0===i&&(t=a[i].lng,n=a[i].lat);if(e instanceof L.Polygon)return"POLYGON(("+r.join(",")+","+t+" "+n+"))";if(e instanceof L.Polyline)return"LINESTRING("+r.join(",")+")"}else if(e instanceof L.Marker)return"POINT("+e.getLatLng().lng+" "+e.getLatLng().lat+")"}function renderLayer(e,t){if("undefined"==typeof featureGroup[e.unique_id]&&(featureGroup[e.unique_id]=new Array),2==e.type&&"undefined"!=typeof e.cluster&&1==e.cluster?featureGroup[e.unique_id][e.name]=new L.MarkerClusterGroup:featureGroup[e.unique_id][e.name]=new L.FeatureGroup,"undefined"!=typeof e.settings?1==e.settings.active?(add_current_layer_text(e),featureGroup[e.unique_id][e.name].addTo(mymap)):e.settings.active=0:(featureGroup[e.unique_id][e.name].addTo(mymap),e.settings=new Object,e.settings.active=1),1==e.settings.active&&(activeLayers.push({id:e._id,order:0}),order_current_active_layers()),"phantom"==page&&($.inArray(e._id,active_ids)!==-1?featureGroup[e.unique_id][e.name].addTo(mymap):1==e.settings.active&&mymap.removeLayer(featureGroup[e.unique_id][e.name])),"undefined"!=typeof page&&"user_farm"==page&&1==e.settings.active&&jQuery("#chk_"+e.unique_id).prop("checked","checked"),"undefined"!=typeof page&&"manage"==page&&(jQuery("#active-layers-container").append(Mustache.render(tmpl.activeLayer,{t:e,type:layerType[e.type]})),0==e.settings.active&&jQuery("#at-"+e.unique_id+" a.dropdown-toggle span").addClass("label-danger").removeClass("label-primary"),jQuery(".help-active-popup-hover").popover({title:"Active & In-Active",content:'<div class="row"><div class="col-md-12"><p>This feature allows you to initially hide a layer. This can be used to achieve a desired layer presentation as well as to provide faster map loading for larger layers.</p></div></div>',html:!0,trigger:"hover",container:"body"}),jQuery(".at_active_chk").bootstrapSwitch({size:"mini",onSwitchChange:function(t,n){t.preventDefault();var r=jQuery(this).parents("ul:first"),a=r.attr("data-id"),i=getIndex(selectedLayers,"unique_id",a);selectedLayers[i].settings||"undefined"!=typeof selectedLayers[i].settings||(selectedLayers[i].settings=new Object),n===!0?(selectedLayers[i].settings.active=1,jQuery("#at-"+e.unique_id+" a.dropdown-toggle span").removeClass("label-danger").addClass("label-primary"),mymap.addLayer(featureGroup[a][selectedLayers[i].name])):(selectedLayers[i].settings.active=0,jQuery("#at-"+e.unique_id+" a.dropdown-toggle span").addClass("label-danger").removeClass("label-primary"),mymap.removeLayer(featureGroup[a][selectedLayers[i].name])),calculateBounds()}})),1==e.type||4==e.type){var n={format:"image/png",layers:e.Name,transparent:!0,crs:L.CRS.EPSG4326,unique_id:e.unique_id,srs1:e.SRS,layer_type:e.type};"undefined"!=typeof e.geometry_area&&(n.geometry=e.geometry_area),"undefined"!=typeof e.time&&(n.time=e.time),L.tileLayer.betterWms(e.url,n).addTo(featureGroup[e.unique_id][e.name])}else 2==e.type?""==t?"phantom"==page?filterGlobalData():(e.cache_timer||"undefined"!=typeof e.cache_timer||(e.cache_timer=15),t={datasource:e.connection_id,sql_layer_name:e.name,query_box:e.query,_token:jQuery('[name="_token"]').val(),cache_key:e.cache_key,cache_timer:e.cache_timer,type:2,map_id:map.id},ajaxRequest("map/layer/json","post","json",t,function(t){"200"==t.status?processSQLJSON(t,e):showMsg(t.status,t.msg)})):processSQLJSON(t,e):3==e.type;overlayers_controls(e),overlays[e.name]=featureGroup[e.unique_id][e.name],layerSelector.addOverlay(featureGroup[e.unique_id][e.name],e.name),3==e.type&&jQuery("#at-"+e.unique_id).find(".style-at-layer").remove(),calculateBounds()}function getPopupContent(e,t){return $.each(e.features,function(e,n){$.each(n.properties,function(e,n){t=t.replace("&lt;"+e+"&gt;",n
selectedLayers[n][e.attr("name")]=e.val(),jQuery("#at-"+selectedLayers[n].unique_id+" span.at-text").html(selectedLayers[n].name)}),3==e.type&&(autocomplete=new google.maps.places.Autocomplete(document.getElementById("autoFillAddress"),{types:["geocode"]}),google.maps.event.addListener(autocomplete,"place_changed",function(e){lat=autocomplete.getPlace().geometry.location.lat(),lng=autocomplete.getPlace().geometry.location.lng();var t=jQuery("#style_settings_form").find('[name="my_unique_id"]').val(),n=getIndex(selectedLayers,"unique_id",t);selectedLayers[n].layer.setLatLng([lat,lng]),selectedLayers[n].location=jQuery("#autoFillAddress").val(),mymap.setView([lat,lng],mymap.getZoom())}))}function tipButtonsclick(e){var t=void 0;return $(".leaflet-draw-actions").each(function(e){"block"==$(this).css("display")&&(t=$(this))}),t&&t.find("a")[e].click(),!1}function getDetailsByType(e,t,n,r,a){var o=[],s=e.length;for(i=0;i<s;i++)e[i][t]==n&&e[i][r]==a&&o.push(e[i]);return o}function getDetailsByLayerType(e,t,n){var r=[],a=e.length;for(i=0;i<a;i++)e[i][t]==n&&r.push(e[i]);return r}function initiateUpload(){if(""==$("#data-importer").val())return void(globalLastFileFormat="");var e=$("form#layer-form input[type=file]").val().split(".");globalLastFileFormat=e[e.length-1];var t=new FormData($("form#layer-form")[0]);$.ajax({url:baseURL+"developer/map/file/upload",type:"POST",xhr:function(){var e=$.ajaxSettings.xhr();return e.upload&&e.upload.addEventListener("progress",function(e){e.lengthComputable},!1),e},success:function(e){try{if(jsonData=JSON.parse(e),!(jsonData.status=200))return void alert("Invalid File");if("json"==jsonData.format)jQuery.each(jsonData.result,function(e,t){L.geoJson(t,{onEachFeature:function(e,t){t.on("click",function(r){var a=getSQLPopupContent(e.properties,n.pc),i=t.getBounds(),o=L.popup();o.setLatLng(i.getCenter()),o.setContent(a),mymap.openPopup(o)})}}).addTo(mymap)});else if("kml"==jsonData.format||"gpx"==jsonData.format){var e=new Object,t=new Object,n=JSON.parse(JSON.stringify(toGeoJSON[globalLastFileFormat.toLowerCase()]((new DOMParser).parseFromString(jsonData.kmlData,"text/xml")),null,4));t.mapfig=n.features,e.geoJSON=t,L.geoJson(t,{onEachFeature:function(e,t){t.on("click",function(r){var a=getSQLPopupContent(e.properties,n.pc),i=t.getBounds(),o=L.popup();o.setLatLng(i.getCenter()),o.setContent(a),mymap.openPopup(o)})}}).addTo(mymap)}$("form#layer-form input[type=file]").val("")}catch(r){return void alert("Invalid File","error")}},error:function(e){alert("Error While Uploading the file","error")},data:t,cache:!1,contentType:!1,processData:!1}),$("form#data-importer-form input[type=file]").val("")}function manage_custom_layers(){jQuery("#add-custom-layer").click(function(e){e.preventDefault(),jQuery("#add-custom-layer-modal").modal({backdrop:"static",keyboard:!1})}),$("#add-custom-layer-modal").on("hidden.bs.modal",function(){$(".modal-backdrop").remove()}),jQuery("#upload-form-layer-btn").click(function(){jQuery("#upload-layer-form").submit()})}function editStyleLayer(e){var t=getLayersIndex(e);currentIndex=t;var n=jQuery("#style_settings_form");if(1==selectedLayers[t].type){var r=document.getElementById("geoserver-style-modal-tmpl").innerHTML;Mustache.parse(r),n.html(Mustache.render(r)),jQuery("#style-settings-modal").modal("show"),jQuery("#style-settings-modal .btn.btn-success").addClass("hide")}else if(2==selectedLayers[t].type){var a=document.getElementById("sql-layer-style-modal-tmpl").innerHTML;return Mustache.parse(a),jQuery("#map-sidebar-container").html(Mustache.render(a,{t:selectedLayers[t]})),jQuery(".control-sidebar").toggleClass("control-sidebar-open"),jQuery("#layer_polygon_fill_color,#layer_polygon_color").colorpicker({theme:"bootstrap"}).on("changeColor",function(e){applyLiveStyle()}),jQuery("#layer-polygon-styling input").change(function(){applyLiveStyle()}),jQuery("#layer-marker-styling select").change(function(){applyLiveStyle()}),void jQuery(".sidebar_hide").toggleClass("hide")}else 3==selectedLayers[t].type&&(jQuery("#layer_polygon_fill_color,#layer_polygon_color").colorpicker(
e.style[t]="50% 50%";var n=this._map.getSize();e.width=n.x,e.height=n.y;var r=this._map.options.zoomAnimation&&L.Browser.any3d;L.DomUtil.addClass(e,"leaflet-zoom-"+(r?"animated":"hide")),this._heat=simpleheat(e),this._updateOptions()},_updateOptions:function(){this._heat.radius(this.options.radius||this._heat.defaultRadius,this.options.blur),this.options.gradient&&this._heat.gradient(this.options.gradient)},_reset:function(){var e=this._map.containerPointToLayerPoint([0,0]);L.DomUtil.setPosition(this._canvas,e);var t=this._map.getSize();this._heat._width!==t.x&&(this._canvas.width=this._heat._width=t.x),this._heat._height!==t.y&&(this._canvas.height=this._heat._height=t.y),this._redraw()},_redraw:function(){if(this._map){var e,t,n,r,a,i,o,s,l=[],u=this._heat._r,c=this._map.getSize(),d=new L.Bounds(L.point([-u,-u]),c.add([u,u])),p=u/2,y=[],f=this._map._getMapPanePos(),m=f.x%p,h=f.y%p;for(this._max=1,e=0,t=this._latlngs.length;e<t;e++){n=this._map.latLngToContainerPoint(this._latlngs[e]),a=Math.floor((n.x-m)/p)+2,i=Math.floor((n.y-h)/p)+2;var g=void 0!==this._latlngs[e].alt?this._latlngs[e].alt:void 0!==this._latlngs[e][2]?+this._latlngs[e][2]:1;y[i]=y[i]||[],r=y[i][a],r?(r[0]=(r[0]*r[2]+n.x*g)/(r[2]+g),r[1]=(r[1]*r[2]+n.y*g)/(r[2]+g),r[2]+=g):(r=y[i][a]=[n.x,n.y,g],r.p=n),r[2]>this._max&&(this._max=r[2])}for(this._heat.max(this._max),e=0,t=y.length;e<t;e++)if(y[e])for(o=0,s=y[e].length;o<s;o++)r=y[e][o],r&&d.contains(r.p)&&l.push([Math.round(r[0]),Math.round(r[1]),Math.min(r[2],this._max)]);this._heat.data(l).draw(this.options.minOpacity),this._frame=null}},_animateZoom:function(e){var t=this._map.getZoomScale(e.zoom),n=this._map._getCenterOffset(e.center)._multiplyBy(-t).subtract(this._map._getMapPanePos());L.DomUtil.setTransform?L.DomUtil.setTransform(this._canvas,n,t):this._canvas.style[L.DomUtil.TRANSFORM]=L.DomUtil.getTranslateString(n)+" scale("+t+")"}}),L.heatLayer=function(e,t){return new L.HeatLayer(e,t)};var legend=new Array,activeLayers=new Array;jQuery(document).ready(function(){L.TileLayer.BetterWMS=L.TileLayer.WMS.extend({onAdd:function(e){L.TileLayer.WMS.prototype.onAdd.call(this,e)},onRemove:function(e){L.TileLayer.WMS.prototype.onRemove.call(this,e),e.off("click",this.getFeatureInfo,this)},getFeatureInfo:function(e){},getFeatureInfoUrl:function(e){var t=this._map.latLngToContainerPoint(e,this._map.getZoom()),n=this._map.getSize(),r=this.wmsParams.layer_type,a="application/json";4==r&&(a="text/html");var i={request:"GetFeatureInfo",service:"WMS",srs:"EPSG:4326",styles:this.wmsParams.styles,transparent:this.wmsParams.transparent,version:this.wmsParams.version,format:this.wmsParams.format,height:n.y,width:n.x,layers:this.wmsParams.layers,query_layers:this.wmsParams.layers,info_format:a};return i["1.3.0"===i.version?"i":"x"]=t.x,i["1.3.0"===i.version?"j":"y"]=t.y,this._url+L.Util.getParamString(i,this._url,!0)},showGetFeatureInfo:function(e,t,n){if("undefined"!=n){var r=getIndex(selectedLayers,"unique_id",this.wmsParams.unique_id),a="";if(1==selectedLayers[r].type){if(!n.features||0==n.features.length)return;a=getPopupContent(n,selectedLayers[r].pc)}else{if(jQuery(n).find("tr").length<2)return;a=n}L.popup({maxWidth:"auto"}).setLatLng(t).setContent(a).openOn(this._map)}}}),L.tileLayer.betterWms=function(e,t){return new L.TileLayer.BetterWMS(e,t)},L.Icon.Default.imagePath=baseURL+"/assets/plugins/leaflet/images",L.AwesomeMarkers.Icon.prototype.options.prefix="fa"});var heatmap=new Array,pgsql_tmpl,featureGroup=new Array,bounds,layerSelector=new Array,overlays=new Array,mymap,currentBaseMap=new Array,marker_content_tmpl,popupContentId=new Array,drawingGroup,editMode=!1,currentIndex=-1,printer,current_marker_id;jQuery(document).ready(function(){function e(e){"undefined"!=typeof clMarker&&mymap.removeLayer(clMarker);var t=e.accuracy/2;clMarker=L.marker(e.latlng).addTo(mymap).bindPopup("You are within "+t+" meters from this point")}runFilterElementJS(),defaultSettings(),drawingGroup=new L.FeatureGroup,calculateWindow(),mymap=L.map("mapid",{zoomControl:!1,fullscreenControl:!0}).setView([51.505,-.09],13),1==mobile_m