EOS/Scripts/kendo/2015.3.1111/kendo.dataviz.map.min.js
Nidhi Bhargava f0c1ab20e1 code push
2025-09-04 16:25:07 +05:30

10 lines
38 KiB
JavaScript

/*
* Kendo UI v2015.3.1111 (http://www.telerik.com/kendo-ui)
* Copyright 2015 Telerik AD. All rights reserved.
*
* Kendo UI commercial licenses may be obtained at
* http://www.telerik.com/purchase/license-agreement/kendo-ui-complete
* If you do not own a commercial license, this file shall be governed by the trial license terms.
*/
!function(e,define){define(["./kendo.data.min","./kendo.userevents.min","./kendo.tooltip.min","./kendo.mobile.scroller.min","./kendo.draganddrop.min","./kendo.drawing.min","./kendo.core.min"],e)}(function(){return function(){!function(e,t){var n,i=Math,o=i.abs,r=i.atan,s=i.atan2,a=i.cos,l=i.max,c=i.min,u=i.sin,h=i.tan,d=window.kendo,f=d.Class,p=d.dataviz,g=d.deepExtend,m=d.util,v=m.defined,_=m.deg,y=m.rad,w=m.round,b=m.sqr,x=m.valueOrDefault,k=f.extend({init:function(e,t){1===arguments.length?(this.lat=e[0],this.lng=e[1]):(this.lat=e,this.lng=t)},DISTANCE_ITERATIONS:100,DISTANCE_CONVERGENCE:1e-12,DISTANCE_PRECISION:2,FORMAT:"{0:N6},{1:N6}",toArray:function(){return[this.lat,this.lng]},equals:function(e){return e&&e.lat===this.lat&&e.lng===this.lng},clone:function(){return new k(this.lat,this.lng)},round:function(e){return this.lng=w(this.lng,e),this.lat=w(this.lat,e),this},wrap:function(){return this.lng=this.lng%180,this.lat=this.lat%90,this},distanceTo:function(e,t){return this.greatCircleTo(e,t).distance},destination:function(e,t,n){var o,r,l,c,h;return t=y(t),n=n||p.map.datums.WGS84,o=y(this.lat),r=y(this.lng),l=e/d.dataviz.map.datums.WGS84.a,c=i.asin(u(o)*a(l)+a(o)*u(l)*a(t)),h=r+s(u(t)*u(l)*a(o),a(l)-u(o)*u(c)),new k(_(c),_(h))},greatCircleTo:function(e,t){var n,l,c,d,f,g,m,v,x,C,S,T,A,D,M,E,P,I,R,B,z,L,F,O,N,H,V,U,W;if(e=k.create(e),t=t||p.map.datums.WGS84,!e||this.clone().round(8).equals(e.clone().round(8)))return{distance:0,azimuthFrom:0,azimuthTo:0};for(n=t.a,l=t.b,c=t.f,d=y(e.lng-this.lng),f=r((1-c)*h(y(this.lat))),g=u(f),m=a(f),v=r((1-c)*h(y(e.lat))),x=u(v),C=a(v),S=d,A=this.DISTANCE_ITERATIONS,D=!1;!D&&A-->0;)M=u(S),E=a(S),P=i.sqrt(b(C*M)+b(m*x-g*C*E)),R=g*x+m*C*E,z=s(P,R),L=m*C*M/P,I=1-b(L),B=0,0!==I&&(B=R-2*g*x/I),T=S,F=c/16*I*(4+c*(4-3*I)),S=d+(1-F)*c*L*(z+F*P*(B+F*R*(-1+2*b(B)))),D=o(S-T)<=this.DISTANCE_CONVERGENCE;return O=I*(b(n)-b(l))/b(l),N=1+O/16384*(4096+O*(-768+O*(320-175*O))),H=O/1024*(256+O*(-128+O*(74-47*O))),V=H*P*(B+H/4*(R*(-1+2*b(B))-H/6*B*(-3+4*b(P))*(-3+4*b(B)))),U=s(C*M,m*x-g*C*E),W=s(m*M,-g*C+m*x*E),{distance:w(l*N*(z-V),this.DISTANCE_PRECISION),azimuthFrom:_(U),azimuthTo:_(W)}}});k.fn.toString=function(){return d.format(this.FORMAT,this.lat,this.lng)},k.fromLngLat=function(e){return new k(e[1],e[0])},k.fromLatLng=function(e){return new k(e[0],e[1])},k.create=function(e,n){return v(e)?e instanceof k?e.clone():1===arguments.length&&2===e.length?k.fromLatLng(e):new k(e,n):t},n=f.extend({init:function(e,t){e=k.create(e),t=k.create(t),e.lng+180>t.lng+180&&t.lat+90>e.lat+90?(this.se=e,this.nw=t):(this.se=t,this.nw=e)},contains:function(e){var t=this.nw,n=this.se,i=x(e.lng,e[1]),o=x(e.lat,e[0]);return e&&i+180>=t.lng+180&&n.lng+180>=i+180&&o+90>=n.lat+90&&t.lat+90>=o+90},center:function(){var e=this.nw,t=this.se,n=e.lng+(t.lng-e.lng)/2,i=e.lat+(t.lat-e.lat)/2;return new k(i,n)},containsAny:function(e){var t,n=!1;for(t=0;e.length>t;t++)n=n||this.contains(e[t]);return n},include:function(e){var t=this.nw,n=this.se,i=x(e.lng,e[1]),o=x(e.lat,e[0]);t.lng=c(t.lng,i),t.lat=l(t.lat,o),n.lng=l(n.lng,i),n.lat=c(n.lat,o)},includeAll:function(e){for(var t=0;e.length>t;t++)this.include(e[t])},edges:function(){var e=this.nw,t=this.se;return{nw:this.nw,ne:new k(e.lat,t.lng),se:this.se,sw:new k(t.lat,e.lng)}},toArray:function(){var e=this.nw,t=this.se;return[e,new k(e.lat,t.lng),t,new k(t.lat,e.lng)]},overlaps:function(e){return this.containsAny(e.toArray())||e.containsAny(this.toArray())}}),n.World=new n([90,-180],[-90,180]),n.create=function(e,i){return e instanceof n?e:e&&i?new n(e,i):e&&4===e.length&&!i?new n([e[0],e[1]],[e[2],e[3]]):t},g(p,{map:{Extent:n,Location:k}})}(window.kendo.jQuery)}(),function(){!function(){var e=window.kendo,t=e.ui.Widget,n=e.template,i=e.util.valueOrDefault,o=e.util.defined,r=t.extend({init:function(e,n){t.fn.init.call(this,e,n),this._initOptions(n),this.items=[],this.element.addClass("k-widget k-attribution")},options:{name:"Attribution",separator:"&nbsp;|&nbsp;",itemTemplate:"#= text #"},filter:function(e,t){this._extent=e,this._zoom=t,this._render()},add:function(e){o(e)&&("string"==typeof e&&(e={text:e}),this.items.push(e),this._render())},remove:function(e){var t,n,i=[];for(t=0;this.items.length>t;t++)n=this.items[t],n.text!==e&&i.push(n);this.items=i,this._render()},clear:function(){this.items=[],this.element.empty()},_render:function(){var e,t,i,o=[],r=n(this.options.itemTemplate);for(e=0;this.items.length>e;e++)t=this.items[e],i=this._itemText(t),""!==i&&o.push(r({text:i}));o.length>0?this.element.empty().append(o.join(this.options.separator)).show():this.element.hide()},_itemText:function(e){var t="",n=this._inZoomLevel(e.minZoom,e.maxZoom),i=this._inArea(e.extent);return n&&i&&(t+=e.text),t},_inZoomLevel:function(e,t){var n=!0;return e=i(e,-Number.MAX_VALUE),t=i(t,Number.MAX_VALUE),n=this._zoom>e&&t>this._zoom},_inArea:function(e){var t=!0;return e&&(t=e.contains(this._extent)),t}});e.dataviz.ui.plugin(r)}(window.kendo.jQuery)}(),function(){!function(e){function t(e){return n.format('<button class="k-button k-navigator-{0}"><span class="k-icon k-i-arrow-{0}"/></button>',e)}var n=window.kendo,i=n.ui.Widget,o=n.keys,r=e.proxy,s=".kendoNavigator",a=t("n")+t("e")+t("s")+t("w"),l=i.extend({init:function(e,t){i.fn.init.call(this,e,t),this._initOptions(t),this.element.addClass("k-widget k-header k-shadow k-navigator").append(a).on("click"+s,".k-button",r(this,"_click"));var o=this.element.parent().closest("["+n.attr("role")+"]");this._keyroot=o.length>0?o:this.element,this._tabindex(this._keyroot),this._keydown=r(this._keydown,this),this._keyroot.on("keydown",this._keydown)},options:{name:"Navigator",panStep:1},events:["pan"],dispose:function(){this._keyroot.off("keydown",this._keydown)},_pan:function(e,t){var n=this.options.panStep;this.trigger("pan",{x:e*n,y:t*n})},_click:function(t){var n=0,i=0,o=e(t.currentTarget);o.is(".k-navigator-n")?i=1:o.is(".k-navigator-s")?i=-1:o.is(".k-navigator-e")?n=1:o.is(".k-navigator-w")&&(n=-1),this._pan(n,i),t.preventDefault()},_keydown:function(e){switch(e.which){case o.UP:this._pan(0,1),e.preventDefault();break;case o.DOWN:this._pan(0,-1),e.preventDefault();break;case o.RIGHT:this._pan(1,0),e.preventDefault();break;case o.LEFT:this._pan(-1,0),e.preventDefault()}}});n.dataviz.ui.plugin(l)}(window.kendo.jQuery)}(),function(){!function(e){function t(e,t){return n.format('<button class="k-button k-zoom-{0}" title="zoom-{0}">{1}</button>',e,t)}var n=window.kendo,i=n.ui.Widget,o=n.keys,r=e.proxy,s=".kendoZoomControl",a=t("in","+")+t("out","-"),l=187,c=189,u=61,h=173,d=i.extend({init:function(e,t){i.fn.init.call(this,e,t),this._initOptions(t),this.element.addClass("k-widget k-zoom-control k-button-wrap k-buttons-horizontal").append(a).on("click"+s,".k-button",r(this,"_click"));var o=this.element.parent().closest("["+n.attr("role")+"]");this._keyroot=o.length>0?o:this.element,this._tabindex(this._keyroot),this._keydown=r(this._keydown,this),this._keyroot.on("keydown",this._keydown)},options:{name:"ZoomControl",zoomStep:1},events:["change"],_change:function(e){var t=this.options.zoomStep;this.trigger("change",{delta:e*t})},_click:function(t){var n=e(t.currentTarget),i=1;n.is(".k-zoom-out")&&(i=-1),this._change(i),t.preventDefault()},_keydown:function(e){switch(e.which){case o.NUMPAD_PLUS:case l:case u:this._change(1);break;case o.NUMPAD_MINUS:case c:case h:this._change(-1)}}});n.dataviz.ui.plugin(d)}(window.kendo.jQuery)}(),function(){!function(){var e=Math,t=e.atan,n=e.exp,i=e.pow,o=e.sin,r=e.log,s=e.tan,a=window.kendo,l=a.Class,c=a.dataviz,u=a.deepExtend,h=a.geometry,d=h.Point,f=c.map,p=f.Location,g=a.util,m=g.rad,v=g.deg,_=g.limitValue,y=e.PI,w=y/2,b=y/4,x=y/180,k={a:6378137,b:6356752.314245179,f:.0033528106647474805,e:.08181919084262149},C=l.extend({init:function(e){this._initOptions(e)},MAX_LNG:180,MAX_LAT:85.0840590501,INVERSE_ITERATIONS:15,INVERSE_CONVERGENCE:1e-12,options:{centralMeridian:0,datum:k},forward:function(e,t){var n=this,i=n.options,o=i.datum,r=o.a,s=i.centralMeridian,a=_(e.lat,-n.MAX_LAT,n.MAX_LAT),l=t?_(e.lng,-n.MAX_LNG,n.MAX_LNG):e.lng,c=m(l-s)*r,u=n._projectLat(a);return new d(c,u)},_projectLat:function(e){var t=this.options.datum,n=t.e,a=t.a,l=m(e),c=s(b+l/2),u=n*o(l),h=i((1-u)/(1+u),n/2);return a*r(c*h)},inverse:function(e,t){var n=this,i=n.options,o=i.datum,r=o.a,s=i.centralMeridian,a=e.x/(x*r)+s,l=_(n._inverseY(e.y),-n.MAX_LAT,n.MAX_LAT);return t&&(a=_(a,-n.MAX_LNG,n.MAX_LNG)),new p(l,a)},_inverseY:function(r){var s,a,l,c,u=this,h=u.options.datum,d=h.a,f=h.e,p=f/2,g=n(-r/d),m=w-2*t(g);for(s=0;u.INVERSE_ITERATIONS>=s&&(a=f*o(m),l=i((1-a)/(1+a),p),c=w-2*t(g*l)-m,m+=c,!(e.abs(c)<=u.INVERSE_CONVERGENCE));s++);return v(m)}}),S=C.extend({MAX_LAT:85.0511287798,_projectLat:function(e){var t=this.options.datum.a,n=m(e),i=s(b+n/2);return t*r(i)},_inverseY:function(e){var i=this.options.datum.a,o=n(-e/i);return v(w-2*t(o))}}),T=l.extend({forward:function(e){return new d(e.lng,e.lat)},inverse:function(e){return new p(e.y,e.x)}}),A=l.extend({init:function(){var e=this,t=e._proj=new S,n=this.c=2*y*t.options.datum.a;this._tm=h.transform().translate(.5,.5).scale(1/n,-1/n),this._itm=h.transform().scale(n,-n).translate(-.5,-.5)},toPoint:function(e,t,n){var i=this._proj.forward(e,n);return i.transform(this._tm).scale(t||1)},toLocation:function(e,t,n){return e=e.clone().scale(1/(t||1)).transform(this._itm),this._proj.inverse(e,n)}}),D=l.extend({init:function(){this._proj=new C},toPoint:function(e){return this._proj.forward(e)},toLocation:function(e){return this._proj.inverse(e)}}),M=l.extend({init:function(){this._proj=new T},toPoint:function(e){return this._proj.forward(e)},toLocation:function(e){return this._proj.inverse(e)}});u(c,{map:{crs:{EPSG3395:D,EPSG3857:A,EPSG4326:M},datums:{WGS84:k},projections:{Equirectangular:T,Mercator:C,SphericalMercator:S}}})}(window.kendo.jQuery)}(),function(){!function(e){var t=e.proxy,n=window.kendo,i=n.Class,o=n.dataviz,r=n.deepExtend,s=o.map.Extent,a=n.util,l=a.defined,c=i.extend({init:function(n,i){this._initOptions(i),this.map=n,this.element=e("<div class='k-layer'></div>").css({zIndex:this.options.zIndex,opacity:this.options.opacity}).appendTo(n.scrollElement),this._beforeReset=t(this._beforeReset,this),this._reset=t(this._reset,this),this._resize=t(this._resize,this),this._panEnd=t(this._panEnd,this),this._activate(),this._updateAttribution()},destroy:function(){this._deactivate()},show:function(){this.reset(),this._activate(),this._applyExtent(!0)},hide:function(){this._deactivate(),this._setVisibility(!1)},reset:function(){this._beforeReset(),this._reset()},_reset:function(){this._applyExtent()},_beforeReset:e.noop,_resize:e.noop,_panEnd:function(){this._applyExtent()},_applyExtent:function(){var e=this.options,t=this.map.zoom(),n=!l(e.minZoom)||t>=e.minZoom,i=!l(e.maxZoom)||e.maxZoom>=t,o=s.create(e.extent),r=!o||o.overlaps(this.map.extent());this._setVisibility(n&&i&&r)},_setVisibility:function(e){this.element.css("display",e?"":"none")},_activate:function(){var e=this.map;e.bind("beforeReset",this._beforeReset),e.bind("reset",this._reset),e.bind("resize",this._resize),e.bind("panEnd",this._panEnd)},_deactivate:function(){var e=this.map;e.unbind("beforeReset",this._beforeReset),e.unbind("reset",this._reset),e.unbind("resize",this._resize),e.unbind("panEnd",this._panEnd)},_updateAttribution:function(){var e=this.map.attribution;e&&e.add(this.options.attribution)}});r(o,{map:{layers:{Layer:c}}})}(window.kendo.jQuery)}(),function(){!function(e){var t=e.proxy,n=window.kendo,i=n.Class,o=n.data.DataSource,r=n.dataviz,s=n.deepExtend,a=n.util.last,l=n.util.defined,c=n.geometry,u=n.drawing,h=u.Group,d=r.map,f=d.Location,p=d.layers.Layer,g=p.extend({init:function(e,t){p.fn.init.call(this,e,t),this.surface=u.Surface.create(this.element,{width:e.scrollElement.width(),height:e.scrollElement.height()}),this._initRoot(),this.movable=new n.ui.Movable(this.surface.element),this._markers=[],this._click=this._handler("shapeClick"),this.surface.bind("click",this._click),this._mouseenter=this._handler("shapeMouseEnter"),this.surface.bind("mouseenter",this._mouseenter),this._mouseleave=this._handler("shapeMouseLeave"),this.surface.bind("mouseleave",this._mouseleave),this._initDataSource()},options:{autoBind:!0},destroy:function(){p.fn.destroy.call(this),this.surface.destroy(),this.dataSource.unbind("change",this._dataChange)},setDataSource:function(e){this.dataSource&&this.dataSource.unbind("change",this._dataChange),this.dataSource=n.data.DataSource.create(e),this.dataSource.bind("change",this._dataChange),this.options.autoBind&&this.dataSource.fetch()},_reset:function(){p.fn._reset.call(this),this._translateSurface(),this._data&&this._load(this._data)},_initRoot:function(){this._root=new h,this.surface.draw(this._root)},_beforeReset:function(){this.surface.clear(),this._initRoot()},_resize:function(){this.surface.size(this.map.size())},_initDataSource:function(){var e=this.options.dataSource;this._dataChange=t(this._dataChange,this),this.dataSource=o.create(e).bind("change",this._dataChange),e&&this.options.autoBind&&this.dataSource.fetch()},_dataChange:function(e){this._data=e.sender.view(),this._load(this._data)},_load:function(e){var t,n,i;for(this._clearMarkers(),this._loader||(this._loader=new m(this.map,this.options.style,this)),t=new h,n=0;e.length>n;n++)i=this._loader.parse(e[n]),i&&t.append(i);this._root.clear(),this._root.append(t)},shapeCreated:function(e){var t,n=!1;return e instanceof u.Circle&&(n=l(this._createMarker(e))),n||(t={layer:this,shape:e},n=this.map.trigger("shapeCreated",t)),n},_createMarker:function(e){var t=this.map.markers.bind({location:e.location},e.dataItem);return t&&this._markers.push(t),t},_clearMarkers:function(){for(var e=0;this._markers.length>e;e++)this.map.markers.remove(this._markers[e]);this._markers=[]},_panEnd:function(e){p.fn._panEnd.call(this,e),this._translateSurface()},_translateSurface:function(){var e=this.map,t=e.locationToView(e.extent().nw);this.surface.translate&&(this.surface.translate(t),this.movable.moveTo({x:t.x,y:t.y}))},_handler:function(e){var t=this;return function(n){if(n.element){var i={layer:t,shape:n.element,originalEvent:n.originalEvent};t.map.trigger(e,i)}}}}),m=i.extend({init:function(e,t,n){this.observer=n,this.locator=e,this.style=t},parse:function(e){var t=new h;return"Feature"===e.type?this._loadGeometryTo(t,e.geometry,e):this._loadGeometryTo(t,e,e),2>t.children.length&&(t=t.children[0]),t},_shapeCreated:function(e){var t=!1;return this.observer&&this.observer.shapeCreated&&(t=this.observer.shapeCreated(e)),t},_loadGeometryTo:function(e,t,n){var i,o,r=t.coordinates;switch(t.type){case"LineString":o=this._loadPolygon(e,[r],n),this._setLineFill(o);break;case"MultiLineString":for(i=0;r.length>i;i++)o=this._loadPolygon(e,[r[i]],n),this._setLineFill(o);break;case"Polygon":this._loadPolygon(e,r,n);break;case"MultiPolygon":for(i=0;r.length>i;i++)this._loadPolygon(e,r[i],n);break;case"Point":this._loadPoint(e,r,n);break;case"MultiPoint":for(i=0;r.length>i;i++)this._loadPoint(e,r[i],n)}},_setLineFill:function(e){var t=e.segments;(4>t.length||!t[0].anchor().equals(a(t).anchor()))&&(e.options.fill=null)},_loadShape:function(e,t){return this._shapeCreated(t)||e.append(t),t},_loadPolygon:function(e,t,n){var i=this._buildPolygon(t);return i.dataItem=n,this._loadShape(e,i)},_buildPolygon:function(e){var t,n,i,o=e.length>1?u.MultiPath:u.Path,r=new o(this.style);for(t=0;e.length>t;t++)for(n=0;e[t].length>n;n++)i=this.locator.locationToView(f.fromLngLat(e[t][n])),0===n?r.moveTo(i.x,i.y):r.lineTo(i.x,i.y);return r},_loadPoint:function(e,t,n){var i=f.fromLngLat(t),o=this.locator.locationToView(i),r=new c.Circle(o,10),s=new u.Circle(r,this.style);return s.dataItem=n,s.location=i,this._loadShape(e,s)}});s(n.data,{schemas:{geojson:{type:"json",data:function(e){return"FeatureCollection"===e.type?e.features:"GeometryCollection"===e.type?e.geometries:e}}},transports:{geojson:{read:{dataType:"json"}}}}),s(r,{map:{layers:{shape:g,ShapeLayer:g},GeoJSONLoader:m}})}(window.kendo.jQuery)}(),function(){!function(){var e=window.kendo,t=e.getter,n=e.dataviz,i=e.deepExtend,o=e.util,r=o.defined,s=e.geometry,a=e.drawing,l=n.map,c=l.Location,u=l.layers.ShapeLayer,h=u.extend({options:{autoBind:!0,locationField:"location",valueField:"value",minSize:0,maxSize:100,scale:"sqrt",symbol:"circle"},_load:function(e){var n,i,o,s,a,l,u,h,d,f,p;if(this.surface.clear(),0!==e.length)for(n=this.options,i=t(n.valueField),e=e.slice(0),e.sort(function(e,t){return i(t)-i(e)}),o=this._scaleType(),a=0;e.length>a;a++)l=e[a],u=t(n.locationField)(l),h=t(n.valueField)(l),r(u)&&r(h)&&(s||(s=new o([0,h],[n.minSize,n.maxSize])),u=c.create(u),d=this.map.locationToView(u),f=s.map(h),p=this._createSymbol({center:d,size:f,style:n.style,dataItem:l,location:u}),p.dataItem=l,p.location=u,p.value=h,this._drawSymbol(p))},_scaleType:function(){var t=this.options.scale;return e.isFunction(t)?t:n.map.scales[t]},_createSymbol:function(t){var i=this.options.symbol;return e.isFunction(i)||(i=n.map.symbols[i]),i(t)},_drawSymbol:function(e){var t={layer:this,shape:e},n=this.map.trigger("shapeCreated",t);n||this.surface.draw(e)}}),d=e.Class.extend({init:function(e,t){var n,i;this._domain=e,this._range=t,n=Math.sqrt(e[1])-Math.sqrt(e[0]),i=t[1]-t[0],this._ratio=i/n},map:function(e){var t=(Math.sqrt(e)-Math.sqrt(this._domain[0]))*this._ratio;return this._range[0]+t}}),f={circle:function(e){var t=new s.Circle(e.center,e.size/2);return new a.Circle(t,e.style)},square:function(e){var t=new a.Path(e.style),n=e.size/2,i=e.center;return t.moveTo(i.x-n,i.y-n).lineTo(i.x+n,i.y-n).lineTo(i.x+n,i.y+n).lineTo(i.x-n,i.y+n).close(),t}};i(n,{map:{layers:{bubble:h,BubbleLayer:h},scales:{sqrt:d},symbols:f}})}(window.kendo.jQuery)}(),function(){!function(e){function t(e){return new u(p(e.x),p(e.y))}var n=Math,i=e.proxy,o=window.kendo,r=o.Class,s=o.template,a=o.dataviz,l=o.deepExtend,c=o.geometry,u=c.Point,h=a.map.layers.Layer,d=o.util,f=d.objectKey,p=d.round,g=d.renderSize,m=d.limitValue,v=h.extend({init:function(e,t){h.fn.init.call(this,e,t),"string"==typeof this.options.subdomains&&(this.options.subdomains=this.options.subdomains.split(""));var n=this._viewType();this._view=new n(this.element,this.options)},destroy:function(){h.fn.destroy.call(this),this._view.destroy(),this._view=null},_reset:function(){h.fn._reset.call(this),this._updateView(),this._view.reset()},_viewType:function(){return _},_activate:function(){h.fn._activate.call(this),o.support.mobileOS||(this._pan||(this._pan=o.throttle(i(this._render,this),100)),this.map.bind("pan",this._pan))},_deactivate:function(){h.fn._deactivate.call(this),this._pan&&this.map.unbind("pan",this._pan)},_updateView:function(){var e=this._view,t=this.map,n=t.extent(),i={nw:t.locationToLayer(n.nw).round(),se:t.locationToLayer(n.se).round()};e.center(t.locationToLayer(t.center())),e.extent(i),e.zoom(t.zoom())},_resize:function(){this._render()},_panEnd:function(e){h.fn._panEnd.call(this,e),this._render()},_render:function(){this._updateView(),this._view.render()}}),_=r.extend({init:function(e,t){this.element=e,this._initOptions(t),this.pool=new w},options:{tileSize:256,subdomains:["a","b","c"],urlTemplate:""},center:function(e){this._center=e},extent:function(e){this._extent=e},zoom:function(e){this._zoom=e},pointToTileIndex:function(e){return new u(n.floor(e.x/this.options.tileSize),n.floor(e.y/this.options.tileSize))},tileCount:function(){var e=this.size(),t=this.pointToTileIndex(this._extent.nw),i=this._extent.nw,o=this.indexToPoint(t).translate(-i.x,-i.y);return{x:n.ceil((n.abs(o.x)+e.width)/this.options.tileSize),y:n.ceil((n.abs(o.y)+e.height)/this.options.tileSize)}},size:function(){var e=this._extent.nw,t=this._extent.se,n=t.clone().translate(-e.x,-e.y);return{width:n.x,height:n.y}},indexToPoint:function(e){var t=e.x,n=e.y;return new u(t*this.options.tileSize,n*this.options.tileSize)},subdomainText:function(){var e=this.options.subdomains;return e[this.subdomainIndex++%e.length]},destroy:function(){this.element.empty(),this.pool.empty()},reset:function(){this.pool.reset(),this.subdomainIndex=0,this.basePoint=this._extent.nw,this.render()},render:function(){var e,t,n,i=this.tileCount(),o=this.pointToTileIndex(this._extent.nw);for(t=0;i.x>t;t++)for(n=0;i.y>n;n++)e=this.createTile({x:o.x+t,y:o.y+n}),e.visible||e.show()},createTile:function(e){var t=this.tileOptions(e),n=this.pool.get(this._center,t);return 0===n.element.parent().length&&this.element.append(n.element),n},tileOptions:function(e){var n=this.wrapIndex(e),i=this.indexToPoint(e),o=this.basePoint,r=i.clone().translate(-o.x,-o.y);return{index:n,currentIndex:e,point:i,offset:t(r),zoom:this._zoom,size:this.options.tileSize,subdomain:this.subdomainText(),urlTemplate:this.options.urlTemplate,errorUrlTemplate:this.options.errorUrlTemplate}},wrapIndex:function(e){var t=n.pow(2,this._zoom);return{x:this.wrapValue(e.x,t),y:m(e.y,0,t-1)}},wrapValue:function(e,t){var i=n.abs(e)%t;return e=e>=0?i:t-(0===i?t:i)}}),y=r.extend({init:function(e,t){this.id=e,this.visible=!0,this._initOptions(t),this.createElement(),this.show()},options:{urlTemplate:"",errorUrlTemplate:""},createElement:function(){this.element=e("<img style='position: absolute; display: block;' />").css({width:this.options.size,height:this.options.size}).error(i(function(e){this.errorUrl()?e.target.setAttribute("src",this.errorUrl()):e.target.removeAttribute("src")},this))},show:function(){var e,t=this.element[0];t.style.top=g(this.options.offset.y),t.style.left=g(this.options.offset.x),e=this.url(),e&&t.setAttribute("src",e),t.style.visibility="visible",this.visible=!0},hide:function(){this.element[0].style.visibility="hidden",this.visible=!1},url:function(){var e=s(this.options.urlTemplate);return e(this.urlOptions())},errorUrl:function(){var e=s(this.options.errorUrlTemplate);return e(this.urlOptions())},urlOptions:function(){var e=this.options;return{zoom:e.zoom,subdomain:e.subdomain,z:e.zoom,x:e.index.x,y:e.index.y,s:e.subdomain,quadkey:e.quadkey,q:e.quadkey,culture:e.culture,c:e.culture}},destroy:function(){this.element&&(this.element.remove(),this.element=null)}}),w=r.extend({init:function(){this._items=[]},options:{maxSize:100},get:function(e,t){return this._items.length>=this.options.maxSize&&this._remove(e),this._create(t)},empty:function(){var e,t=this._items;for(e=0;t.length>e;e++)t[e].destroy();this._items=[]},reset:function(){var e,t=this._items;for(e=0;t.length>e;e++)t[e].hide()},_create:function(e){var t,n,i=this._items,o=d.hashKey(f(e)+f(e.currentIndex));for(n=0;i.length>n;n++)i[n].id===o&&(t=i[n]);return t?t.show():(t=new y(o,e),this._items.push(t)),t},_remove:function(e){var t,n,i=this._items,o=-1,r=-1;for(t=0;i.length>t;t++)n=i[t].options.point.distanceTo(e),n>o&&(r=t,o=n);-1!==r&&(i[r].destroy(),i.splice(r,1))}});l(a,{map:{layers:{tile:v,TileLayer:v,ImageTile:y,TilePool:w,TileView:_}}})}(window.kendo.jQuery)}(),function(){!function(e,t){var n=window.kendo,i=n.dataviz,o=n.deepExtend,r=n.util.defined,s=i.map.Extent,a=i.map.Location,l=i.map.layers.TileLayer,c=i.map.layers.TileView,u=l.extend({init:function(t,n){l.fn.init.call(this,t,n),this._onMetadata=e.proxy(this._onMetadata,this),this._fetchMetadata()},options:{baseUrl:"//dev.virtualearth.net/REST/v1/Imagery/Metadata/",imagerySet:"road"},_fetchMetadata:function(){var t=this.options;if(!t.key)throw Error("Bing tile layer: API key is required");e.ajax({url:t.baseUrl+t.imagerySet,data:{output:"json",include:"ImageryProviders",key:t.key,uriScheme:this._scheme(window.location.protocol)},type:"get",dataType:"jsonp",jsonp:"jsonp",success:this._onMetadata})},_scheme:function(e){return"https"===e.replace(":","")?"https":"http"},_onMetadata:function(e){var t,n;e&&e.resourceSets.length&&(t=this.resource=e.resourceSets[0].resources[0],o(this._view.options,{urlTemplate:t.imageUrl.replace("{subdomain}","#= subdomain #").replace("{quadkey}","#= quadkey #").replace("{culture}","#= culture #"),subdomains:t.imageUrlSubdomains}),n=this.options,r(n.minZoom)||(n.minZoom=t.zoomMin),r(n.maxZoom)||(n.maxZoom=t.zoomMax),this._addAttribution(),"none"!==this.element.css("display")&&this.reset())},_viewType:function(){return h},_addAttribution:function(){var e,t,n,i,o,r=this.map.attribution;if(r&&(e=this.resource.imageryProviders))for(t=0;e.length>t;t++)for(n=e[t],i=0;n.coverageAreas.length>i;i++)o=n.coverageAreas[i],r.add({text:n.attribution,minZoom:o.zoomMin,maxZoom:o.zoomMax,extent:new s(new a(o.bbox[2],o.bbox[1]),new a(o.bbox[0],o.bbox[3]))})},imagerySet:function(e){return e?(this.options.imagerySet=e,this.map.attribution.clear(),this._fetchMetadata(),this._reset(),t):this.options.imagerySet}}),h=c.extend({options:{culture:"en-US"},tileOptions:function(e){var t=c.fn.tileOptions.call(this,e);return t.culture=this.options.culture,t.quadkey=this.tileQuadKey(this.wrapIndex(e)),t},tileQuadKey:function(e){var t,n,i,o="";for(i=this._zoom;i>0;i--)t=0,n=1<<i-1,0!==(e.x&n)&&t++,0!==(e.y&n)&&(t+=2),o+=t;return o}});o(i,{map:{layers:{bing:u,BingLayer:u,BingView:h}}})}(window.kendo.jQuery)}(),function(){!function(e,t){var n=document,i=Math,o=e.inArray,r=e.proxy,s=window.kendo,a=s.Class,l=s.data.DataSource,c=s.ui.Tooltip,u=s.dataviz,h=s.deepExtend,d=u.map,f=d.Location,p=d.layers.Layer,g=p.extend({init:function(e,t){p.fn.init.call(this,e,t),this._markerClick=r(this._markerClick,this),this.element.on("click",".k-marker",this._markerClick),this.items=[],this._initDataSource()},destroy:function(){p.fn.destroy.call(this),this.element.off("click",".k-marker",this._markerClick),this.dataSource.unbind("change",this._dataChange),this.clear()},options:{zIndex:1e3,autoBind:!0,dataSource:{},locationField:"location",titleField:"title"},add:function(t){if(!e.isArray(t))return this._addOne(t);for(var n=0;t.length>n;n++)this._addOne(t[n])},remove:function(e){e.destroy();var t=o(e,this.items);t>-1&&this.items.splice(t,1)},clear:function(){for(var e=0;this.items.length>e;e++)this.items[e].destroy();this.items=[]},update:function(e){var t,n=e.location();n&&(e.showAt(this.map.locationToView(n)),t={marker:e,layer:this},this.map.trigger("markerActivate",t))},_reset:function(){var e,t;for(p.fn._reset.call(this),e=this.items,t=0;e.length>t;t++)this.update(e[t])},bind:function(e,n){var i,o,r=d.Marker.create(e,this.options);return r.dataItem=n,i={marker:r,layer:this},o=this.map.trigger("markerCreated",i),o?t:(this.add(r),r)},setDataSource:function(e){this.dataSource&&this.dataSource.unbind("change",this._dataChange),this.dataSource=s.data.DataSource.create(e),this.dataSource.bind("change",this._dataChange),this.options.autoBind&&this.dataSource.fetch()},_addOne:function(e){var t=m.create(e,this.options);return t.addTo(this),t},_initDataSource:function(){var e=this.options.dataSource;this._dataChange=r(this._dataChange,this),this.dataSource=l.create(e).bind("change",this._dataChange),e&&this.options.autoBind&&this.dataSource.fetch()},_dataChange:function(e){this._load(e.sender.view())},_load:function(e){var t,n,i,o;for(this._data=e,this.clear(),t=s.getter(this.options.locationField),n=s.getter(this.options.titleField),i=0;e.length>i;i++)o=e[i],this.bind({location:t(o),title:n(o)},o)},_markerClick:function(t){var n={marker:e(t.target).data("kendoMarker"),layer:this};this.map.trigger("markerClick",n)}}),m=a.extend({init:function(e){this.options=e||{}},addTo:function(e){this.layer=e.markers||e,this.layer.items.push(this),this.layer.update(this)},location:function(e){return e?(this.options.location=f.create(e).toArray(),this.layer&&this.layer.update(this),this):f.create(this.options.location)},showAt:function(e){this.render(),this.element.css({left:i.round(e.x),top:i.round(e.y)}),this.tooltip&&this.tooltip.popup&&this.tooltip.popup._position()},hide:function(){this.element&&(this.element.remove(),this.element=null),this.tooltip&&(this.tooltip.destroy(),this.tooltip=null)},destroy:function(){this.layer=null,this.hide()},render:function(){var t,i;this.element||(t=this.options,i=this.layer,this.element=e(n.createElement("span")).addClass("k-marker k-marker-"+s.toHyphens(t.shape||"pin")).attr("title",t.title).attr(t.attributes||{}).data("kendoMarker",this).css("zIndex",t.zIndex),i&&i.element.append(this.element),this.renderTooltip())},renderTooltip:function(){var e,t,n=this,i=n.options.title,o=n.options.tooltip||{};o&&c&&(e=o.template,e&&(t=s.template(e),o.content=function(e){return e.location=n.location(),e.marker=n,t(e)}),(i||o.content||o.contentUrl)&&(this.tooltip=new c(this.element,o),this.tooltip.marker=this))}});m.create=function(e,t){return e instanceof m?e:new m(h({},t,e))},h(u,{map:{layers:{marker:g,MarkerLayer:g},Marker:m}})}(window.kendo.jQuery)}(),function(){!function(e){var t=document,n=Math,i=n.min,o=n.pow,r=e.proxy,s=window.kendo,a=s.ui.Widget,l=s.deepExtend,c=s.dataviz,u=c.ui,h=s.geometry,d=h.Point,f=c.map,p=f.Extent,g=f.Location,m=f.crs.EPSG3857,v=s.util,_=v.defined,y=v.limitValue,w=v.renderPos,b=v.valueOrDefault,x="k-",k=.9,C=.93,S="DOMMouseScroll mousewheel",T=5,A=a.extend({init:function(e,n){s.destroy(e),a.fn.init.call(this,e),this._initOptions(n),this.bind(this.events,n),this.crs=new m,this.element.addClass(x+this.options.name.toLowerCase()).css("position","relative").empty().append(t.createElement("div")),this._viewOrigin=this._getOrigin(),this._initScroller(),this._initMarkers(),this._initControls(),this._initLayers(),this._reset(),this._mousewheel=r(this._mousewheel,this),this.element.bind("click",r(this._click,this)),this.element.bind(S,this._mousewheel)},options:{name:"Map",controls:{attribution:!0,navigator:{panStep:100},zoom:!0},layers:[],layerDefaults:{shape:{style:{fill:{color:"#fff"},stroke:{color:"#aaa",width:.5}}},bubble:{style:{fill:{color:"#fff",opacity:.5},stroke:{color:"#aaa",width:.5}}},marker:{shape:"pinTarget",tooltip:{position:"top"}}},center:[0,0],zoom:3,minSize:256,minZoom:1,maxZoom:19,markers:[],markerDefaults:{shape:"pinTarget",tooltip:{position:"top"}},wraparound:!0},events:["beforeReset","click","reset","pan","panEnd","markerActivate","markerClick","markerCreated","shapeClick","shapeCreated","shapeMouseEnter","shapeMouseLeave","zoomStart","zoomEnd"],destroy:function(){this.scroller.destroy(),this.navigator&&this.navigator.destroy(),this.attribution&&this.attribution.destroy(),this.zoomControl&&this.zoomControl.destroy(),this.markers.destroy();for(var e=0;this.layers.length>e;e++)this.layers[e].destroy();a.fn.destroy.call(this)},zoom:function(e){var t=this.options;return _(e)?(e=n.round(y(e,t.minZoom,t.maxZoom)),t.zoom!==e&&(t.zoom=e,this._reset()),this):t.zoom},center:function(e){return e?(this.options.center=g.create(e).toArray(),this._reset(),this):g.create(this.options.center)},extent:function(e){return e?(this._setExtent(e),this):this._getExtent()},setOptions:function(e){a.fn.setOptions.call(this,e),this._reset()},locationToLayer:function(e,t){var n=!this.options.wraparound;return e=g.create(e),this.crs.toPoint(e,this._layerSize(t),n)},layerToLocation:function(e,t){var n=!this.options.wraparound;return e=d.create(e),this.crs.toLocation(e,this._layerSize(t),n)},locationToView:function(e){var t,n;return e=g.create(e),t=this.locationToLayer(this._viewOrigin),n=this.locationToLayer(e),n.translateWith(t.scale(-1))},viewToLocation:function(e,t){var n=this.locationToLayer(this._getOrigin(),t);return e=d.create(e),e=e.clone().translateWith(n),this.layerToLocation(e,t)},eventOffset:function(e){var t=this.element.offset(),n=e.originalEvent||e,i=b(n.pageX,n.clientX)-t.left,o=b(n.pageY,n.clientY)-t.top;return new h.Point(i,o)},eventToView:function(e){var t=this.eventOffset(e);return this.locationToView(this.viewToLocation(t))},eventToLayer:function(e){return this.locationToLayer(this.eventToLocation(e))},eventToLocation:function(e){var t=this.eventOffset(e);return this.viewToLocation(t)},viewSize:function(){var e=this.element,t=this._layerSize(),n=e.width();return this.options.wraparound||(n=i(t,n)),{width:n,height:i(t,e.height())}},exportVisual:function(){return this._reset(),!1},_setOrigin:function(e,t){var n,i=this.viewSize();
return e=this._origin=g.create(e),n=this.locationToLayer(e,t),n.x+=i.width/2,n.y+=i.height/2,this.options.center=this.layerToLocation(n,t).toArray(),this},_getOrigin:function(e){var t,n=this.viewSize();return(e||!this._origin)&&(t=this.locationToLayer(this.center()),t.x-=n.width/2,t.y-=n.height/2,this._origin=this.layerToLocation(t)),this._origin},_setExtent:function(e){var t,i,o,r,s,a,l;for(e=p.create(e),this.center(e.center()),t=this.element.width(),i=this.element.height(),o=this.options.maxZoom;o>=this.options.minZoom&&(r=this.locationToLayer(e.nw,o),s=this.locationToLayer(e.se,o),a=n.abs(s.x-r.x),l=n.abs(s.y-r.y),!(t>=a&&i>=l));o--);this.zoom(o)},_getExtent:function(){var e,t=this._getOrigin(),n=this.locationToLayer(t),i=this.viewSize();return n.x+=i.width,n.y+=i.height,e=this.layerToLocation(n),new p(t,e)},_zoomAround:function(e,t){this._setOrigin(this.layerToLocation(e,t),t),this.zoom(t)},_initControls:function(){var e=this.options.controls;u.Attribution&&e.attribution&&this._createAttribution(e.attribution),s.support.mobileOS||(u.Navigator&&e.navigator&&this._createNavigator(e.navigator),u.ZoomControl&&e.zoom&&this._createZoomControl(e.zoom))},_createControlElement:function(t,n){var i=t.position||n,o="."+w(i).replace(" ","."),r=e(".k-map-controls"+o,this.element);return 0===r.length&&(r=e("<div>").addClass("k-map-controls "+w(i)).appendTo(this.element)),e("<div>").appendTo(r)},_createAttribution:function(e){var t=this._createControlElement(e,"bottomRight");this.attribution=new u.Attribution(t,e)},_createNavigator:function(e){var t=this._createControlElement(e,"topLeft"),n=this.navigator=new u.Navigator(t,e);this._navigatorPan=r(this._navigatorPan,this),n.bind("pan",this._navigatorPan),this._navigatorCenter=r(this._navigatorCenter,this),n.bind("center",this._navigatorCenter)},_navigatorPan:function(e){var t=this,n=t.scroller,i=n.scrollLeft+e.x,o=n.scrollTop-e.y,r=this._virtualSize,s=this.element.height(),a=this.element.width();i=y(i,r.x.min,r.x.max-a),o=y(o,r.y.min,r.y.max-s),t.scroller.one("scroll",function(e){t._scrollEnd(e)}),t.scroller.scrollTo(-i,-o)},_navigatorCenter:function(){this.center(this.options.center)},_createZoomControl:function(e){var t=this._createControlElement(e,"topLeft"),n=this.zoomControl=new u.ZoomControl(t,e);this._zoomControlChange=r(this._zoomControlChange,this),n.bind("change",this._zoomControlChange)},_zoomControlChange:function(e){this.trigger("zoomStart",{originalEvent:e})||(this.zoom(this.zoom()+e.delta),this.trigger("zoomEnd",{originalEvent:e}))},_initScroller:function(){var e=s.support.mobileOS?C:k,t=this.options.zoomable!==!1,n=this.scroller=new s.mobile.ui.Scroller(this.element.children(0),{friction:e,velocityMultiplier:T,zoom:t,mousewheelScrolling:!1});n.bind("scroll",r(this._scroll,this)),n.bind("scrollEnd",r(this._scrollEnd,this)),n.userEvents.bind("gesturestart",r(this._scaleStart,this)),n.userEvents.bind("gestureend",r(this._scale,this)),this.scrollElement=n.scrollElement},_initLayers:function(){var e,t,n,i,o,r=this.options.layers,s=this.layers=[];for(e=0;r.length>e;e++)t=r[e],n=t.type||"shape",i=this.options.layerDefaults[n],o=c.map.layers[n],s.push(new o(this,l({},i,t)))},_initMarkers:function(){this.markers=new f.layers.MarkerLayer(this,this.options.markerDefaults),this.markers.add(this.options.markers)},_scroll:function(e){var t=this.locationToLayer(this._viewOrigin).round(),n=e.sender.movable,i=new h.Point(n.x,n.y).scale(-1).scale(1/n.scale);t.x+=i.x,t.y+=i.y,this._scrollOffset=i,this._setOrigin(this.layerToLocation(t)),this.trigger("pan",{originalEvent:e,origin:this._getOrigin(),center:this.center()})},_scrollEnd:function(e){this._scrollOffset&&this._panComplete()&&(this._scrollOffset=null,this._panEndTS=new Date,this.trigger("panEnd",{originalEvent:e,origin:this._getOrigin(),center:this.center()}))},_panComplete:function(){return new Date-(this._panEndTS||0)>50},_scaleStart:function(e){if(this.trigger("zoomStart",{originalEvent:e})){var t=e.touches[1];t&&t.cancel()}},_scale:function(e){var t=this.scroller.movable.scale,n=this._scaleToZoom(t),i=new h.Point(e.center.x,e.center.y),o=this.viewToLocation(i,n),r=this.locationToLayer(o,n),s=r.translate(-i.x,-i.y);this._zoomAround(s,n),this.trigger("zoomEnd",{originalEvent:e})},_scaleToZoom:function(e){var t=this._layerSize()*e,i=t/this.options.minSize,o=n.log(i)/n.log(2);return n.round(o)},_reset:function(){this.attribution&&this.attribution.filter(this.center(),this.zoom()),this._viewOrigin=this._getOrigin(!0),this._resetScroller(),this.trigger("beforeReset"),this.trigger("reset")},_resetScroller:function(){var e,t,n,i,r=this.scroller,s=r.dimensions.x,a=r.dimensions.y,l=this._layerSize(),c=this.extent().nw,u=this.locationToLayer(c).round();r.movable.round=!0,r.reset(),r.userEvents.cancel(),e=this.zoom(),r.dimensions.forcedMinScale=o(2,this.options.minZoom-e),r.dimensions.maxScale=o(2,this.options.maxZoom-e),t={min:-u.x,max:l-u.x},n={min:-u.y,max:l-u.y},this.options.wraparound&&(t.max=20*l,t.min=-t.max),this.options.pannable===!1&&(i=this.viewSize(),t.min=n.min=0,t.max=i.width,n.max=i.height),s.makeVirtual(),a.makeVirtual(),s.virtualSize(t.min,t.max),a.virtualSize(n.min,n.max),this._virtualSize={x:t,y:n}},_renderLayers:function(){var e,t,n,i,o,r=this.options.layers,s=this.layers=[],a=this.scrollWrap;for(a.empty(),e=0;r.length>e;e++)t=r[e],n=t.type||"shape",i=this.options.layerDefaults[n],o=c.map.layers[n],s.push(new o(this,l({},i,t)))},_layerSize:function(e){return e=b(e,this.options.zoom),this.options.minSize*o(2,e)},_click:function(e){if(this._panComplete()){var t=this.eventOffset(e);this.trigger("click",{originalEvent:e,location:this.viewToLocation(t)})}},_mousewheel:function(e){var t,n,i,o,r,s,a,l;e.preventDefault(),t=c.mwDelta(e)>0?-1:1,n=this.options,i=this.zoom(),o=y(i+t,n.minZoom,n.maxZoom),n.zoomable!==!1&&o!==i&&(this.trigger("zoomStart",{originalEvent:e})||(r=this.eventOffset(e),s=this.viewToLocation(r),a=this.locationToLayer(s,o),l=a.translate(-r.x,-r.y),this._zoomAround(l,o),this.trigger("zoomEnd",{originalEvent:e})))}});c.ui.plugin(A)}(window.kendo.jQuery)}(),window.kendo},"function"==typeof define&&define.amd?define:function(e,t){t()});