function WeatherMapCtrl(map_canvas,mapAttribute){var map=this,showSingleIcon=!1,latlng,size,defaultZoomLvl,myOptions;mapCtrlWeather=this,this.mapAttribute=eval(mapAttribute),this.mapCanvas=document.getElementById(map_canvas),this.mapType,this.mapZoomType,this.routeName=localizeModuleAdvancedMapRoute(),this.themePath=this.mapAttribute.ThemePath,this.Markers=[],this.TempMarkers=[],this.WindMarkers=[],latlng=new google.maps.LatLng(this.mapAttribute.Latitude,this.mapAttribute.Longitude),this.mapAttribute.MapControlType==2&&this.mapAttribute.DataSource!=null&&this.mapAttribute.DataSource.length>0&&(latlng=new google.maps.LatLng(this.mapAttribute.DataSource[0].Lat,this.mapAttribute.DataSource[0].Lon)),this.GetMapType(),this.GetMapZoomType(),defaultZoomLvl=this.mapAttribute.ZoomLevel,this.mapAttribute.WeatherSymbols==3?(size=50,defaultZoomLvl=parseInt(this.mapAttribute.ZoomLevel)+1):size=30,myOptions={zoom:defaultZoomLvl,center:latlng,mapTypeId:this.mapType,navigationControlOptions:{style:this.mapZoomType},mapTypeControl:this.mapAttribute.EnableMapTypeControl,navigationControl:this.mapAttribute.EnableZoomControl,mapTypeControlOptions:{mapTypeIds:map.GetMapTypeControlList([0,1,2])}},this.mapControl=new google.maps.Map(this.mapCanvas,myOptions),(map.mapAttribute.WeatherSymbols==0||map.mapAttribute.WeatherSymbols==1||map.mapAttribute.WeatherSymbols==2)&&(isShowAllSymbol=!0,map.mapAttribute.WeatherSymbols=3,showSingleIcon=!0),this.GetWeatherSymbol();var zoom=this.mapControl.getZoom(),styles=this.mapAttribute.DataSource,isShowAllSymbol=map.mapAttribute.WeatherSymbols==3;this.Markers.length>0&&(markerClusterer=new MarkerClusterer(this.mapControl,this.Markers,{maxZoom:zoom,gridSize:size,styles:styles,zoomOnClick:!0,showAllSymbol:isShowAllSymbol,tempMarkers:this.TempMarkers,windMarkers:this.WindMarkers,symbolPath:this.themePath+iconPath,showSingleIcon:showSingleIcon})),google.maps.event.addListener(this.mapControl,"click",function(n){var i=n.latLng.lat().toFixed(5),t=n.latLng.lng().toFixed(5);RedirectToLocation(map,i+"_"+t)})}function SearchMapCtrl(map_canvas,mapAttribute){var map=this,latlng,myOptions;this.mapAttribute=eval(mapAttribute),this.mapCanvas=document.getElementById(map_canvas),this.mapType,this.mapZoomType,this.routeName=localizeModuleAdvancedMapRoute(),this.themePath=this.mapAttribute.ThemePath,this.Markers=[],latlng=new google.maps.LatLng(this.mapAttribute.Latitude,this.mapAttribute.Longitude),this.GetMapType(),this.GetMapZoomType(),myOptions={zoom:this.mapAttribute.ZoomLevel,center:latlng,mapTypeId:this.mapType,navigationControlOptions:{style:google.maps.MapTypeControlStyle.HORIZONTAL_BAR},mapTypeControl:this.mapAttribute.EnableMapTypeControl,streetViewControl:!1,navigationControl:this.mapAttribute.EnableZoomControl},this.mapControl=new google.maps.Map(this.mapCanvas,myOptions),this.GetSearchMapSymbol(),google.maps.event.addListener(this.mapControl,"click",function(n){var i=n.latLng.lat().toFixed(5),t=n.latLng.lng().toFixed(5);RedirectToLocation(map,i+"_"+t)})}function ChangeIconVisibility(n){var t;switch(n){case"sky":for(t=0;t<objMarkerCluster.markers_.length;++t)objMarkerCluster.markers_[t].setVisible(!0),objMarkerCluster.TempMarkers[t].setVisible(!1),objMarkerCluster.WindMarkers[t].setVisible(!1);isSkyMarkerVisible=!0,document.getElementById(weatherSymbolId)!=null&&(document.getElementById(weatherSymbolId).src=objMarkerCluster.symbolPath+weatherSymbolSelImageName,document.getElementById(tempId).src=objMarkerCluster.symbolPath+tempImageName,document.getElementById(windArrorId).src=objMarkerCluster.symbolPath+windArrowImageName);break;case"temp":for(t=0;t<objMarkerCluster.markers_.length;++t)objMarkerCluster.TempMarkers[t].setVisible(!0),objMarkerCluster.markers_[t].setVisible(!1),objMarkerCluster.WindMarkers[t].setVisible(!1);isSkyMarkerVisible=!1,document.getElementById(weatherSymbolId)!=null&&(document.getElementById(tempId).src=objMarkerCluster.symbolPath+tempImageSelName,document.getElementById(weatherSymbolId).src=objMarkerCluster.symbolPath+weatherSymbolImageName,document.getElementById(windArrorId).src=objMarkerCluster.symbolPath+windArrowImageName);break;case"wind":for(t=0;t<objMarkerCluster.markers_.length;++t)objMarkerCluster.WindMarkers[t].setVisible(!0),objMarkerCluster.markers_[t].setVisible(!1),objMarkerCluster.TempMarkers[t].setVisible(!1);isSkyMarkerVisible=!1,document.getElementById(weatherSymbolId)!=null&&(document.getElementById(windArrorId).src=objMarkerCluster.symbolPath+windArrowImageSelName,document.getElementById(weatherSymbolId).src=objMarkerCluster.symbolPath+weatherSymbolImageName,document.getElementById(tempId).src=objMarkerCluster.symbolPath+tempImageName)}}function HideShowSymbolsOnMap(n){switch(n){case"sky":ToggleMarkerVisibility(objMarkerCluster.markers_),document.getElementById(weatherSymbolId).src.indexOf(weatherSymbolSelImageName)!="-1"?(document.getElementById(weatherSymbolId).src=objMarkerCluster.symbolPath+weatherSymbolImageName,isSkyMarkerVisible=!1):(document.getElementById(weatherSymbolId).src=objMarkerCluster.symbolPath+weatherSymbolSelImageName,isSkyMarkerVisible=!0);break;case"temp":ToggleMarkerVisibility(objMarkerCluster.TempMarkers),document.getElementById(tempId).src=document.getElementById(tempId).src.indexOf(tempImageSelName)!="-1"?objMarkerCluster.symbolPath+tempImageName:objMarkerCluster.symbolPath+tempImageSelName;break;case"wind":ToggleMarkerVisibility(objMarkerCluster.WindMarkers),document.getElementById(windArrorId).src=document.getElementById(windArrorId).src.indexOf(windArrowImageSelName)!="-1"?objMarkerCluster.symbolPath+windArrowImageName:objMarkerCluster.symbolPath+windArrowImageSelName}}function ToggleMarkerVisibility(n){for(var t=0;t<n.length;++t)n[t].visible?n[t].setVisible(!1):n[t].setVisible(!0)}function MarkerClusterer(n,t,i){var r,u;this.extend(MarkerClusterer,google.maps.OverlayView),this.map_=n,this.markers_=[],this.clusters_=[],this.clustersTemp_=[],this.sizes=[30],this.styles_=[],this.ready_=!1,r=i||{},this.gridSize_=r.gridSize||60,this.maxZoom_=r.maxZoom||null,this.styles_=r.styles||[],this.imagePath_=r.imagePath||this.MARKER_CLUSTER_IMAGE_PATH_,this.imageExtension_=r.imageExtension||this.MARKER_CLUSTER_IMAGE_EXTENSION_,this.zoomOnClick_=r.zoomOnClick||!0,this.showAllSymbol=r.showAllSymbol||!1,this.TempMarkers=r.tempMarkers,this.WindMarkers=r.windMarkers,this.symbolPath=r.symbolPath,this.showSingleIcon=r.showSingleIcon,this.isZoomChanged=!1,this.setMap(n),this.prevZoom_=this.map_.getZoom(),objMarkerCluster=this,u=this,google.maps.event.addListener(this.map_,"zoom_changed",function(){objMarkerCluster.isZoomChanged=!0;var t=u.map_.mapTypes[u.map_.getMapTypeId()].maxZoom,n=u.map_.getZoom();if(n<0||n>t)return;u.prevZoom_!=n&&(u.prevZoom_=u.map_.getZoom(),u.resetViewport())}),google.maps.event.addListener(this.map_,"bounds_changed",function(){u.redraw()}),t&&t.length&&this.addMarkers(t,!1)}function Cluster(n){this.markerClusterer_=n,this.map_=n.getMap(),this.gridSize_=n.getGridSize(),this.center_=null,this.markers_=[],this.bounds_=null,this.clusterIcon_=new ClusterIcon(this,n.getStyles(),n.getGridSize())}function ClusterIcon(n,t,i){n.getMarkerClusterer().extend(ClusterIcon,google.maps.OverlayView),this.styles_=t,this.padding_=i||0,this.cluster_=n,this.center_=null,this.map_=n.getMap(),this.div_=null,this.sums_=null,this.visible_=!1,this.setMap(this.map_)}var markerClusterer=null,skyMapSymbolBasePath="symbols/sky/map",windMapsymbolBasePath="symbols/wind/map",tempMapSymbolBasePath="symbols/temp/map",iconPath="icons/",weatherSymbolId="imgWeatherSymbol",tempId="imgTemperature",windArrorId="imgWind",weatherSymbolImageName="weathersymbol.png",tempImageName="temp.png",windArrowImageName="windarrowsymbol.png",isSkyMarkerVisible=!0,weatherSymbolSelImageName="weathersymbol_2.png",tempImageSelName="temp_2.png",windArrowImageSelName="windarrowsymbol_2.png",symbolExtension={PNG:".png",JPG:".jpg",GIF:".gif"},mapCtrlWeather,objMarkerCluster;WeatherMapCtrl.prototype.GetWeatherSymbol=function(){var n,t,i,u,r;if(this.mapAttribute.DataSource==null)return;this.Markers.splice(0,this.Markers.length);switch(this.mapAttribute.WeatherSymbols){case 0:for(n=0;n<this.mapAttribute.DataSource.length;n++)t=new google.maps.LatLng(this.mapAttribute.DataSource[n].Lat,this.mapAttribute.DataSource[n].Lon),i=this.BindSymbolMarker(t,this.getMapSkySymbolPath(this.mapAttribute.DataSource[n].Symbol)),this.Markers.push(i);break;case 1:for(n=0;n<this.mapAttribute.DataSource.length;n++)t=new google.maps.LatLng(this.mapAttribute.DataSource[n].Lat,this.mapAttribute.DataSource[n].Lon),i=this.BindSymbolMarker(t,this.getMapTemperatureSymbolPath(Math.round(this.mapAttribute.DataSource[n].Temperature))),this.Markers.push(i);break;case 2:for(n=0;n<this.mapAttribute.DataSource.length;n++)t=new google.maps.LatLng(this.mapAttribute.DataSource[n].Lat,this.mapAttribute.DataSource[n].Lon),i=this.BindSymbolMarker(t,this.getMapWindSymbolPath(this.mapAttribute.DataSource[n].Winddirection,this.mapAttribute.DataSource[n].Windspeed)),this.Markers.push(i);break;case 3:for(n=0;n<this.mapAttribute.DataSource.length;n++)t=new google.maps.LatLng(this.mapAttribute.DataSource[n].Lat,this.mapAttribute.DataSource[n].Lon),i=this.BindSymbolMarker(t,this.getMapSkySymbolPath(this.mapAttribute.DataSource[n].Symbol)),this.Markers.push(i),u=this.BindSymbolMarkerWithoutMap(t,this.getMapTemperatureSymbolPath(Math.round(this.mapAttribute.DataSource[n].Temperature))),this.TempMarkers.push(u),r=this.BindSymbolMarkerWithoutMap(t,this.getMapWindSymbolPath(this.mapAttribute.DataSource[n].Winddirection,this.mapAttribute.DataSource[n].Windspeed)),this.WindMarkers.push(r)}},WeatherMapCtrl.prototype.BindSymbolMarker=function(n,t){var r=this,i=new google.maps.Marker({position:n,map:this.mapControl,draggable:!1,icon:t});return google.maps.event.addListener(i,"click",function(){RedirectToLocation(r,n.lat()+"_"+n.lng())}),i},WeatherMapCtrl.prototype.BindSymbolMarkerWithoutMap=function(n,t){var r=this,i=new google.maps.Marker({position:n,draggable:!1,icon:t});return google.maps.event.addListener(i,"click",function(){RedirectToLocation(r,n.lat()+"_"+n.lng())}),i},RedirectToLocation=function(n,t){var i="/"+localizeWeatherRoute()+"/"+t;n.mapAttribute.MapControlType==2&&(i=i+"/"+mapCtrlWeather.routeName),window.parent.location=i},WeatherMapCtrl.prototype.GetMapType=function(){switch(this.mapAttribute.MapType){case 0:this.mapType=google.maps.MapTypeId.ROADMAP;break;case 1:this.mapType=google.maps.MapTypeId.SATELLITE;break;case 2:this.mapType=google.maps.MapTypeId.TERRAIN;break;case 3:this.mapType=google.maps.MapTypeId.HYBRID}},WeatherMapCtrl.prototype.GetMapZoomType=function(){switch(this.mapAttribute.MapZoomType){case 0:this.mapZoomType=google.maps.NavigationControlStyle.DEFAULT;break;case 1:this.mapZoomType=google.maps.NavigationControlStyle.SMALL;break;case 2:this.mapZoomType=google.maps.NavigationControlStyle.ZOOM_PAN}},WeatherMapCtrl.prototype.GetMapTypeControlList=function(n){for(var i=[],t=0;t<n.length;++t)switch(n[t]){case 0:i.push(google.maps.MapTypeId.ROADMAP);break;case 1:i.push(google.maps.MapTypeId.SATELLITE);break;case 2:i.push(google.maps.MapTypeId.TERRAIN)}return i},WeatherMapCtrl.prototype.getMapSkySymbolPath=function(n){return this.themePath+skyMapSymbolBasePath+"/"+n+symbolExtension.PNG},WeatherMapCtrl.prototype.getMapWindSymbolPath=function(n,t){return this.themePath+windMapsymbolBasePath+"/"+this.getWindDirectionId(n)+this.getWindSpeedArrowId(t)+symbolExtension.PNG},WeatherMapCtrl.prototype.getMapTemperatureSymbolPath=function(n){var t=n.toString();return t<0&&t.indexOf("-")!="-1"&&(t=t.replace("-","_")),this.themePath+tempMapSymbolBasePath+"/"+t+symbolExtension.PNG},WeatherMapCtrl.prototype.getWindDirectionId=function(n){return n>337?"N":n>292?"NW":n>247?"W":n>202?"SW":n>157?"S":n>112?"SE":n>67?"E":n>22?"NE":"N"},WeatherMapCtrl.prototype.getWindSpeedArrowId=function(n){return n<2.5?"00":n<7.5?"05":n<12.5?"10":n<17.5?"15":n<22.5?"20":n<27.5?"25":n<32.5?"30":n<37.5?"35":n<42.5?"40":n<47.5?"45":n<52.5?"50":n<57.5?"55":n<62.5?"60":"65"},SearchMapCtrl.prototype.GetMapType=function(){switch(this.mapAttribute.MapType){case 0:this.mapType=google.maps.MapTypeId.ROADMAP;break;case 1:this.mapType=google.maps.MapTypeId.SATELLITE;break;case 2:this.mapType=google.maps.MapTypeId.TERRAIN;break;case 3:this.mapType=google.maps.MapTypeId.HYBRID}},SearchMapCtrl.prototype.GetMapZoomType=function(){switch(this.mapAttribute.MapZoomType){case 0:this.mapZoomType=google.maps.NavigationControlStyle.DEFAULT;break;case 1:this.mapZoomType=google.maps.NavigationControlStyle.SMALL;break;case 2:this.mapZoomType=google.maps.NavigationControlStyle.ZOOM_PAN}},SearchMapCtrl.prototype.GetSearchMapSymbol=function(){var r,i,t,n;if(this.mapAttribute.DataSource==null)return;for(t=this.mapAttribute.IconFolder+"/"+this.mapAttribute.PenIcon,this.mapAttribute.DataSource.length==undefined&&(latLng=new google.maps.LatLng(this.mapAttribute.DataSource.Lat,this.mapAttribute.DataSource.Lon),i=this.BindSearchMarker(latLng,t)),n=0;n<this.mapAttribute.DataSource.length;n++)latLng=new google.maps.LatLng(this.mapAttribute.DataSource[n].Lat,this.mapAttribute.DataSource[n].Lon),i=this.BindSearchMarker(latLng,t),this.Markers.push(i)},SearchMapCtrl.prototype.BindSearchMarker=function(n){var r=this,i=new google.maps.Marker({position:n,map:this.mapControl,draggable:!1});google.maps.event.addListener(i,"click",function(){RedirectToLocation(r,n.lat()+"_"+n.lng())})},MarkerClusterer.prototype.extend=function(n,t){return function(n){for(property in n.prototype)this.prototype[property]=n.prototype[property];return this}.apply(n,[t])},MarkerClusterer.prototype.addMarkers=function(n,t){for(var r=0,i;i=n[r];r++)this.pushMarkerTo_(i);t||this.redraw()},MarkerClusterer.prototype.pushMarkerTo_=function(n){n.setVisible(!1),n.setMap(null),n.isAdded=!1;if(n.draggable){var t=this;google.maps.event.addListener(n,"dragend",function(){n.isAdded=!1,t.resetViewport(),t.redraw()})}this.markers_.push(n)},MarkerClusterer.prototype.addMarker=function(n,t){this.pushMarkerTo_(n),t||this.redraw()},MarkerClusterer.prototype.removeMarker=function(n){var i=-1,t,r;if(this.markers_.indexOf)i=this.markers_.indexOf(n);else for(t=0;r=this.markers_[t];t++)if(r==n){i=t;continue}return i==-1?!1:(this.markers_.splice(i,1),n.setVisible(!1),n.setMap(null),this.resetViewport(),this.redraw(),!0)},MarkerClusterer.prototype.setReady_=function(n){this.ready_||(this.ready_=n,this.createClusters_())},MarkerClusterer.prototype.getTotalClusters=function(){return this.clusters_.length},MarkerClusterer.prototype.getMap=function(){return this.map_},MarkerClusterer.prototype.setMap=function(n){this.map_=n},MarkerClusterer.prototype.getGridSize=function(){return this.gridSize_},MarkerClusterer.prototype.setGridSize=function(n){this.gridSize_=n},MarkerClusterer.prototype.getExtendedBounds=function(n){var i=this.getProjection(),o=new google.maps.LatLng(n.getNorthEast().lat(),n.getNorthEast().lng()),e=new google.maps.LatLng(n.getSouthWest().lat(),n.getSouthWest().lng()),r=i.fromLatLngToDivPixel(o),t,u,f;return r.x+=this.gridSize_,r.y-=this.gridSize_,t=i.fromLatLngToDivPixel(e),t.x-=this.gridSize_,t.y+=this.gridSize_,u=i.fromDivPixelToLatLng(r),f=i.fromDivPixelToLatLng(t),n.extend(u),n.extend(f),n},MarkerClusterer.prototype.isMarkerInBounds_=function(n,t){return t.contains(n.getPosition())},MarkerClusterer.prototype.clearMarkers=function(){this.resetViewport(),this.markers_=[]},MarkerClusterer.prototype.resetViewport=function(){for(var i,t,n=0;i=this.clusters_[n];n++)i.remove();for(n=0;t=this.markers_[n];n++)t.isAdded=!1,t.setMap(null),t.setVisible(!1);this.clusters_=[]},MarkerClusterer.prototype.redraw=function(){this.createClusters_();if(!isSkyMarkerVisible)for(var n=0;n<objMarkerCluster.markers_.length;++n)objMarkerCluster.markers_[n].setVisible(!1)},MarkerClusterer.prototype.createClusters_=function(){var o,s,n,i,r,e,t;if(!this.ready_)return;for(o=new google.maps.LatLngBounds(this.map_.getBounds().getSouthWest(),this.map_.getBounds().getNorthEast()),s=this.getExtendedBounds(o),n=0;i=this.markers_[n];n++){if(this.showAllSymbol){var h=this.getProjection().fromLatLngToDivPixel(this.markers_[n].position),f=h.x,u=h.y;this.TempMarkers.length>0&&(this.TempMarkers[n].position=objMarkerCluster.showSingleIcon?this.getProjection().fromDivPixelToLatLng({x:f,y:u}):this.getProjection().fromDivPixelToLatLng({x:f+27,y:u-15})),this.WindMarkers.length>0&&(this.WindMarkers[n].position=objMarkerCluster.showSingleIcon?this.getProjection().fromDivPixelToLatLng({x:f,y:u}):this.getProjection().fromDivPixelToLatLng({x:f+27,y:u+15}))}r=!1;if(!i.isAdded&&this.isMarkerInBounds_(i,s)){for(e=0;t=this.clusters_[e];e++)if(!r&&t.getCenter()&&t.isMarkerInClusterBounds(i)){r=!0,t.addMarker(i,n);break}r||(t=new Cluster(this),t.addMarker(i,n),this.clusters_.push(t))}}!objMarkerCluster.isZoomChanged&&objMarkerCluster.showSingleIcon&&ChangeIconVisibility("sky")},Cluster.prototype.isMarkerAlreadyAdded=function(n){if(this.markers_.indexOf)return this.markers_.indexOf(n)!=-1;for(var i=0,t;t=this.markers_[i];i++)if(t==n)return!0;return!1},Cluster.prototype.addMarker=function(n,t){return this.isMarkerAlreadyAdded(n)?!1:(this.center_||(this.center_=n.getPosition(),this.calculateBounds_()),this.markers_.length==0&&(n.setMap(this.map_),n.setVisible(!0),objMarkerCluster.showAllSymbol&&(objMarkerCluster.TempMarkers.length>0&&objMarkerCluster.TempMarkers[t].setMap(this.map_),objMarkerCluster.WindMarkers.length>0&&objMarkerCluster.WindMarkers[t].setMap(this.map_))),n.isAdded=!0,this.markers_.push(n),this.updateIcon(),!0)},Cluster.prototype.getMarkerClusterer=function(){return this.markerClusterer_},Cluster.prototype.getBounds=function(){return this.calculateBounds_(),this.bounds_},Cluster.prototype.remove=function(){this.clusterIcon_.remove(),delete this.markers_},Cluster.prototype.getCenter=function(){return this.center_},Cluster.prototype.calculateBounds_=function(){var n=new google.maps.LatLngBounds(this.center_,this.center_);this.bounds_=this.markerClusterer_.getExtendedBounds(n)},Cluster.prototype.isMarkerInClusterBounds=function(n){return this.bounds_.contains(n.getPosition())},Cluster.prototype.getMap=function(){return this.map_},Cluster.prototype.updateIcon=function(){var f=this.map_.getZoom(),u=this.markerClusterer_.getMaxZoom(),t,n,i,r;if(f>u){for(t=0;n=this.markers_[t];t++)n.setMap(this.map_),n.setVisible(!0);return}i=this.markerClusterer_.getStyles().length,r=this.markerClusterer_.getCalculator()(this.markers_,i),this.clusterIcon_.setCenter(this.center_),this.clusterIcon_.show()},ClusterIcon.prototype.triggerClusterClick=function(){var n=this.cluster_.getMarkerClusterer();google.maps.event.trigger(n,"clusterclick",[this.cluster_]),n.isZoomOnClick()&&(this.map_.panTo(this.cluster_.getCenter()),this.map_.fitBounds(this.cluster_.getBounds()))},ClusterIcon.prototype.onAdd=function(){},ClusterIcon.prototype.getPosFromLatLng_=function(n){var t=this.getProjection().fromLatLngToDivPixel(n);return t.x-=parseInt(this.width_/2,10),t.y-=parseInt(this.height_/2,10),t},ClusterIcon.prototype.draw=function(){},ClusterIcon.prototype.hide=function(){this.visible_=!1},ClusterIcon.prototype.show=function(){this.visible_=!0},ClusterIcon.prototype.remove=function(){this.setMap(null);if(objMarkerCluster.showAllSymbol)for(var n=0;n<objMarkerCluster.TempMarkers.length;++n)objMarkerCluster.TempMarkers.length>0&&objMarkerCluster.TempMarkers[n].setMap(null),objMarkerCluster.WindMarkers.length>0&&objMarkerCluster.WindMarkers[n].setMap(null)},ClusterIcon.prototype.onRemove=function(){this.div_&&this.div_.parentNode&&(this.hide(),this.div_.parentNode.removeChild(this.div_),this.div_=null)},ClusterIcon.prototype.setSums=function(){},ClusterIcon.prototype.useStyle=function(){var t=Math.max(0,this.sums_.index-1),n;t=Math.min(this.styles_.length-1,t),n=this.styles_[t],this.url_=n.url,this.height_=n.height,this.width_=n.width,this.textColor_=n.opt_textColor,this.anchor=n.opt_anchor,this.textSize_=n.opt_textSize},ClusterIcon.prototype.setCenter=function(n){this.center_=n},MarkerClusterer.prototype.onAdd=function(){this.setReady_(!0)},MarkerClusterer.prototype.idle=function(){},MarkerClusterer.prototype.draw=function(){},MarkerClusterer.prototype.setupStyles_=function(){},MarkerClusterer.prototype.setStyles=function(n){this.styles_=n},MarkerClusterer.prototype.getStyles=function(){return this.styles_},MarkerClusterer.prototype.isZoomOnClick=function(){return this.zoomOnClick_},MarkerClusterer.prototype.getMarkers=function(){return this.markers_},MarkerClusterer.prototype.getTotalMarkers=function(){return this.markers_},MarkerClusterer.prototype.setMaxZoom=function(n){this.maxZoom_=n},MarkerClusterer.prototype.getMaxZoom=function(){return this.maxZoom_||this.map_.mapTypes[this.map_.getMapTypeId()].maxZoom},MarkerClusterer.prototype.calculator_=function(n,t){var i=0,u=n.length,r=u;while(r!==0)r=parseInt(r/10,10),i++;return i=Math.min(i,t),{text:u,index:i}},MarkerClusterer.prototype.setCalculator=function(n){this.calculator_=n},MarkerClusterer.prototype.getCalculator=function(){return this.calculator_},window.MarkerClusterer=MarkerClusterer,MarkerClusterer.prototype.addMarker=MarkerClusterer.prototype.addMarker,MarkerClusterer.prototype.addMarkers=MarkerClusterer.prototype.addMarkers,MarkerClusterer.prototype.clearMarkers=MarkerClusterer.prototype.clearMarkers,MarkerClusterer.prototype.getCalculator=MarkerClusterer.prototype.getCalculator,MarkerClusterer.prototype.getGridSize=MarkerClusterer.prototype.getGridSize,MarkerClusterer.prototype.getMap=MarkerClusterer.prototype.getMap,MarkerClusterer.prototype.getMarkers=MarkerClusterer.prototype.getMarkers,MarkerClusterer.prototype.getMaxZoom=MarkerClusterer.prototype.getMaxZoom,MarkerClusterer.prototype.getStyles=MarkerClusterer.prototype.getStyles,MarkerClusterer.prototype.getTotalClusters=MarkerClusterer.prototype.getTotalClusters,MarkerClusterer.prototype.getTotalMarkers=MarkerClusterer.prototype.getTotalMarkers,MarkerClusterer.prototype.redraw=MarkerClusterer.prototype.redraw,MarkerClusterer.prototype.removeMarker=MarkerClusterer.prototype.removeMarker,MarkerClusterer.prototype.resetViewport=MarkerClusterer.prototype.resetViewport,MarkerClusterer.prototype.setCalculator=MarkerClusterer.prototype.setCalculator,MarkerClusterer.prototype.setGridSize=MarkerClusterer.prototype.setGridSize,MarkerClusterer.prototype.onAdd=MarkerClusterer.prototype.onAdd,MarkerClusterer.prototype.draw=MarkerClusterer.prototype.draw,MarkerClusterer.prototype.idle=MarkerClusterer.prototype.idle,ClusterIcon.prototype.onAdd=ClusterIcon.prototype.onAdd,ClusterIcon.prototype.draw=ClusterIcon.prototype.draw,ClusterIcon.prototype.onRemove=ClusterIcon.prototype.onRemove
