function addGoogleUtils(){google.maps.Polygon.prototype.getBounds=function(){for(var e,t=new google.maps.LatLngBounds,o=this.getPaths(),n=0;n=0;)t+=this.charAt(e);return t},String.prototype.replaceAll=function(e,t){var o=this;return o.split(e).join(t)},File.prototype.convertToBase64=function(e){var t=new FileReader;t.onload=function(t){e(t.target.result)},t.readAsDataURL(this)},window.google&&addGoogleUtils(),MD5=function(e){function t(e,t){return e<>>32-t}function o(e,t){var o,n,i,a,r;return i=2147483648&e,a=2147483648&t,o=1073741824&e,n=1073741824&t,r=(1073741823&e)+(1073741823&t),o&n?2147483648^r^i^a:o|n?1073741824&r?3221225472^r^i^a:1073741824^r^i^a:r^i^a}function n(e,t,o){return e&t|~e&o}function i(e,t,o){return e&o|t&~o}function a(e,t,o){return e^t^o}function r(e,t,o){return t^(e|~o)}function s(e,i,a,r,s,l,c){return e=o(e,o(o(n(i,a,r),s),c)),o(t(e,l),i)}function l(e,n,a,r,s,l,c){return e=o(e,o(o(i(n,a,r),s),c)),o(t(e,l),n)}function c(e,n,i,r,s,l,c){return e=o(e,o(o(a(n,i,r),s),c)),o(t(e,l),n)}function p(e,n,i,a,s,l,c){return e=o(e,o(o(r(n,i,a),s),c)),o(t(e,l),n)}function f(e){for(var t,o=e.length,n=o+8,i=(n-n%64)/64,a=16*(i+1),r=Array(a-1),s=0,l=0;l>>29,r}function u(e){var t,o,n="",i="";for(o=0;o<=3;o++)t=e>>>8*o&255,i="0"+t.toString(16),n+=i.substr(i.length-2,2);return n}function d(e){e=e.replace(/\r\n/g,"\n");for(var t="",o=0;o127&&n<2048?(t+=String.fromCharCode(n>>6|192),t+=String.fromCharCode(63&n|128)):(t+=String.fromCharCode(n>>12|224),t+=String.fromCharCode(n>>6&63|128),t+=String.fromCharCode(63&n|128))}return t}var g,m,v,y,h,w,_,C,T,L=Array(),E=7,O=12,S=17,M=22,N=5,b=9,A=14,I=20,k=4,R=11,D=16,P=23,G=6,F=10,V=15,x=21;for(e=d(e),L=f(e),w=1732584193,_=4023233417,C=2562383102,T=271733878,g=0;g127&&s<2048)l=String.fromCharCode(s>>6|192,63&s|128);else if(55296!=(63488&s))l=String.fromCharCode(s>>12|224,s>>6&63|128,63&s|128);else{if(55296!=(64512&s))throw new RangeError("Unmatched trail surrogate at "+r);var c=n.charCodeAt(++r);if(56320!=(64512&c))throw new RangeError("Unmatched lead surrogate at "+(r-1));s=((1023&s)<<10)+(1023&c)+65536,l=String.fromCharCode(s>>18|240,s>>12&63|128,s>>6&63|128,63&s|128)}null!==l&&(o>t&&(i+=n.slice(t,o)),i+=l,t=o=r+1)}return o>t&&(i+=n.slice(t,a)),i};var QueryString=function(){for(var e={},t=window.location.search.substring(1),o=t.split("&"),n=0;n-1}if("equals"===i.operator){var s=i.value.split(",");o=1==s.length?t[i.key]==i.value:s.indexOf(t[i.key])!=-1}if("lt"===i.operator&&(o=parseFloat(t[i.key])<=parseFloat(i.value)),"gt"===i.operator&&(o=parseFloat(t[i.key])>=parseFloat(i.value)),0==o)break;n++}return o}),o.length>0){p();var n=o.map(function(e){return e.overlay});if(C.cluster)return markerCluster.addMarkers(n),void markerCluster.fitMapToMarkers();if(C.heat_map)return;n.forEach(function(e){e.setMap(L.getMap())}),a(n)}t&&t(o)}function a(e){var t=new google.maps.LatLngBounds;e.forEach(function(e){t.extend(e.getPosition())});L.fitBounds(t)}function r(){var e=void 0;1==C.fitBounds&&(e=new google.maps.LatLngBounds);var t=void 0,o=void 0;if(C.cluster)t=[];else if(C.heat_map)o=[];else if(C.thematic_dpto)return void l();m.forEach(function(n,i){var a=void 0;for(var r in n.geometry){var s=r.toUpperCase();n.geometry[s]=n.geometry[r]}if(n.geometry.LATITUD?a="marker":n.geometry.POLIGONO&&(a="polygon"),"marker"==a){var l={};C.thematic.forEach(function(e){if(d(e.rule.key,e.rule.value,e.rule.operator,n))return l=e,!0});var p=new google.maps.LatLng(parseFloat(c(n.geometry.LATITUD)),parseFloat(c(n.geometry.LONGITUD))),f="MK_"+(new Date).getTime()+100*Math.random(1,2);n.MarkerFlagId=f,L.addMarker(f,C.id,{visible:!(C.cluster||C.heat_map||C.thematic_dpto),info:n,title:n[C.keyTitle],icon:l.icon,position:p,onCreated:function(e){n.overlay=e,C.cluster&&t.push(e),C.heat_map&&o.push(e.getPosition())},events:{click:function(e,t,o,n){var i=C.template_settings;if(i)if(i.templateString){var a=Handlebars.compile(i.templateString),r=a(n.info);L.showInfowindow(r,n)}else if(i.element){var s=i.element,l=$("#"+s).html(),a=Handlebars.compile(l),r=a(n.info);L.showInfowindow(r,n)}com.servinf.dispatchCustomEvent("ONCLICK_MARKER_INLAYER",{detail:{id:t,layer:o,info:n.info,overlay:n}})}}}),void 0!==e&&e.extend(p)}}),void 0!==e&&L.fitBounds(e),C.cluster?markerCluster=new MarkerClusterer(L.getMap(),t,{imagePath:"https://raw.githubusercontent.com/googlemaps/v3-utility-library/master/markerclustererplus/images/m",averageCenter:!0,onClickCluster:function(e,t,o,n){if(e>=18){var i=C.cluster_options.primary_key,a=C.cluster_options.secondary_key;return s(o.center_,t,i,a),!1}return!0}}):C.heat_map&&L.addHeatMap((new Date).getTime(),C.id,{coords:o}).then(function(e){w=e})}function s(e,t,o,n){var i=t.map(function(e){return{id:e.info.MarkerFlagId,layer:C.id,name:e.info[o],name_s:e.info[n],info:e.info}}),a='
    {{#each points}}
  • {{name}}

    {{name_s}}
  • {{/each}}
';a=Handlebars.compile(a);var r=a({points:i});L.showInfowindow(r,e)}function l(){function e(){var e=C.thematic_dpto_options.dane_dpto;e||(e=C.thematic_dpto_options.date_dpto);var t=_.groupBy(m,e),o=C.thematic_dpto_options.thematic,n=C.thematic_dpto_options.opacity||.8,i=C.thematic_dpto_options.column_thematic||{type:"count"},a=C.thematic_dpto_options.hover||"#FF0000",r=C.thematic_dpto_options.line||"#751400";y.departamentos.forEach(function(e,s){var l=t[e.CodDane];if(l){if(l={department:e,items:l},"count"==i.type)i.column="count",l.count=l.items.length;else if("numeric"==i.type){var c=0;for(var p in l.items)c+=parseFloat(l.items[p][i.column]);l[i.column]=c}thematic={};for(var p in o){var f=o[p];if(d(i.column,f.rule.value,f.rule.operator,l)){thematic=f;break}}var u=thematic.color||"#75145";L.addPolygon(e.CodDane,"departments_layer_"+C.id,{info:e,title:e.Nombre.toUpperCase(),coordSeparator:";",valSeparator:",",info:l,opacity:n,backgroundColor:u,lineColor:r,strCoords:e.geometry,events:{click:function(e,t,o,n){L.fitBounds(n.getBounds()),L.increaseZoom(1),com.servinf.dispatchCustomEvent("ONCLICK_DEPARTMENT_"+C.id,{detail:{info:n.info}})},mouseout:function(e,t,o,n){n.setOptions({fillColor:u})},mouseover:function(e,t,o,n){n.setOptions({fillColor:a})}}})}})}$.getJSON(com.servinf[window.spaceName].Config.assets.departments).done(function(t){y=t,e()})}function c(e){return(e+"").replace(",",".")}function p(){C.cluster&&"undefined"!=typeof markerCluster&&markerCluster.clearMarkers(),u()}function f(){return i()}function u(){m.forEach(function(e){e.overlay&&e.overlay.setMap(null)})}function d(e,t,o,n){if("equals"===o){if(n[e]==t)return!0}else if("lt"===o){if(n[e]<=t)return!0}else if("gt"===o){if(n[e]>=t)return!0}else if("range"===o){var i=t.split(":");if(n[e]>=parseFloat(i[0])&&n[e]<=parseFloat(i[1]))return!0}else if("*"===o)return!0;return!1}function g(){return L.getLayers()[C.id]}var m=[],v={},y=[],h={autoload:!1,specifications:{}},w=void 0,C=$.extend(h,e),T=C.specifications,L=C.viewer,E=!0;$(document).on("ON_ZOOM_CHANGED",function(e){if(E){var t=e.detail.zoom;if(C.heat_map){var o=L.getLayers()[C.id];if(C.heat_map_options){var n=C.heat_map_options.max_zoom||30;t>=n?(o&&o.show(),w&&w.setMap(null)):(o&&o.hide(),w&&null===w.getMap()&&w.setMap(L.getMap()))}}}}),$(document).on("ONCLICK_ITEMlIST_CLUSTERER",function(e){var t=e.detail,o=t.id;if(t.layer===C.id){var n=g();if(n){var i=n.getOverlay(o);google.maps.event.trigger(i,"click")}}}),$.extend(this,{filter:i,hide:p,show:f,getGeoLayer:g}),t()},Namespace("com.servinf.{0}".format(window.spaceName)),com.servinf[window.spaceName].ComponentMaps=function(e,t){function o(){$(f).append(_),com.servinf.getScripts(com.servinf[window.spaceName].Config.jsRequired(),function(){addGoogleUtils(),n(function(){})})}function n(e){instanceGeo=p.instanceGeo=new com.servinf.geo.GeoViewer({containerMap:$("#map_container_container")[0],map_config:{center:{lat:5.203044073033952,lng:-75.28946261230469},zoom:5,mapTypeControl:!0,mapTypeId:w.map_type||google.maps.MapTypeId.ROADMAP,mapTypeControlOptions:{position:google.maps.ControlPosition.LEFT_TOP}},user_marker:!0,geolocation:w.request_position,userMarkerConfig:{icon:"assets/img/user_marker.png"},drawing:w.drawing||!1,drawingOptions:{drawingControl:!0,drawingControlOptions:{position:google.maps.ControlPosition.RIGHT_TOP,drawingModes:[google.maps.drawing.OverlayType.MARKER,google.maps.drawing.OverlayType.CIRCLE,google.maps.drawing.OverlayType.RECTANGLE,google.maps.drawing.OverlayType.POLYGON,google.maps.drawing.OverlayType.POLYLINE]},markerOptions:{draggable:!0},circleOptions:{},polygonOptions:{editable:!0,zIndex:1},polylineOptions:{editable:!0,zIndex:1}}});var t=$("#streetview_panel");if(w.streetview_panel){var o=$("#container_compontent_map").width(),n=o/100*w.streetview_panel;$("#map_container_container").width(o-n),t.width(n),instanceGeo.setPanoramaPanel(t[0])}else t.hide();if(w.map_options&&$("#icons_options").show(),w.search_bar&&($("#container_compontent_map").append(C),d=new google.maps.places.Autocomplete(document.getElementById("dialog_map_text"),{componentRestrictions:{country:"co"}}),google.maps.event.addListener(d,"place_changed",function(e){var t=this.getPlace();instanceGeo.setCenter(t.geometry.location),instanceGeo.fitBounds(t.geometry.viewport)})),w.initial_position&&w.initial_position.lat&&w.initial_position.lng){var a=new google.maps.LatLng(parseFloat(w.initial_position.lat),parseFloat(w.initial_position.lng));instanceGeo.setCenter(a),isNaN(w.initial_position.zoom)||instanceGeo.setZoom(w.initial_position.zoom)}u=!0,e&&e(p),w.module==com.servinf[spaceName].Config.modules.VIEWER_DATA?(i(),l()):w.module==com.servinf[spaceName].Config.modules.DEPARTMENTS_VIEW?(instanceGeo.addStyle("WHITE_MAP",[{featureType:"water",elementType:"geometry",stylers:[{color:"#e9e9e9"},{lightness:17}]},{featureType:"landscape",elementType:"geometry",stylers:[{color:"#f5f5f5"},{lightness:20}]},{featureType:"road.highway",elementType:"geometry.fill",stylers:[{color:"#ffffff"},{lightness:17}]},{featureType:"road.highway",elementType:"geometry.stroke",stylers:[{color:"#ffffff"},{lightness:29},{weight:.2}]},{featureType:"road.arterial",elementType:"geometry",stylers:[{color:"#ffffff"},{lightness:18}]},{featureType:"road.local",elementType:"geometry",stylers:[{color:"#ffffff"},{lightness:16}]},{featureType:"poi",elementType:"geometry",stylers:[{color:"#f5f5f5"},{lightness:21}]},{featureType:"poi.park",elementType:"geometry",stylers:[{color:"#dedede"},{lightness:21}]},{elementType:"labels.text.stroke",stylers:[{visibility:"on"},{color:"#ffffff"},{lightness:16}]},{elementType:"labels.text.fill",stylers:[{saturation:36},{color:"#333333"},{lightness:40}]},{elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"transit",elementType:"geometry",stylers:[{color:"#f2f2f2"},{lightness:19}]},{featureType:"administrative",elementType:"geometry.fill",stylers:[{color:"#fefefe"},{lightness:20}]},{featureType:"administrative",elementType:"geometry.stroke",stylers:[{color:"#fefefe"},{lightness:17},{weight:1.2}]}]),componentMaps.instanceGeo.getMap().setOptions({mapTypeControl:!1}),r(s)):w.module==com.servinf[spaceName].Config.modules.DEPARTMENT_VIEW?console.log("department view"):w.module==com.servinf[spaceName].Config.modules.FORM_CAPTURE&&(console.info("FORM_CAPTURE"),v=new com.servinf[window.spaceName].classes.FormaCapture(w.details,instanceGeo))}function i(){void 0!==w.details.layers&&w.details.layers.forEach(function(e){e.viewer=instanceGeo;var t=e.id||"LAYER_"+(new Date).getTime();h[t]=new com.servinf[window.spaceName].classes.Layer(e)})}function a(e){e.autoload=!0,e.viewer=instanceGeo;var t=e.id||"LAYER_"+(new Date).getTime();h[t]=new com.servinf[window.spaceName].classes.Layer(e)}function r(e){$.getJSON(com.servinf[window.spaceName].Config.assets.departments).done(function(t){m=t,e&&e()})}function s(){m.departamentos.forEach(function(e){var t=w.details.background||"#7514FF",o=w.details.hover||"#FF0000";instanceGeo.addPolygon(e.CodDane,"departments",{info:e,title:e.Nombre.toUpperCase(),coordSeparator:";",valSeparator:",",backgroundColor:t,lineColor:w.details.line||"#751400",strCoords:e.geometry,events:{click:function(e,t,o,n){w.details.fitBounds&&(instanceGeo.fitBounds(n.getBounds()),instanceGeo.increaseZoom(1)),com.servinf.dispatchCustomEvent("ONCLICK_DEPARTMENT",{detail:{info:n.info}})},mouseout:function(e,o,n,i){i.setOptions({fillColor:t})},mouseover:function(e,t,n,i){i.setOptions({fillColor:o})}}})})}function l(){if(w.details.initialPoint){g=w.details.initialPoint;var e=new google.maps.LatLng(parseFloat(g.Latitud),parseFloat(g.Longitud));instanceGeo.addMarker("initial_marker","default",{visible:!0,icon:g.icon,position:e,title:g.name,info:g,pan_to:w.request_position===!1,events:{click:function(e,t,o,n){g.templateString&&instanceGeo.showInfowindow(g.templateString,n,!1)}}}).then(function(e){g.marker=e,g.streetview&&instanceGeo.streetView(e.getPosition())})}}function c(e,t){var o=void 0;if("polygon"==e)var o="st_geomfromtext('POLYGON(({0}))', 4326)".format(t);void 0!==v&&void 0!==o&&v.saveGeometry(o,function(e){console.log(e)})}var p=this,f=e,u=!1,d=void 0,g=void 0,m=[],v=void 0,y={request_position:!1},h={},w=$.extend(y,t),_='',C='
'; $(document).on("ON_SUCCESS_GETTING_COORDS",function(e){if(g){var t=new google.maps.LatLng(e.detail.pos.coords.latitude,e.detail.pos.coords.longitude);g.routing?instanceGeo.carRouting(t,g.marker.getPosition()):setTimeout(function(){var e=new google.maps.LatLngBounds;e.extend(t),e.extend(g.marker.getPosition()),instanceGeo.fitBounds(e)},1500)}}),$(document).on("ON_FAILED_GETTING_COORDS",function(e){}),$(document).on("ON_COMPLETE_DRAW_OVERLAY",function(e){var t=e.detail.event.type,o=e.detail.event.overlay;o.addListener("rightclick",function(){return this.setMap(null)}),t===google.maps.drawing.OverlayType.CIRCLE||t===google.maps.drawing.OverlayType.RECTANGLE?(instanceGeo.fitBounds(o.getBounds()),o.setMap(null)):t===google.maps.drawing.OverlayType.POLYGON&&o.addListener("click",function(e){var t=this.getPath(),o=[];t.forEach(function(e){o.push("{0} {1}".format(e.lng(),e.lat()))}),o.push("{0} {1}".format(t.getAt(0).lng(),t.getAt(0).lat()));var n=''.format(o.join(","));instanceGeo.showInfowindow(n,e.latLng),console.log(n)})}),window.addGeometry=c,window.onClickItemListClusterer=function(e,t){com.servinf.dispatchCustomEvent("ONCLICK_ITEMlIST_CLUSTERER",{detail:{id:e,layer:t}})},$.extend(this,{getLayers:function(){return h},getViewer:function(){return instanceGeo},addLayer:a}),o()};